Merge pull request #3040 from xmcclure/debugger-step-recursive
authorAndi McClure <andi.mcclure@xamarin.com>
Fri, 3 Jun 2016 17:08:23 +0000 (13:08 -0400)
committerAndi McClure <andi.mcclure@xamarin.com>
Fri, 3 Jun 2016 17:08:23 +0000 (13:08 -0400)
Debugger stepping does not understand recursion (bug 38025)

699 files changed:
Makefile.am
README.md
build-libs.bat [new file with mode: 0644]
build-libs.sh [new file with mode: 0755]
configure.ac
eglib/configure.ac
eglib/src/eglib-config.h.in
eglib/src/eglib-config.hw
eglib/src/glib.h
eglib/src/gunicode.c
external/ikvm
libgc/win32_threads.c
man/mono.1
mcs/.gitignore
mcs/build/library.make
mcs/build/tests.make
mcs/class/Accessibility/Accessibility-net_4_x.csproj
mcs/class/Commons.Xml.Relaxng/Commons.Xml.Relaxng-net_4_x.csproj
mcs/class/Cscompmgd/Cscompmgd-net_4_x.csproj
mcs/class/CustomMarshalers/CustomMarshalers-net_4_x.csproj
mcs/class/Facades/Microsoft.Win32.Primitives/Facades_Microsoft.Win32.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/Facades_Microsoft.Win32.Registry.AccessControl-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/Microsoft.Win32.Registry/Facades_Microsoft.Win32.Registry-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.AppContext/Facades_System.AppContext-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Collections.Concurrent/Facades_System.Collections.Concurrent-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Collections.NonGeneric/Facades_System.Collections.NonGeneric-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Collections.Specialized/Facades_System.Collections.Specialized-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Collections/Facades_System.Collections-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ComponentModel.Annotations/Facades_System.ComponentModel.Annotations-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ComponentModel.EventBasedAsync/Facades_System.ComponentModel.EventBasedAsync-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ComponentModel.Primitives/Facades_System.ComponentModel.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ComponentModel.TypeConverter/Facades_System.ComponentModel.TypeConverter-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ComponentModel/Facades_System.ComponentModel-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Console/Facades_System.Console-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Data.Common/Facades_System.Data.Common-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Data.SqlClient/Facades_System.Data.SqlClient-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.Contracts/Facades_System.Diagnostics.Contracts-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.Debug/Facades_System.Diagnostics.Debug-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.FileVersionInfo/Facades_System.Diagnostics.FileVersionInfo-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.PerformanceCounter/Facades_System.Diagnostics.PerformanceCounter-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.Process/Facades_System.Diagnostics.Process-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.StackTrace/Facades_System.Diagnostics.StackTrace-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.TextWriterTraceListener/Facades_System.Diagnostics.TextWriterTraceListener-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.Tools/Facades_System.Diagnostics.Tools-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.TraceEvent/Facades_System.Diagnostics.TraceEvent-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.TraceSource/Facades_System.Diagnostics.TraceSource-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.Tracing/Facades_System.Diagnostics.Tracing-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Diagnostics.Tracing/TypeForwarders.cs
mcs/class/Facades/System.Dynamic.Runtime/Facades_System.Dynamic.Runtime-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Globalization.Calendars/Facades_System.Globalization.Calendars-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Globalization.Extensions/Facades_System.Globalization.Extensions-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Globalization/Facades_System.Globalization-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.Compression.ZipFile/Facades_System.IO.Compression.ZipFile-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.FileSystem.AccessControl/Facades_System.IO.FileSystem.AccessControl-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.FileSystem.DriveInfo/Facades_System.IO.FileSystem.DriveInfo-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.FileSystem.Primitives/Facades_System.IO.FileSystem.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.FileSystem.Watcher/Facades_System.IO.FileSystem.Watcher-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.FileSystem/Facades_System.IO.FileSystem-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.IsolatedStorage/Facades_System.IO.IsolatedStorage-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.MemoryMappedFiles/Facades_System.IO.MemoryMappedFiles-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.Pipes/Facades_System.IO.Pipes-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO.UnmanagedMemoryStream/Facades_System.IO.UnmanagedMemoryStream-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.IO/Facades_System.IO-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Linq.Expressions/Facades_System.Linq.Expressions-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Linq.Parallel/Facades_System.Linq.Parallel-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Linq.Queryable/Facades_System.Linq.Queryable-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Linq/Facades_System.Linq-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.AuthenticationManager/Facades_System.Net.AuthenticationManager-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Cache/Facades_System.Net.Cache-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Http.WebRequestHandler/Facades_System.Net.Http.WebRequestHandler-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.HttpListener/Facades_System.Net.HttpListener-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Mail/Facades_System.Net.Mail-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.NameResolution/Facades_System.Net.NameResolution-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.NetworkInformation/Facades_System.Net.NetworkInformation-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Primitives/Facades_System.Net.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Requests/Facades_System.Net.Requests-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Security/Facades_System.Net.Security-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.ServicePoint/Facades_System.Net.ServicePoint-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Sockets/Facades_System.Net.Sockets-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.Utilities/Facades_System.Net.Utilities-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.WebHeaderCollection/Facades_System.Net.WebHeaderCollection-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.WebSockets.Client/Facades_System.Net.WebSockets.Client-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Net.WebSockets/Facades_System.Net.WebSockets-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ObjectModel/Facades_System.ObjectModel-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Private.CoreLib.InteropServices/Facades_System.Private.CoreLib.InteropServices-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Private.CoreLib.Threading/Facades_System.Private.CoreLib.Threading-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit.ILGeneration/Facades_System.Reflection.Emit.ILGeneration-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit.Lightweight/Facades_System.Reflection.Emit.Lightweight-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Emit/Facades_System.Reflection.Emit-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Extensions/Facades_System.Reflection.Extensions-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Reflection.Primitives/Facades_System.Reflection.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Reflection.TypeExtensions/Facades_System.Reflection.TypeExtensions-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Reflection/Facades_System.Reflection-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Resources.ReaderWriter/Facades_System.Resources.ReaderWriter-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Resources.ResourceManager/Facades_System.Resources.ResourceManager-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.CompilerServices.VisualC/Facades_System.Runtime.CompilerServices.VisualC-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Extensions/Facades_System.Runtime.Extensions-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Handles/Facades_System.Runtime.Handles-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.InteropServices.WindowsRuntime/Facades_System.Runtime.InteropServices.WindowsRuntime-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.InteropServices/Facades_System.Runtime.InteropServices-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Numerics/Facades_System.Runtime.Numerics-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Serialization.Json/Facades_System.Runtime.Serialization.Json-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Serialization.Primitives/Facades_System.Runtime.Serialization.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime.Serialization.Xml/Facades_System.Runtime.Serialization.Xml-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Runtime/Facades_System.Runtime-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.AccessControl/Facades_System.Security.AccessControl-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Claims/Facades_System.Security.Claims-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.DeriveBytes/Facades_System.Security.Cryptography.DeriveBytes-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.Encoding/Facades_System.Security.Cryptography.Encoding-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.Encryption.Aes/Facades_System.Security.Cryptography.Encryption.Aes-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman/Facades_System.Security.Cryptography.Encryption.ECDiffieHellman-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.Encryption.ECDsa/Facades_System.Security.Cryptography.Encryption.ECDsa-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.Encryption/Facades_System.Security.Cryptography.Encryption-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.Hashing.Algorithms/Facades_System.Security.Cryptography.Hashing.Algorithms-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.Hashing/Facades_System.Security.Cryptography.Hashing-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.ProtectedData/Facades_System.Security.Cryptography.ProtectedData-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.RSA/Facades_System.Security.Cryptography.RSA-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.RandomNumberGenerator/Facades_System.Security.Cryptography.RandomNumberGenerator-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Cryptography.X509Certificates/Facades_System.Security.Cryptography.X509Certificates-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Principal.Windows/Facades_System.Security.Principal.Windows-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.Principal/Facades_System.Security.Principal-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Security.SecureString/Facades_System.Security.SecureString-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ServiceModel.Duplex/Facades_System.ServiceModel.Duplex-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ServiceModel.Http/Facades_System.ServiceModel.Http-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ServiceModel.NetTcp/Facades_System.ServiceModel.NetTcp-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ServiceModel.Primitives/Facades_System.ServiceModel.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ServiceModel.Security/Facades_System.ServiceModel.Security-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.ServiceProcess.ServiceController/Facades_System.ServiceProcess.ServiceController-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Text.Encoding.Extensions/Facades_System.Text.Encoding.Extensions-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Text.Encoding/Facades_System.Text.Encoding-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Text.RegularExpressions/Facades_System.Text.RegularExpressions-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading.AccessControl/Facades_System.Threading.AccessControl-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading.Overlapped/Facades_System.Threading.Overlapped-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading.Tasks.Parallel/Facades_System.Threading.Tasks.Parallel-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading.Tasks/Facades_System.Threading.Tasks-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading.Thread/Facades_System.Threading.Thread-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading.ThreadPool/Facades_System.Threading.ThreadPool-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading.Timer/Facades_System.Threading.Timer-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Threading/Facades_System.Threading-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Xml.ReaderWriter/Facades_System.Xml.ReaderWriter-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Xml.XDocument/Facades_System.Xml.XDocument-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Xml.XPath.XDocument/Facades_System.Xml.XPath.XDocument-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Xml.XPath/Facades_System.Xml.XPath-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Xml.XmlDocument/Facades_System.Xml.XmlDocument-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Xml.XmlSerializer/Facades_System.Xml.XmlSerializer-net_4_x.csproj [new file with mode: 0644]
mcs/class/Facades/System.Xml.Xsl.Primitives/Facades_System.Xml.Xsl.Primitives-net_4_x.csproj [new file with mode: 0644]
mcs/class/I18N/CJK/I18N.CJK-net_4_x.csproj
mcs/class/I18N/Common/I18N-net_4_x.csproj
mcs/class/I18N/MidEast/I18N.MidEast-net_4_x.csproj
mcs/class/I18N/Other/I18N.Other-net_4_x.csproj
mcs/class/I18N/Rare/I18N.Rare-net_4_x.csproj
mcs/class/I18N/West/I18N.West-net_4_x.csproj
mcs/class/IBM.Data.DB2/IBM.Data.DB2-net_4_x.csproj
mcs/class/ICSharpCode.SharpZipLib/ICSharpCode.SharpZipLib-net_4_x.csproj
mcs/class/Microsoft.Build.Engine/Microsoft.Build.BuildEngine/Project.cs
mcs/class/Microsoft.Build.Engine/Microsoft.Build.Engine-net_4_x.csproj
mcs/class/Microsoft.Build.Framework/Microsoft.Build.Framework-net_4_x.csproj
mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks-net_4_x.csproj
mcs/class/Microsoft.Build.Tasks/Microsoft.Build.Tasks/ResolveAssemblyReference.cs
mcs/class/Microsoft.Build.Utilities/Microsoft.Build.Utilities-net_4_x.csproj
mcs/class/Microsoft.Build/Microsoft.Build-net_4_x.csproj
mcs/class/Microsoft.CSharp/Microsoft.CSharp-net_4_x.csproj
mcs/class/Microsoft.VisualC/Microsoft.VisualC-net_4_x.csproj
mcs/class/Microsoft.Web.Infrastructure/Microsoft.Web.Infrastructure-net_4_x.csproj
mcs/class/Mono.C5/Mono.C5-net_4_x.csproj
mcs/class/Mono.CSharp/Mono.CSharp-net_4_x.csproj
mcs/class/Mono.Cairo/Mono.Cairo-net_4_x.csproj
mcs/class/Mono.Cecil.Mdb/Mono.Cecil.Mdb-net_4_x.csproj
mcs/class/Mono.Cecil/Mono.Cecil-net_4_x.csproj
mcs/class/Mono.CodeContracts/Mono.CodeContracts-net_4_x.csproj
mcs/class/Mono.CompilerServices.SymbolWriter/Mono.CompilerServices.SymbolWriter-net_4_x.csproj
mcs/class/Mono.Data.Sqlite/Makefile
mcs/class/Mono.Data.Sqlite/Mono.Data.Sqlite-net_4_x.csproj
mcs/class/Mono.Data.Sqlite/Test/SqliteDataReaderTest.cs
mcs/class/Mono.Data.Sqlite/Test/SqliteParameterUnitTests.cs
mcs/class/Mono.Data.Sqlite/monodroid_Mono.Data.Sqlite_test.dll.exclude.sources [new file with mode: 0644]
mcs/class/Mono.Data.Sqlite/monodroid_Mono.Data.Sqlite_test.dll.new-exclude.sources [new file with mode: 0644]
mcs/class/Mono.Data.Sqlite/monodroid_Mono.Data.Sqlite_test.dll.sources [new file with mode: 0644]
mcs/class/Mono.Data.Sqlite/resources/SR.resx
mcs/class/Mono.Data.Tds/Mono.Data.Tds-net_4_x.csproj
mcs/class/Mono.Debugger.Soft/Mono.Debugger.Soft-net_4_x.csproj
mcs/class/Mono.Debugger.Soft/Test/dtest.cs
mcs/class/Mono.Http/Mono.Http-net_4_x.csproj
mcs/class/Mono.Management/Mono.Management-net_4_x.csproj
mcs/class/Mono.Messaging.RabbitMQ/Mono.Messaging.RabbitMQ-net_4_x.csproj
mcs/class/Mono.Messaging/Mono.Messaging-net_4_x.csproj
mcs/class/Mono.Options/Mono.Options-net_4_x.csproj
mcs/class/Mono.Parallel/Mono.Parallel-net_4_x.csproj
mcs/class/Mono.Posix/Mono.Posix-net_4_x.csproj
mcs/class/Mono.Posix/Test/Mono.Unix/UnixEncodingTest.cs
mcs/class/Mono.Posix/monodroid_Mono.Posix_test.dll.exclude.sources [new file with mode: 0644]
mcs/class/Mono.Posix/monodroid_Mono.Posix_test.dll.new-exclude.sources [new file with mode: 0644]
mcs/class/Mono.Posix/monodroid_Mono.Posix_test.dll.sources [new file with mode: 0644]
mcs/class/Mono.Security.Providers.DotNet/Mono.Security.Providers.DotNet-net_4_x.csproj
mcs/class/Mono.Security.Providers.NewSystemSource/Mono.Security.Providers.NewSystemSource-net_4_x.csproj
mcs/class/Mono.Security.Providers.NewTls/Mono.Security.Providers.NewTls-net_4_x.csproj
mcs/class/Mono.Security.Providers.OldTls/Mono.Security.Providers.OldTls-net_4_x.csproj
mcs/class/Mono.Security.Win32/Mono.Security.Win32-net_4_x.csproj
mcs/class/Mono.Security/Mono.Security-net_4_x.csproj
mcs/class/Mono.Security/Mono.Security.Cryptography/RSAManaged.cs
mcs/class/Mono.Security/monodroid_Mono.Security_test.dll.build-failure-exclude.sources [new file with mode: 0644]
mcs/class/Mono.Security/monodroid_Mono.Security_test.dll.exclude.sources [new file with mode: 0644]
mcs/class/Mono.Security/monodroid_Mono.Security_test.dll.new-exclude.sources [new file with mode: 0644]
mcs/class/Mono.Security/monodroid_Mono.Security_test.dll.sources [new file with mode: 0644]
mcs/class/Mono.Simd/Mono.Simd-net_4_x.csproj
mcs/class/Mono.Tasklets/Mono.Tasklets-net_4_x.csproj
mcs/class/Mono.WebBrowser/Mono.WebBrowser-net_4_x.csproj
mcs/class/Mono.XBuild.Tasks/Mono.XBuild.Tasks-net_4_x.csproj
mcs/class/Novell.Directory.Ldap/Novell.Directory.Ldap-net_4_x.csproj
mcs/class/PEAPI/PEAPI-net_4_x.csproj
mcs/class/RabbitMQ.Client/src/apigen/Apigen.cs
mcs/class/RabbitMQ.Client/src/apigen/RabbitMQ.Client.Apigen-net_4_x.csproj
mcs/class/RabbitMQ.Client/src/client/RabbitMQ.Client-net_4_x.csproj
mcs/class/SMDiagnostics/SMDiagnostics-net_4_x.csproj
mcs/class/System.ComponentModel.Composition.4.5/System.ComponentModel.Composition-net_4_x.csproj
mcs/class/System.ComponentModel.DataAnnotations/System.ComponentModel.DataAnnotations-net_4_x.csproj
mcs/class/System.ComponentModel.DataAnnotations/monodroid_System.ComponentModel.DataAnnotations_test.dll.exclude.sources [new file with mode: 0644]
mcs/class/System.ComponentModel.DataAnnotations/monodroid_System.ComponentModel.DataAnnotations_test.dll.new-exclude.sources [new file with mode: 0644]
mcs/class/System.ComponentModel.DataAnnotations/monodroid_System.ComponentModel.DataAnnotations_test.dll.sources [new file with mode: 0644]
mcs/class/System.Configuration.Install/System.Configuration.Install-net_4_x.csproj
mcs/class/System.Configuration/System.Configuration-net_4_x.csproj
mcs/class/System.Core/System.Core-net_4_x.csproj
mcs/class/System.Core/System.Core-plaincore-net_4_x.csproj
mcs/class/System.Core/mobile_static_System.Core_test.dll.exclude.sources [new file with mode: 0644]
mcs/class/System.Core/mobile_static_System.Core_test.dll.excludes [deleted file]
mcs/class/System.Core/monodroid_System.Core_test.dll.exclude.sources [new file with mode: 0644]
mcs/class/System.Core/monodroid_System.Core_test.dll.new-exclude.sources [new file with mode: 0644]
mcs/class/System.Core/monodroid_System.Core_test.dll.sources [new file with mode: 0644]
mcs/class/System.Data.DataSetExtensions/System.Data.DataSetExtensions-net_4_x.csproj
mcs/class/System.Data.Entity/System.Data.Entity-net_4_x.csproj
mcs/class/System.Data.Linq/System.Data.Linq-net_4_x.csproj
mcs/class/System.Data.OracleClient/System.Data.OracleClient-net_4_x.csproj
mcs/class/System.Data.Services.Client/System.Data.Services.Client-net_4_x.csproj
mcs/class/System.Data.Services/System.Data.Services-net_4_x.csproj
mcs/class/System.Data/System.Data-net_4_x.csproj
mcs/class/System.Data/mobile_static_System.Data_test.dll.exclude.sources [new file with mode: 0644]
mcs/class/System.Data/mobile_static_System.Data_test.dll.excludes [deleted file]
mcs/class/System.Deployment/System.Deployment-net_4_x.csproj
mcs/class/System.Design/System.Design-net_4_x.csproj
mcs/class/System.Design/System.Design-plaindesign-net_4_x.csproj
mcs/class/System.DirectoryServices.Protocols/System.DirectoryServices.Protocols-net_4_x.csproj
mcs/class/System.DirectoryServices/System.DirectoryServices-net_4_x.csproj
mcs/class/System.Drawing.Design/System.Drawing.Design-net_4_x.csproj
mcs/class/System.Drawing/System.Drawing-net_4_x.csproj
mcs/class/System.Drawing/Test/System.Drawing.Imaging/PngCodecTest.cs
mcs/class/System.Dynamic/System.Dynamic-net_4_x.csproj
mcs/class/System.EnterpriseServices/System.EnterpriseServices-net_4_x.csproj
mcs/class/System.IO.Compression.FileSystem/System.IO.Compression.FileSystem-net_4_x.csproj
mcs/class/System.IO.Compression.FileSystem/Test/System.IO.Compression.FileSystem/ZipTest.cs
mcs/class/System.IO.Compression.FileSystem/ZipFileExtensions.cs
mcs/class/System.IO.Compression/SharpCompress/Archive/Zip/ZipWritableArchiveEntry.cs
mcs/class/System.IO.Compression/System.IO.Compression-net_4_x.csproj
mcs/class/System.IO.Compression/Test/System.IO.Compression/ZipTest.cs
mcs/class/System.IdentityModel.Selectors/System.IdentityModel.Selectors-net_4_x.csproj
mcs/class/System.IdentityModel/System.IdentityModel-net_4_x.csproj
mcs/class/System.Json.Microsoft/Makefile
mcs/class/System.Json.Microsoft/System.Json.Microsoft-net_4_x.csproj
mcs/class/System.Json/System.Json-net_4_x.csproj
mcs/class/System.Management/System.Management-net_4_x.csproj
mcs/class/System.Messaging/System.Messaging-net_4_x.csproj
mcs/class/System.Net.Http.Formatting/System.Net.Http.Formatting-net_4_x.csproj
mcs/class/System.Net.Http.WebRequest/System.Net.Http.WebRequest-net_4_x.csproj
mcs/class/System.Net.Http/CFNetworkHandler.cs
mcs/class/System.Net.Http/System.Net.Http-net_4_x.csproj
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/System.Net-net_4_x.csproj
mcs/class/System.Numerics.Vectors/System.Numerics.Vectors-net_4_x.csproj
mcs/class/System.Numerics/System.Numerics-net_4_x.csproj
mcs/class/System.Reactive.Core/System.Reactive.Core-net_4_x.csproj
mcs/class/System.Reactive.Debugger/System.Reactive.Debugger-net_4_x.csproj
mcs/class/System.Reactive.Experimental/System.Reactive.Experimental-net_4_x.csproj
mcs/class/System.Reactive.Interfaces/System.Reactive.Interfaces-net_4_x.csproj
mcs/class/System.Reactive.Linq/System.Reactive.Linq-net_4_x.csproj
mcs/class/System.Reactive.Observable.Aliases/System.Reactive.Observable.Aliases-net_4_x.csproj
mcs/class/System.Reactive.PlatformServices/System.Reactive.PlatformServices-net_4_x.csproj
mcs/class/System.Reactive.Providers/System.Reactive.Providers-net_4_x.csproj
mcs/class/System.Reactive.Runtime.Remoting/System.Reactive.Runtime.Remoting-net_4_x.csproj
mcs/class/System.Reactive.Windows.Forms/System.Reactive.Windows.Forms-net_4_x.csproj
mcs/class/System.Reactive.Windows.Threading/System.Reactive.Windows.Threading-net_4_x.csproj
mcs/class/System.Runtime.Caching/System.Runtime.Caching-net_4_x.csproj
mcs/class/System.Runtime.DurableInstancing/System.Runtime.DurableInstancing-net_4_x.csproj
mcs/class/System.Runtime.Remoting/System.Runtime.Remoting-net_4_x.csproj
mcs/class/System.Runtime.Serialization.Formatters.Soap/System.Runtime.Serialization.Formatters.Soap-net_4_x.csproj
mcs/class/System.Runtime.Serialization/System.Runtime.Serialization-net_4_x.csproj
mcs/class/System.Security/System.Security-net_4_x.csproj
mcs/class/System.ServiceModel.Activation/System.ServiceModel.Activation-net_4_x.csproj
mcs/class/System.ServiceModel.Discovery/System.ServiceModel.Discovery-net_4_x.csproj
mcs/class/System.ServiceModel.Internals/System.ServiceModel.Internals-net_4_x.csproj
mcs/class/System.ServiceModel.Routing/System.ServiceModel.Routing-net_4_x.csproj
mcs/class/System.ServiceModel.Web/System.ServiceModel.Web-net_4_x.csproj
mcs/class/System.ServiceModel/System.ServiceModel-net_4_x.csproj
mcs/class/System.ServiceModel/System.ServiceModel-plainservice-net_4_x.csproj
mcs/class/System.ServiceProcess/System.ServiceProcess-net_4_x.csproj
mcs/class/System.Threading.Tasks.Dataflow/System.Threading.Tasks.Dataflow-net_4_x.csproj
mcs/class/System.Transactions/System.Transactions-net_4_x.csproj
mcs/class/System.Transactions/System.Transactions.dll.sources
mcs/class/System.Transactions/System.Transactions/TransactionScope.cs
mcs/class/System.Transactions/System.Transactions/TransactionScopeAsyncFlowOption.cs [new file with mode: 0644]
mcs/class/System.Web.Abstractions/System.Web.Abstractions-net_4_x.csproj
mcs/class/System.Web.ApplicationServices/System.Web.ApplicationServices-net_4_x.csproj
mcs/class/System.Web.DynamicData/System.Web.DynamicData-net_4_x.csproj
mcs/class/System.Web.Extensions.Design/System.Web.Extensions.Design-net_4_x.csproj
mcs/class/System.Web.Extensions/System.Web.Extensions-net_4_x.csproj
mcs/class/System.Web.Http.SelfHost/System.Web.Http.SelfHost-net_4_x.csproj
mcs/class/System.Web.Http.WebHost/System.Web.Http.WebHost-net_4_x.csproj
mcs/class/System.Web.Http/System.Web.Http-net_4_x.csproj
mcs/class/System.Web.Mobile/System.Web.Mobile-net_4_x.csproj
mcs/class/System.Web.Mvc3/System.Web.Mvc3-net_4_x.csproj
mcs/class/System.Web.Razor/System.Web.Razor-net_4_x.csproj
mcs/class/System.Web.RegularExpressions/System.Web.RegularExpressions-net_4_x.csproj
mcs/class/System.Web.Routing/System.Web.Routing-net_4_x.csproj
mcs/class/System.Web.Services/System.Web.Services-net_4_x.csproj
mcs/class/System.Web.Services/mobile_static_System.Web.Services_test.dll.exclude.sources [new file with mode: 0644]
mcs/class/System.Web.Services/mobile_static_System.Web.Services_test.dll.excludes [deleted file]
mcs/class/System.Web.WebPages.Deployment/System.Web.WebPages.Deployment-net_4_x.csproj
mcs/class/System.Web.WebPages.Razor/System.Web.WebPages.Razor-net_4_x.csproj
mcs/class/System.Web.WebPages/System.Web.WebPages-net_4_x.csproj
mcs/class/System.Web/System.Web-net_4_x.csproj
mcs/class/System.Web/System.Web-plainweb-net_4_x.csproj
mcs/class/System.Web/System.Web.dll.sources
mcs/class/System.Windows.Forms.DataVisualization/System.Windows.Forms.DataVisualization-net_4_x.csproj
mcs/class/System.Windows.Forms/System.Windows.Forms-net_4_x.csproj
mcs/class/System.Windows.Forms/System.Windows.Forms/Application.cs
mcs/class/System.Windows.Forms/System.Windows.Forms/XplatUIX11.cs
mcs/class/System.Windows/System.Windows-net_4_x.csproj
mcs/class/System.Workflow.Activities/System.Workflow.Activities-net_4_x.csproj
mcs/class/System.Workflow.ComponentModel/System.Workflow.ComponentModel-net_4_x.csproj
mcs/class/System.Workflow.Runtime/System.Workflow.Runtime-net_4_x.csproj
mcs/class/System.XML/System.Xml-bare-net_4_x.csproj
mcs/class/System.XML/System.Xml-net_4_x.csproj
mcs/class/System.Xaml/System.Xaml-net_4_x.csproj
mcs/class/System.Xml.Linq/System.Xml.Linq-net_4_x.csproj
mcs/class/System.Xml.Serialization/System.Xml.Serialization-net_4_x.csproj
mcs/class/System/Makefile
mcs/class/System/ReferenceSources/AutoWebProxyScriptEngine.cs [new file with mode: 0644]
mcs/class/System/ReferenceSources/Logging.cs
mcs/class/System/ReferenceSources/NativeMethods.cs
mcs/class/System/ReferenceSources/RequestCacheProtocol.cs [new file with mode: 0644]
mcs/class/System/ReferenceSources/SR2.cs
mcs/class/System/ReferenceSources/SettingsSectionInternal.cs
mcs/class/System/ReferenceSources/SystemNetworkCredential.cs [deleted file]
mcs/class/System/System-bare-net_4_x.csproj
mcs/class/System/System-net_4_x.csproj
mcs/class/System/System-secxml-net_4_x.csproj
mcs/class/System/System.Net.Configuration/WebRequestModuleHandler.cs
mcs/class/System/System.Net.NetworkInformation/Win32NetworkInterfaceMarshal.cs
mcs/class/System/System.Net.Security/EncryptionPolicy.cs
mcs/class/System/System.Net.Sockets/Socket.cs
mcs/class/System/System.Net/CredentialCache.cs [deleted file]
mcs/class/System/System.Net/EndPointListener.cs
mcs/class/System/System.Net/GlobalProxySelection.cs [deleted file]
mcs/class/System/System.Net/HttpWebRequest.cs
mcs/class/System/System.Net/ServicePoint.cs
mcs/class/System/System.Net/ServicePointManager.cs
mcs/class/System/System.Net/ServicePointManager.extra.cs
mcs/class/System/System.Net/WebProxy.cs [deleted file]
mcs/class/System/System.Net/WebRequest.cs [deleted file]
mcs/class/System/System.Security.AccessControl/SemaphoreSecurity.cs
mcs/class/System/System.Threading/Semaphore.cs [deleted file]
mcs/class/System/System.dll.sources
mcs/class/System/Test/System.Net.Sockets/SocketTest.cs
mcs/class/System/Test/System.Net/WebProxyTest.cs
mcs/class/System/Test/System.Threading/SemaphoreTest.cs
mcs/class/System/mobile_System.dll.sources
mcs/class/System/mobile_static_System_test.dll.exclude.sources [new file with mode: 0644]
mcs/class/System/mobile_static_System_test.dll.excludes [deleted file]
mcs/class/System/monodroid_System_test.dll.exclude.sources [new file with mode: 0644]
mcs/class/System/monodroid_System_test.dll.new-exclude.sources [new file with mode: 0644]
mcs/class/System/monodroid_System_test.dll.sources [new file with mode: 0644]
mcs/class/SystemWebTestShim/SystemWebTestShim-net_4_x.csproj
mcs/class/WebMatrix.Data/WebMatrix.Data-net_4_x.csproj
mcs/class/WindowsBase/Makefile
mcs/class/WindowsBase/System.IO.Packaging/Package.cs
mcs/class/WindowsBase/System.IO.Packaging/ZipPackage.cs
mcs/class/WindowsBase/Test/System.IO.Packaging/PackageRelationshipTests.cs
mcs/class/WindowsBase/Test/System.IO.Packaging/PackageTest.cs
mcs/class/WindowsBase/WindowsBase-net_4_x.csproj
mcs/class/WindowsBase/ZipSharp/ZipFileInfo.cs
mcs/class/WindowsBase/ZipSharp/ZipTime.cs
mcs/class/corlib/ReferenceSources/RuntimeType.cs
mcs/class/corlib/System.Reflection/MonoAssembly.cs
mcs/class/corlib/System.Reflection/MonoMethod.cs
mcs/class/corlib/System.Runtime.InteropServices/ArrayWithOffset.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/AssemblyRegistrationFlags.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/BStrWrapper.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/COMException.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/CallingConvention.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/CharSet.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/ComMemberType.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/CriticalHandle.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/CurrencyWrapper.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/DispatchWrapper.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/ErrorWrapper.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/ExternalException.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/HandleRef.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/ICustomAdapter.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/ICustomFactory.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/ICustomMarshaler.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/IRegistrationServices.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/InvalidComObjectException.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/InvalidOleVariantTypeException.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/LayoutKind.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/Marshal.cs
mcs/class/corlib/System.Runtime.InteropServices/MarshalDirectiveException.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/ObjectCreationDelegate.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/SEHException.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/SafeArrayRankMismatchException.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/SafeArrayTypeMismatchException.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/SafeHandle.cs
mcs/class/corlib/System.Runtime.InteropServices/UnknownWrapper.cs [deleted file]
mcs/class/corlib/System.Runtime.InteropServices/VariantWrapper.cs [deleted file]
mcs/class/corlib/System.Runtime.Remoting/RemotingServices.cs
mcs/class/corlib/System.Security/CodeAccessPermission.cs
mcs/class/corlib/System.Security/PermissionSet.cs
mcs/class/corlib/System/Environment.cs
mcs/class/corlib/System/MonoCustomAttrs.cs
mcs/class/corlib/System/MonoType.cs
mcs/class/corlib/System/RuntimeTypeHandle.cs
mcs/class/corlib/Test/System.Security/CodeAccessPermissionTest.cs
mcs/class/corlib/Test/System.Threading/ExecutionContextCas.cs
mcs/class/corlib/Test/System.Threading/ThreadTest.cs
mcs/class/corlib/corlib-net_4_x.csproj
mcs/class/corlib/corlib.dll.sources
mcs/class/corlib/corlib_cmp.dll.excludes [deleted file]
mcs/class/corlib/mobile_static_corlib_test.dll.exclude.sources [new file with mode: 0644]
mcs/class/corlib/mobile_static_corlib_test.dll.excludes [deleted file]
mcs/class/corlib/monodroid_corlib_test.dll.exclude.sources [new file with mode: 0644]
mcs/class/corlib/monodroid_corlib_test.dll.new-exclude.sources [new file with mode: 0644]
mcs/class/corlib/monodroid_corlib_test.dll.sources [new file with mode: 0644]
mcs/class/monodoc/monodoc-net_4_x.csproj
mcs/class/referencesource/System/compmod/system/componentmodel/design/DesigntimeLicenseContext.cs
mcs/class/referencesource/System/net/System/Net/Cache/RequestCacheManager.cs
mcs/class/referencesource/System/net/System/Net/Configuration/DefaultProxySection.cs
mcs/class/referencesource/System/net/System/Net/CredentialCache.cs
mcs/class/referencesource/System/net/System/Net/Internal.cs
mcs/class/referencesource/System/net/System/Net/NetworkInformation/NetworkInterface.cs
mcs/class/referencesource/System/net/System/Net/ServicePoint.cs
mcs/class/referencesource/System/net/System/Net/WebRequest.cs
mcs/class/referencesource/System/net/System/Net/_Semaphore.cs
mcs/class/referencesource/System/net/System/Net/_TimerThread.cs
mcs/class/referencesource/System/net/System/Net/webproxy.cs
mcs/class/referencesource/System/regex/system/text/regularexpressions/RegexCompiler.cs
mcs/class/referencesource/System/sys/system/IO/ports/InternalResources.cs
mcs/class/referencesource/System/sys/system/threading/semaphore.cs
mcs/class/referencesource/mscorlib/system/exception.cs
mcs/class/referencesource/mscorlib/system/rttype.cs
mcs/class/referencesource/mscorlib/system/runtime/interopservices/arraywithoffset.cs
mcs/class/referencesource/mscorlib/system/runtime/interopservices/criticalhandle.cs
mcs/class/referencesource/mscorlib/system/runtime/interopservices/dispatchwrapper.cs
mcs/class/referencesource/mscorlib/system/runtime/interopservices/errorwrapper.cs
mcs/class/referencesource/mscorlib/system/runtime/interopservices/safehandle.cs
mcs/ilasm/ilasm-net_4_x.csproj [new file with mode: 0644]
mcs/mcs/class.cs
mcs/mcs/cs-tokenizer.cs
mcs/mcs/ecore.cs
mcs/mcs/ikvm.cs
mcs/mcs/mcs-net_4_5.csproj [deleted file]
mcs/mcs/mcs-net_4_x.csproj
mcs/nunit24/ClientUtilities/util/nunit.util-net_4_x.csproj [new file with mode: 0644]
mcs/nunit24/ConsoleRunner/nunit-console-exe/nunit-console-net_4_x.csproj [new file with mode: 0644]
mcs/nunit24/ConsoleRunner/nunit-console/nunit-console-runner-net_4_x.csproj [new file with mode: 0644]
mcs/nunit24/NUnitCore/core/Makefile
mcs/nunit24/NUnitCore/core/nunit.core-net_4_x.csproj [new file with mode: 0644]
mcs/nunit24/NUnitCore/interfaces/nunit.core.interfaces-net_4_x.csproj [new file with mode: 0644]
mcs/nunit24/NUnitExtensions/core/nunit.core.extensions-net_4_x.csproj [new file with mode: 0644]
mcs/nunit24/NUnitExtensions/framework/nunit.framework.extensions-net_4_x.csproj [new file with mode: 0644]
mcs/nunit24/NUnitFramework/framework/Makefile
mcs/nunit24/NUnitFramework/framework/NUnit.Framework-net_4_x.csproj [new file with mode: 0644]
mcs/nunit24/NUnitMocks/mocks/nunit.mocks-net_4_x.csproj [new file with mode: 0644]
mcs/tests/test-935.cs [new file with mode: 0644]
mcs/tests/test-debug-30-ref.xml [new file with mode: 0644]
mcs/tests/test-debug-30.cs [new file with mode: 0644]
mcs/tests/ver-il-net_4_x.xml
mcs/tools/al/al-net_4_x.csproj [new file with mode: 0644]
mcs/tools/browsercaps-updater/browsercaps-updater-net_4_x.csproj [new file with mode: 0644]
mcs/tools/cccheck/cccheck-net_4_x.csproj [new file with mode: 0644]
mcs/tools/ccrewrite/ccrewrite-net_4_x.csproj [new file with mode: 0644]
mcs/tools/cil-stringreplacer/cil-stringreplacer-net_4_x.csproj [new file with mode: 0644]
mcs/tools/cil-strip/mono-cil-strip-net_4_x.csproj [new file with mode: 0644]
mcs/tools/commoncryptogenerator/commoncryptogenerator-net_4_x.csproj [new file with mode: 0644]
mcs/tools/compiler-tester/compiler-tester-net_4_x.csproj [new file with mode: 0644]
mcs/tools/corcompare/mono-api-info-net_4_x.csproj [new file with mode: 0644]
mcs/tools/corcompare/mono-api-info.cs
mcs/tools/csharp/csharp-net_4_x.csproj [new file with mode: 0644]
mcs/tools/culevel/culevel-net_4_x.csproj [new file with mode: 0644]
mcs/tools/disco/disco-net_4_x.csproj [new file with mode: 0644]
mcs/tools/dtd2rng/dtd2rng-net_4_x.csproj [new file with mode: 0644]
mcs/tools/dtd2xsd/dtd2xsd-net_4_x.csproj [new file with mode: 0644]
mcs/tools/gacutil/gacutil-net_4_x.csproj [new file with mode: 0644]
mcs/tools/genxs/genxs-net_4_x.csproj [new file with mode: 0644]
mcs/tools/ictool/ictool-net_4_x.csproj [new file with mode: 0644]
mcs/tools/ikdasm/ikdasm-net_4_x.csproj [new file with mode: 0644]
mcs/tools/installutil/installutil-net_4_x.csproj [new file with mode: 0644]
mcs/tools/installvst/installvst-net_4_x.csproj [new file with mode: 0644]
mcs/tools/lc/lc-net_4_x.csproj [new file with mode: 0644]
mcs/tools/linker-analyzer/linkeranalyzer-net_4_x.csproj [new file with mode: 0644]
mcs/tools/linker/monolinker-net_4_x.csproj [new file with mode: 0644]
mcs/tools/macpack/macpack-net_4_x.csproj [new file with mode: 0644]
mcs/tools/mconfig/Makefile
mcs/tools/mconfig/Mono.MonoConfig/consts.cs.in [deleted file]
mcs/tools/mconfig/mconfig-net_4_x.csproj [new file with mode: 0644]
mcs/tools/mconfig/mconfig.cs
mcs/tools/mdbrebase/Makefile
mcs/tools/mdbrebase/mdbrebase-net_4_x.csproj [new file with mode: 0644]
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-classic-v1/MyFramework.MyNamespace/MyClass.xml
mcs/tools/mdoc/Test/en.expected-dropns-classic-v1/MyFramework.MyNamespace/MyClassExtensions.xml [new file with mode: 0644]
mcs/tools/mdoc/Test/en.expected-dropns-classic-v1/index.xml
mcs/tools/mdoc/Test/en.expected-dropns-classic-withsecondary/MyFramework.MyNamespace/MyClass.xml
mcs/tools/mdoc/Test/en.expected-dropns-classic-withsecondary/MyFramework.MyNamespace/MyClassExtensions.xml [new file with mode: 0644]
mcs/tools/mdoc/Test/en.expected-dropns-classic-withsecondary/MyFramework.MyOtherNamespace/MyOtherClass.xml
mcs/tools/mdoc/Test/en.expected-dropns-classic-withsecondary/index.xml
mcs/tools/mdoc/Test/en.expected-dropns-delete/MyFramework.MyNamespace/MyClass.xml
mcs/tools/mdoc/Test/en.expected-dropns-delete/MyFramework.MyNamespace/MyClassExtensions.xml [new file with mode: 0644]
mcs/tools/mdoc/Test/en.expected-dropns-delete/MyFramework.MyNamespace/TypeOnlyInClassic.xml
mcs/tools/mdoc/Test/en.expected-dropns-delete/MyFramework.MyNamespace/WillDelete.xml.remove
mcs/tools/mdoc/Test/en.expected-dropns-delete/index.xml
mcs/tools/mdoc/Test/en.expected-dropns-multi-withexisting/MyFramework.MyNamespace/MyClass.xml
mcs/tools/mdoc/Test/en.expected-dropns-multi-withexisting/MyFramework.MyNamespace/MyClassExtensions.xml [new file with mode: 0644]
mcs/tools/mdoc/Test/en.expected-dropns-multi-withexisting/index.xml
mcs/tools/mdoc/Test/en.expected-dropns-multi/MyFramework.MyNamespace/MyClassExtensions.xml [new file with mode: 0644]
mcs/tools/mdoc/Test/en.expected-dropns-multi/index.xml
mcs/tools/mdoc/mdoc-net_4_x.csproj [new file with mode: 0644]
mcs/tools/mkbundle/mkbundle-net_4_x.csproj [new file with mode: 0644]
mcs/tools/mod/mod-net_4_x.csproj [new file with mode: 0644]
mcs/tools/mono-api-html/mono-api-html-net_4_x.csproj [new file with mode: 0644]
mcs/tools/mono-configuration-crypto/cli/mono-configuration-crypto-net_4_x.csproj [new file with mode: 0644]
mcs/tools/mono-configuration-crypto/lib/Assembly/AssemblyInfo.cs
mcs/tools/mono-configuration-crypto/lib/Makefile
mcs/tools/mono-configuration-crypto/lib/Mono.Configuration.Crypto-net_4_x.csproj [new file with mode: 0644]
mcs/tools/mono-service/mono-service-net_4_x.csproj [new file with mode: 0644]
mcs/tools/mono-shlib-cop/mono-shlib-cop-net_4_x.csproj [new file with mode: 0644]
mcs/tools/mono-symbolicate/mono-symbolicate-net_4_x.csproj [new file with mode: 0644]
mcs/tools/mono-xmltool/mono-xmltool-net_4_x.csproj [new file with mode: 0644]
mcs/tools/mono-xsd/xsd-net_4_x.csproj [new file with mode: 0644]
mcs/tools/monop/monop-net_4_x.csproj [new file with mode: 0644]
mcs/tools/nunitreport/nunitreport-net_4_x.csproj [new file with mode: 0644]
mcs/tools/pdb2mdb/pdb2mdb-net_4_x.csproj [new file with mode: 0644]
mcs/tools/resgen/resgen-net_4_x.csproj [new file with mode: 0644]
mcs/tools/sgen/sgen-net_4_x.csproj [new file with mode: 0644]
mcs/tools/soapsuds/soapsuds-net_4_x.csproj [new file with mode: 0644]
mcs/tools/sqlmetal/sqlmetal-net_4_x.csproj [new file with mode: 0644]
mcs/tools/sqlsharp/sqlsharp-net_4_x.csproj [new file with mode: 0644]
mcs/tools/svcutil/svcutil-net_4_x.csproj [new file with mode: 0644]
mcs/tools/tuner/Mono.Tuner-net_4_x.csproj [new file with mode: 0644]
mcs/tools/wsdl/wsdl-net_4_x.csproj [new file with mode: 0644]
mcs/tools/xbuild/data/14.0/Microsoft.Common.targets
mcs/tools/xbuild/data/14.0/Microsoft.Common.tasks
mono/cil/cil-opcodes.xml
mono/cil/opcode.def
mono/metadata/Makefile.am
mono/metadata/appdomain.c
mono/metadata/assembly.c
mono/metadata/boehm-gc.c
mono/metadata/class-internals.h
mono/metadata/cominterop.c
mono/metadata/console-unix.c
mono/metadata/debug-helpers.c
mono/metadata/domain.c
mono/metadata/file-io.c
mono/metadata/file-io.h
mono/metadata/file-mmap-posix.c
mono/metadata/filewatcher.c
mono/metadata/gc-internals.h
mono/metadata/gc.c
mono/metadata/icall-def.h
mono/metadata/icall.c
mono/metadata/image.c
mono/metadata/locales.c
mono/metadata/marshal.c
mono/metadata/marshal.h
mono/metadata/metadata-internals.h
mono/metadata/metadata.c
mono/metadata/metadata.h
mono/metadata/monitor.c
mono/metadata/mono-hash.c
mono/metadata/mono-perfcounters.c
mono/metadata/mono-route.c
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/reflection.c
mono/metadata/remoting.c
mono/metadata/runtime.c
mono/metadata/security-core-clr.c
mono/metadata/sgen-client-mono.h
mono/metadata/sgen-mono.c
mono/metadata/sgen-stw.c
mono/metadata/socket-io.c
mono/metadata/threadpool-ms-io.c
mono/metadata/threadpool-ms.c
mono/metadata/threadpool-ms.h
mono/metadata/threads-types.h
mono/metadata/threads.c
mono/metadata/threads.h
mono/mini/Makefile.am.in
mono/mini/aot-compiler.c
mono/mini/aot-runtime.c
mono/mini/aot-tests.cs
mono/mini/cfgdump.c
mono/mini/cpu-amd64.md
mono/mini/debugger-agent.c
mono/mini/driver.c
mono/mini/ir-emit.h
mono/mini/jit-icalls.c
mono/mini/jit-icalls.h
mono/mini/jit.h
mono/mini/local-propagation.c
mono/mini/main.c
mono/mini/method-to-ir.c
mono/mini/mini-amd64-gsharedvt.c
mono/mini/mini-amd64-gsharedvt.h
mono/mini/mini-amd64.c
mono/mini/mini-amd64.h
mono/mini/mini-arm.c
mono/mini/mini-arm.h
mono/mini/mini-codegen.c
mono/mini/mini-exceptions.c
mono/mini/mini-generic-sharing.c
mono/mini/mini-ia64.c
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-runtime.c
mono/mini/mini-s390x.c
mono/mini/mini-sparc.c
mono/mini/mini-trampolines.c
mono/mini/mini-windows.c
mono/mini/mini.c
mono/mini/mini.h
mono/mini/trace.c
mono/mini/tramp-amd64-gsharedvt.c
mono/mini/tramp-amd64.c
mono/profiler/Makefile.am
mono/profiler/mono-profiler-iomap.c
mono/profiler/proflog.c
mono/sgen/sgen-alloc.c
mono/sgen/sgen-cardtable.c
mono/sgen/sgen-client.h
mono/sgen/sgen-debug.c
mono/sgen/sgen-gc.c
mono/sgen/sgen-gc.h
mono/sgen/sgen-los.c
mono/sgen/sgen-marksweep-drain-gray-stack.h
mono/sgen/sgen-marksweep.c
mono/sgen/sgen-memory-governor.c
mono/sgen/sgen-memory-governor.h
mono/sgen/sgen-pinning-stats.c
mono/sgen/sgen-pinning.c
mono/sgen/sgen-protocol-def.h
mono/sgen/sgen-protocol.c
mono/sgen/sgen-simple-nursery.c
mono/sgen/sgen-split-nursery.c
mono/tests/libtest.c
mono/utils/checked-build.c
mono/utils/checked-build.h
mono/utils/mono-coop-mutex.h
mono/utils/mono-coop-semaphore.h
mono/utils/mono-error.c
mono/utils/mono-error.h
mono/utils/mono-io-portability.c
mono/utils/mono-threads-api.h
mono/utils/mono-threads-coop.c
mono/utils/mono-threads-coop.h
mono/utils/mono-threads-state-machine.c
mono/utils/mono-threads.c
mono/utils/mono-threads.h
mono/utils/mono-tls.h
msvc/mono.def
msvc/monosgen.def
msvc/scripts/Commons.Xml.Relaxng.pre [new file with mode: 0644]
msvc/scripts/Microsoft.Build.pre [new file with mode: 0644]
msvc/scripts/RabbitMQ.Client.Apigen.post [new file with mode: 0644]
msvc/scripts/System.ComponentModel.Composition.pre [new file with mode: 0644]
msvc/scripts/System.Data.Services.Client.pre [new file with mode: 0644]
msvc/scripts/System.Json.Microsoft.pre [new file with mode: 0644]
msvc/scripts/System.Net.Http.Formatting.pre [new file with mode: 0644]
msvc/scripts/System.Web.Razor.pre [new file with mode: 0644]
msvc/scripts/System.Web.pre [new file with mode: 0644]
msvc/scripts/TODO.md [new file with mode: 0644]
msvc/scripts/csproj.tmpl
msvc/scripts/genproj.cs
msvc/scripts/ilasm.pre [new file with mode: 0644]
msvc/scripts/mcs.pre
msvc/scripts/monodoc.pre [new file with mode: 0644]
msvc/scripts/order.xml
msvc/scripts/prepare.cs
net_4_x.sln
scripts/ci/run-jenkins.sh
tools/offsets-tool/Makefile

index e2e1dfefa46338710c852617b3d1ae688d31a13a..5afacfa7fcc0ddbba6dd7cd91bf7df6f5f9a475c 100644 (file)
@@ -32,7 +32,8 @@ EXTRA_DIST= \
        mono-uninstalled.pc.in  \
        winconfig.h             \
        code_of_conduct.md      \
-       external
+       external                \
+       mcs/class/referencesource
 
 DISTCHECK_CONFIGURE_FLAGS = EXTERNAL_MCS=false EXTERNAL_RUNTIME=false
 
index 52580fdb4232acb157abd620aa3945e85829747e..2b583e599be14ae9ab3139c7a11d55e7a1ab574a 100644 (file)
--- a/README.md
+++ b/README.md
@@ -19,28 +19,30 @@ The Mono project is part of the [.NET Foundation](http://www.dotnetfoundation.or
 
 Officially supported architectures:
 
-| debian-amd64            | debian-i386            | debian-armel            | debian-armhf            | windows-amd64             |
-|-------------------------|------------------------|-------------------------|-------------------------|---------------------------|
-| [![debian-amd64][1]][2] | [![debian-i386][3]][4] | [![debian-armel][5]][6] | [![debian-armhf][7]][8] | [![windows-amd64][9]][10] |
+| ubuntu-1404-amd64            | ubuntu-1404-i386            | debian-8-armel            | debian-8-armhf            | debian-8-arm64              | windows-amd64              |
+|------------------------------|-----------------------------|---------------------------|---------------------------|-----------------------------|----------------------------|
+| [![ubuntu-1404-amd64][1]][2] | [![ubuntu-1404-i386][3]][4] | [![debian-8-armel][5]][6] | [![debian-8-armhf][7]][8] | [![debian-8-arm64][9]][10]  | [![windows-amd64][11]][12] |
 
 Community supported architectures:
 
 | centos-s390x              |
 |---------------------------|
-| [![centos-s390x][11]][12] |
-
-[1]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-amd64/badge/icon
-[2]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-amd64/
-[3]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-i386/badge/icon
-[4]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-i386/
-[5]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-armel/badge/icon
-[6]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-armel/
-[7]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-armhf/badge/icon
-[8]: http://jenkins.mono-project.com/job/test-mono-mainline/label=debian-armhf/
-[9]: https://ci.appveyor.com/api/projects/status/1e61ebdfpbiei58v/branch/master?svg=true
-[10]: https://ci.appveyor.com/project/ajlennon/mono-817/branch/master
-[11]: https://jenkins.mono-project.com/job/z/label=centos-s390x/badge/icon
-[12]: https://jenkins.mono-project.com/job/z/label=centos-s390x
+| [![centos-s390x][13]][14] |
+
+[1]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=ubuntu-1404-amd64/badge/icon
+[2]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=ubuntu-1404-amd64
+[3]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=ubuntu-1404-i386/badge/icon
+[4]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=ubuntu-1404-i386/
+[5]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=debian-8-armel/badge/icon
+[6]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=debian-8-armel/
+[7]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=debian-8-armhf/badge/icon
+[8]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=debian-8-armhf/
+[9]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=debian-8-arm64/badge/icon
+[10]: https://jenkins.mono-project.com/job/test-mono-mainline-linux/label=debian-8-arm64/
+[11]: https://ci.appveyor.com/api/projects/status/1e61ebdfpbiei58v/branch/master?svg=true
+[12]: https://ci.appveyor.com/project/ajlennon/mono-817/branch/master
+[13]: https://jenkins.mono-project.com/job/z/label=centos-s390x/badge/icon
+[14]: https://jenkins.mono-project.com/job/z/label=centos-s390x
 
 Compilation and Installation
 ============================
diff --git a/build-libs.bat b/build-libs.bat
new file mode 100644 (file)
index 0000000..342a6b8
--- /dev/null
@@ -0,0 +1,7 @@
+@echo off
+cd mcs\jay
+vcbuild jay.vcxproj
+cd msvc\scripts
+csc prepare.cs
+prepare.exe ..\..\mcs core
+msbuild net_4_x.sln
diff --git a/build-libs.sh b/build-libs.sh
new file mode 100755 (executable)
index 0000000..f7583ab
--- /dev/null
@@ -0,0 +1,4 @@
+#!/bin/sh
+(cd mcs/jay; make)
+(cd msvc/scripts/; make prepare.exe; mono prepare.exe ../../mcs core)
+msbuild net_4_x.sln
index 59107bef5755e06e5703d90ef0992c1b5ed6011f..523390309a0fa3ad80bbd27f63c29f9239709f61 100644 (file)
@@ -1,7 +1,8 @@
 # Process this file with autoconf to produce a configure script.
 #AC_PREREQ([2.62])
 
-AC_INIT(mono, [4.5.1],
+# when bumping version number below, keep it in sync with man/mono.1 too
+AC_INIT(mono, [4.5.2],
         [http://bugzilla.xamarin.com/enter_bug.cgi?classification=Mono])
 
 AC_CONFIG_SRCDIR([README.md])
@@ -2906,6 +2907,7 @@ case "$host" in
                TARGET=ARM64
                arch_target=arm64
                boehm_supported=false
+               AOT_SUPPORTED="yes"
                ;;
        s390x-*-linux*)
                TARGET=S390X;
index 2197c6f9c96605404f19ee9bc6b0b038f94986fb..7622701ef455e81d8ce977db10503d84da267ba9 100644 (file)
@@ -181,7 +181,7 @@ if test "x$have_iso_varargs" = "xyes"; then
 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_HEADERS(getopt.h sys/select.h sys/time.h sys/wait.h pwd.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)
@@ -193,10 +193,6 @@ if test $ac_cv_sizeof_void_p = $ac_cv_sizeof_int; then
    GUINT_TO_POINTER="((gpointer) (v))"
    GSIZE="int"
    GSIZE_FORMAT='"u"'
-   G_GUINT64_FORMAT='"llu"'
-   G_GINT64_FORMAT='"lld"'
-   G_GUINT32_FORMAT='"lu"'
-   G_GINT32_FORMAT='"ld"'
 elif test $ac_cv_sizeof_void_p = $ac_cv_sizeof_long; then
    GPOINTER_TO_INT="((gint)(long) (ptr))"
    GPOINTER_TO_UINT="((guint)(long) (ptr))"
@@ -204,10 +200,6 @@ elif test $ac_cv_sizeof_void_p = $ac_cv_sizeof_long; then
    GUINT_TO_POINTER="((gpointer)(gulong) (v))"
    GSIZE="long"
    GSIZE_FORMAT='"lu"'
-   G_GUINT64_FORMAT='"lu"'
-   G_GINT64_FORMAT='"ld"'
-   G_GUINT32_FORMAT='"u"'
-   G_GINT32_FORMAT='"d"'
 elif test $ac_cv_sizeof_void_p = $ac_cv_sizeof_long_long; then
    GPOINTER_TO_INT="((gint)(long long) (ptr))"
    GPOINTER_TO_UINT="((guint)(unsigned long long) (ptr))"
@@ -215,10 +207,6 @@ elif test $ac_cv_sizeof_void_p = $ac_cv_sizeof_long_long; then
    GUINT_TO_POINTER="((gpointer)(unsigned long long) (v))"
    GSIZE="long long"
    GSIZE_FORMAT='"I64u"'
-   G_GUINT64_FORMAT='"I64u"'
-   G_GINT64_FORMAT='"I64i"'
-   G_GUINT32_FORMAT='"I32u"'
-   G_GINT32_FORMAT='"I32i"'
 else
    AC_MSG_ERROR([unsupported pointer size])
 fi
index 8f5a245cfebac07514f809750e28dd8210685183..ae7b6d45337183fb48d52b2593f26b7d0c0de28f 100644 (file)
@@ -27,10 +27,6 @@ typedef unsigned @GSIZE@ gsize;
 typedef signed   @GSIZE@ gssize;
 
 #define G_GSIZE_FORMAT   @GSIZE_FORMAT@
-#define G_GUINT64_FORMAT @G_GUINT64_FORMAT@
-#define G_GINT64_FORMAT @G_GINT64_FORMAT@
-#define G_GUINT32_FORMAT @G_GUINT32_FORMAT@
-#define G_GINT32_FORMAT @G_GINT32_FORMAT@
 
 #if @G_HAVE_ISO_VARARGS@ == 1
 #define G_HAVE_ISO_VARARGS
index 192d39367b60c1a7c2433fb19b5f095c6fcb1881..cc7bd44a8ca25c8938a2d7a28b7335a24c5fda72 100644 (file)
@@ -26,27 +26,14 @@ typedef int pid_t;
 #define G_SEARCHPATH_SEPARATOR_S ";"
 #define G_SEARCHPATH_SEPARATOR   ';'
 #define G_GSIZE_FORMAT   "d"
-#define G_GUINT64_FORMAT "d"
-#define G_GINT64_FORMAT "d"
 #define GPOINTER_TO_INT(ptr)   ((gint)(intptr_t) (ptr))
 #define GPOINTER_TO_UINT(ptr)  ((guint)(intptr_t) (ptr))
 #define GINT_TO_POINTER(v)     ((gpointer)(intptr_t) (v))
 #define GUINT_TO_POINTER(v)    ((gpointer)(intptr_t) (v))
 
-/* VS 2010 and later have stdint.h */
-#if defined(_MSC_VER) && _MSC_VER < 1600
-#define INT32_MAX 2147483647
-#define INT32_MIN (~ INT32_MAX)
-#define INT64_MAX 9223372036854775807i64
-#define INT64_MIN (~INT64_MAX)
-#define UINT32_MAX 0xffffffffU
-#define UINT64_MAX 0xffffffffffffffffULL
-#endif
-
 #define STDOUT_FILENO (int)(intptr_t)stdout
 #define STDERR_FILENO (int)(intptr_t)stderr
 
-
 /* FIXME: what should this be ?*/
 #define X_OK 4 /* This is really read */
 #define WNOHANG 1
index f5473bd2a5c0ee172cffe5de50d491768dfaa498..72770b2f44fab3fae7b0a5312b83d802df98524e 100644 (file)
 #pragma include_alias(<eglib-config.h>, <eglib-config.hw>)
 #endif
 
-/* VS 2010 and later have stdint.h */
-#if defined(_MSC_VER) && _MSC_VER < 1600
-#else
 #include <stdint.h>
-#endif
 
 #include <eglib-config.h>
 #ifndef EGLIB_NO_REMAP
@@ -63,21 +59,6 @@ typedef const void *   gconstpointer;
 typedef char           gchar;
 typedef unsigned char  guchar;
 
-#if !G_TYPES_DEFINED
-/* VS 2010 and later have stdint.h */
-#if defined(_MSC_VER) && _MSC_VER < 1600
-typedef __int8                 gint8;
-typedef unsigned __int8                guint8;
-typedef __int16                        gint16;
-typedef unsigned __int16       guint16;
-typedef __int32                        gint32;
-typedef unsigned __int32       guint32;
-typedef __int64                        gint64;
-typedef unsigned __int64       guint64;
-typedef float                  gfloat;
-typedef double                 gdouble;
-typedef int                    gboolean;
-#else
 /* Types defined in terms of the stdint.h */
 typedef int8_t         gint8;
 typedef uint8_t        guint8;
@@ -90,8 +71,6 @@ typedef uint64_t       guint64;
 typedef float          gfloat;
 typedef double         gdouble;
 typedef int32_t        gboolean;
-#endif
-#endif
 
 typedef guint16 gunichar2;
 typedef guint32 gunichar;
@@ -135,6 +114,11 @@ typedef guint32 gunichar;
 
 #define G_CONST_RETURN const
 
+#define G_GUINT64_FORMAT PRIu64
+#define G_GINT64_FORMAT PRIi64
+#define G_GUINT32_FORMAT PRIu32
+#define G_GINT32_FORMAT PRIi32
+
 /*
  * Allocation
  */
index e6f4b925b61c0eeb2b063a5c686ca7941fd0d0d5..36d6d4acfb76ad52a1bca0da47bbcd6def49b9cd 100644 (file)
@@ -44,9 +44,6 @@
 #  define CODESET 1
 #  include <windows.h>
 #else
-#    ifdef HAVE_LANGINFO_H
-#       include <langinfo.h>
-#    endif
 #    ifdef HAVE_LOCALCHARSET_H
 #       include <localcharset.h>
 #    endif
@@ -219,9 +216,7 @@ g_get_charset (G_CONST_RETURN char **charset)
                is_utf8 = FALSE;
 #else
                /* These shouldn't be heap allocated */
-#if defined(HAVE_LANGINFO_H)
-               my_charset = nl_langinfo (CODESET);
-#elif defined(HAVE_LOCALCHARSET_H)
+#if defined(HAVE_LOCALCHARSET_H)
                my_charset = locale_charset ();
 #else
                my_charset = "UTF-8";
index 00252c18fc0a4a206e45461736a890acb785a9d8..163b37483c08b5310c4e3d4c2e22a1ed59b1e6e0 160000 (submodule)
@@ -1 +1 @@
-Subproject commit 00252c18fc0a4a206e45461736a890acb785a9d8
+Subproject commit 163b37483c08b5310c4e3d4c2e22a1ed59b1e6e0
index 16a6fb6d003a0bdd7091fe7001b114482fdb826a..5533b8f2e252bf750dba873d24aeecf78b79facd 100644 (file)
@@ -184,7 +184,7 @@ static GC_thread GC_new_thread(void) {
 #ifdef __GNUC__
 __inline__
 #endif
-LONG GC_get_max_thread_index()
+static LONG GC_get_max_thread_index()
 {
   LONG my_max = GC_max_thread_index;
 
index 22ffdeb139ec2c94ebf1a57e7b052ce317bd573f..e2eff1620e7697a20a9d28a36db3a4e0eaf6479d 100644 (file)
@@ -7,7 +7,7 @@
 .\" Author:
 .\"   Miguel de Icaza (miguel@gnu.org)
 .\"
-.TH Mono "Mono 3.0"
+.TH Mono "Mono 4.5.2"
 .SH NAME
 mono \- Mono's ECMA-CLI native code generator (Just-in-Time and Ahead-of-Time)
 .SH SYNOPSIS
index cee481c81370259b5c425ae246164dea61ee1725..95c3b1615e6d84a226ad253408dfe4c87aa3ca62 100644 (file)
@@ -20,3 +20,12 @@ class/RabbitMQ.Client/docs/specs/autogenerated-api-qpid-0-8.cs
 class/System.Web.Mvc/System.Web.Mvc/Resources/MvcResources.resources
 class/System.Web.Mvc2/System.Web.Mvc/Resources/MvcResources.resources
 XmlWriter
+obj-net_4_x
+obj-bare
+obj-plainweb
+obj-Facades
+obj-plaincore
+obj-plaindesign
+obj-plainservice
+obj-secxml
+obj-mcs-net_4_x
index 895d67b6933b4e14cff75d8b31433a4323a8c197..c8379b22f68bb9a101f37d998cc07f648be647b2 100644 (file)
@@ -134,7 +134,7 @@ endif
 csproj-local: csproj-library csproj-test
 
 intermediate_clean=$(subst /,-,$(intermediate))
-csproj-library: 
+csproj-library:
        config_file=`basename $(LIBRARY) .dll`-$(intermediate_clean)$(PROFILE).input; \
        case "$(thisdir)" in *"Facades"*) config_file=Facades_$$config_file;; esac; \
        echo $(thisdir):$$config_file >> $(topdir)/../msvc/scripts/order; \
index 7f27dd9fd511c66eca5e9044e336c75bc5157a27..16d3a64b65ef2890025c644210a2fbaa7fb7ab6b 100644 (file)
@@ -38,7 +38,7 @@ test_sourcefile = $(ASSEMBLY:$(ASSEMBLY_EXT)=_test.dll.sources)
 endif
 
 test_lib = $(PROFILE)_$(ASSEMBLY:$(ASSEMBLY_EXT)=_test.dll)
-test_sourcefile_excludes = $(test_lib).excludes
+test_sourcefile_excludes = $(test_lib).exclude.sources
 
 test_pdb = $(test_lib:.dll=.pdb)
 test_response = $(depsdir)/$(test_lib).response
index faf07f2a37d21a473cbc91f96dacce38a4d897f5..50cdfcf6868455e673ebabebbce2a6bd2463a192 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 63ca324a6746afa1deed8f5f17b9a64987b90cfb..2539a5b4b18c3ab5907432eedf73d113a3b8b53d 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+$(ProjectDir)\..\..\jay\jay -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Commons.Xml.Relaxng.Rnc\RncParser.jay > $(ProjectDir)\Commons.Xml.Relaxng.Rnc\RncParser.cs
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+$(ProjectDir)\..\..\jay\jay -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Commons.Xml.Relaxng.Rnc\RncParser.jay > $(ProjectDir)\Commons.Xml.Relaxng.Rnc\RncParser.cs
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 4176c0efd7d2e12eae22ef2ef0d0c3c2f1ff99b5..2c40504aa6351c064685cbf3d0d647b459cbb9cd 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index ff89c9a295b43ea6f6765ff994facc92494644a9..bf2bc3fb53392e1f95933a009cfc1a73be4c197e 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
diff --git a/mcs/class/Facades/Microsoft.Win32.Primitives/Facades_Microsoft.Win32.Primitives-net_4_x.csproj b/mcs/class/Facades/Microsoft.Win32.Primitives/Facades_Microsoft.Win32.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..ef4329f
--- /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>{699E0DB5-EDD0-4E6A-87C9-D396DCDAF620}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_Microsoft.Win32.Registry.AccessControl-net_4_x.csproj b/mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/Facades_Microsoft.Win32.Registry.AccessControl-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1bca672
--- /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>{7B15C4D7-8C02-408E-9EFB-5E9E9FB4410D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_Microsoft.Win32.Registry-net_4_x.csproj b/mcs/class/Facades/Microsoft.Win32.Registry/Facades_Microsoft.Win32.Registry-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5189fe3
--- /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>{160B5B14-7A25-458E-B83F-35632C832866}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.AppContext-net_4_x.csproj b/mcs/class/Facades/System.AppContext/Facades_System.AppContext-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3980a55
--- /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>{B6B7A903-D696-43CF-AC42-39DCAAB00B9D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Collections.Concurrent-net_4_x.csproj b/mcs/class/Facades/System.Collections.Concurrent/Facades_System.Collections.Concurrent-net_4_x.csproj
new file mode 100644 (file)
index 0000000..eee52cc
--- /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>{EFD0287C-3651-4D42-B8CA-430776CB1E6D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Collections.NonGeneric-net_4_x.csproj b/mcs/class/Facades/System.Collections.NonGeneric/Facades_System.Collections.NonGeneric-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a7e0139
--- /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>{5F686C07-72CE-4A42-93B1-52B31227C3BB}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Collections.Specialized-net_4_x.csproj b/mcs/class/Facades/System.Collections.Specialized/Facades_System.Collections.Specialized-net_4_x.csproj
new file mode 100644 (file)
index 0000000..44e2fc9
--- /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>{5A238E60-587C-4C5C-8CA4-0443B1DBF1F6}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Collections-net_4_x.csproj b/mcs/class/Facades/System.Collections/Facades_System.Collections-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c3eb239
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2597261D-EC05-4333-928D-1CA44AB1A5D2}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.ComponentModel.Annotations-net_4_x.csproj b/mcs/class/Facades/System.ComponentModel.Annotations/Facades_System.ComponentModel.Annotations-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a0d3c1b
--- /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>{B26700A5-4A9A-4358-8C84-51AD67C706BA}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.ComponentModel.EventBasedAsync-net_4_x.csproj b/mcs/class/Facades/System.ComponentModel.EventBasedAsync/Facades_System.ComponentModel.EventBasedAsync-net_4_x.csproj
new file mode 100644 (file)
index 0000000..cbeca4b
--- /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>{6871A822-F21C-4C0E-B97B-178FF6C3DB46}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.ComponentModel.Primitives-net_4_x.csproj b/mcs/class/Facades/System.ComponentModel.Primitives/Facades_System.ComponentModel.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..65e0f7e
--- /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>{1DF9021C-DC67-4D7B-BEC9-10D7FBC12972}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.ComponentModel.TypeConverter-net_4_x.csproj b/mcs/class/Facades/System.ComponentModel.TypeConverter/Facades_System.ComponentModel.TypeConverter-net_4_x.csproj
new file mode 100644 (file)
index 0000000..aea5567
--- /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>{FC19760B-00FF-4242-9760-9C8E9C87CCFB}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.ComponentModel-net_4_x.csproj b/mcs/class/Facades/System.ComponentModel/Facades_System.ComponentModel-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a1a92d7
--- /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>{3FA73846-3666-4769-B431-1A7538B08F39}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Console-net_4_x.csproj b/mcs/class/Facades/System.Console/Facades_System.Console-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c42832b
--- /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>{6207AADB-0592-4B52-B71E-3565196EE893}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Data.Common-net_4_x.csproj b/mcs/class/Facades/System.Data.Common/Facades_System.Data.Common-net_4_x.csproj
new file mode 100644 (file)
index 0000000..493303c
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{360CDD70-6108-4406-9433-7BB178B0C3E3}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Data.SqlClient/Facades_System.Data.SqlClient-net_4_x.csproj b/mcs/class/Facades/System.Data.SqlClient/Facades_System.Data.SqlClient-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3427bb0
--- /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>{575873BD-22DA-4A36-ABBD-B074EFEAB3AD}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.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.Diagnostics.Contracts/Facades_System.Diagnostics.Contracts-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.Contracts/Facades_System.Diagnostics.Contracts-net_4_x.csproj
new file mode 100644 (file)
index 0000000..72f03e8
--- /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>{8892480E-A4C6-4C4C-8722-21C5483F8851}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../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/Facades_System.Diagnostics.Debug-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.Debug/Facades_System.Diagnostics.Debug-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5de4c3c
--- /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>{7221EF5D-7340-4E8C-99F0-9EE9C55AA189}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Diagnostics.FileVersionInfo-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.FileVersionInfo/Facades_System.Diagnostics.FileVersionInfo-net_4_x.csproj
new file mode 100644 (file)
index 0000000..e8db266
--- /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>{D81BCBD3-415D-4309-A116-0B475D8A2FA8}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Diagnostics.PerformanceCounter-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.PerformanceCounter/Facades_System.Diagnostics.PerformanceCounter-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a9534e3
--- /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>{BA0C64F1-3762-437D-8B58-75F68A5B4E7E}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Diagnostics.Process-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.Process/Facades_System.Diagnostics.Process-net_4_x.csproj
new file mode 100644 (file)
index 0000000..210e445
--- /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>{BFE6F5CE-725C-4F96-8AC6-F66B7C56E972}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Diagnostics.StackTrace-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.StackTrace/Facades_System.Diagnostics.StackTrace-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9d1c6f1
--- /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>{871BE2C6-2F56-4E05-93E8-9B3FDD4711DB}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Diagnostics.TextWriterTraceListener-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.TextWriterTraceListener/Facades_System.Diagnostics.TextWriterTraceListener-net_4_x.csproj
new file mode 100644 (file)
index 0000000..fb2f148
--- /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>{EE8443AB-125D-4055-981A-143FB827C23C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Diagnostics.Tools-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.Tools/Facades_System.Diagnostics.Tools-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5d1e6d7
--- /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>{5B299463-3E19-48C1-8625-31E12E1CC146}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Diagnostics.TraceEvent-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.TraceEvent/Facades_System.Diagnostics.TraceEvent-net_4_x.csproj
new file mode 100644 (file)
index 0000000..f31a1fc
--- /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>{6460F8E8-775E-46B6-99E5-B48390591515}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Diagnostics.TraceSource-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.TraceSource/Facades_System.Diagnostics.TraceSource-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7003052
--- /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>{530F1E68-3237-49E6-8D3B-06332F5AC055}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Diagnostics.Tracing-net_4_x.csproj b/mcs/class/Facades/System.Diagnostics.Tracing/Facades_System.Diagnostics.Tracing-net_4_x.csproj
new file mode 100644 (file)
index 0000000..73d08a1
--- /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>{B33966AB-7211-43B4-B5C0-3F818869CB08}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../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
+
index ca09028ce161abaa3b0debf09376b3f85c6a1437..832c003b52e813dd0f25651f00370f164a258cfa 100644 (file)
@@ -29,6 +29,7 @@
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventOpcode))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventSource))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventSourceAttribute))]
+[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventSourceSettings))]
 //[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventSourceException))]
 [assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventTask))]
 //[assembly: System.Runtime.CompilerServices.TypeForwardedToAttribute(typeof(System.Diagnostics.Tracing.EventWrittenEventArgs))]
diff --git a/mcs/class/Facades/System.Dynamic.Runtime/Facades_System.Dynamic.Runtime-net_4_x.csproj b/mcs/class/Facades/System.Dynamic.Runtime/Facades_System.Dynamic.Runtime-net_4_x.csproj
new file mode 100644 (file)
index 0000000..076b4d9
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{E48CEF36-3218-477B-A8B5-014519207FF2}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Globalization.Calendars-net_4_x.csproj b/mcs/class/Facades/System.Globalization.Calendars/Facades_System.Globalization.Calendars-net_4_x.csproj
new file mode 100644 (file)
index 0000000..d0aa63e
--- /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>{BC71DA11-382F-459A-B3C3-F2F4267974FB}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Globalization.Extensions-net_4_x.csproj b/mcs/class/Facades/System.Globalization.Extensions/Facades_System.Globalization.Extensions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..6621287
--- /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>{B875622B-BEA2-4D1C-8242-3A1FCECF5890}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Globalization-net_4_x.csproj b/mcs/class/Facades/System.Globalization/Facades_System.Globalization-net_4_x.csproj
new file mode 100644 (file)
index 0000000..d311728
--- /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>{5F313CA5-F0FC-4EA3-AC8D-8EF1C7FC8ABE}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../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/Facades_System.IO.Compression.ZipFile-net_4_x.csproj b/mcs/class/Facades/System.IO.Compression.ZipFile/Facades_System.IO.Compression.ZipFile-net_4_x.csproj
new file mode 100644 (file)
index 0000000..4423a9d
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{A8EB5499-FA67-4049-AA0A-241D82DA975C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.IO.FileSystem.AccessControl/Facades_System.IO.FileSystem.AccessControl-net_4_x.csproj b/mcs/class/Facades/System.IO.FileSystem.AccessControl/Facades_System.IO.FileSystem.AccessControl-net_4_x.csproj
new file mode 100644 (file)
index 0000000..0f9d44c
--- /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>{321A53F3-A681-4CA5-A093-1C6650243F6A}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.IO.FileSystem.DriveInfo-net_4_x.csproj b/mcs/class/Facades/System.IO.FileSystem.DriveInfo/Facades_System.IO.FileSystem.DriveInfo-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5edbbbb
--- /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>{121F835D-CD32-4C19-ABA7-25EF4B84773F}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.IO.FileSystem.Primitives-net_4_x.csproj b/mcs/class/Facades/System.IO.FileSystem.Primitives/Facades_System.IO.FileSystem.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..98c67e8
--- /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>{5DF20007-FD1D-4BD8-A492-D1C4F7CAD2BF}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.IO.FileSystem.Watcher-net_4_x.csproj b/mcs/class/Facades/System.IO.FileSystem.Watcher/Facades_System.IO.FileSystem.Watcher-net_4_x.csproj
new file mode 100644 (file)
index 0000000..75fe391
--- /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>{44647FAA-F785-44DE-B6B2-ABC2B9768233}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.IO.FileSystem-net_4_x.csproj b/mcs/class/Facades/System.IO.FileSystem/Facades_System.IO.FileSystem-net_4_x.csproj
new file mode 100644 (file)
index 0000000..34784bd
--- /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>{3CBF9A55-86B6-4E0B-A73E-E352C79D85E8}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.IO.IsolatedStorage-net_4_x.csproj b/mcs/class/Facades/System.IO.IsolatedStorage/Facades_System.IO.IsolatedStorage-net_4_x.csproj
new file mode 100644 (file)
index 0000000..866e14f
--- /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>{A9B2D389-B9E5-4B0F-8115-2AADF285D217}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.IO.MemoryMappedFiles-net_4_x.csproj b/mcs/class/Facades/System.IO.MemoryMappedFiles/Facades_System.IO.MemoryMappedFiles-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3e44aef
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{18639F0F-74F1-4B61-81BF-D60B651F542A}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.IO.Pipes/Facades_System.IO.Pipes-net_4_x.csproj b/mcs/class/Facades/System.IO.Pipes/Facades_System.IO.Pipes-net_4_x.csproj
new file mode 100644 (file)
index 0000000..71c4350
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D835F3A9-C4FE-4162-8AB5-DC26D06AC81F}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.IO.UnmanagedMemoryStream/Facades_System.IO.UnmanagedMemoryStream-net_4_x.csproj b/mcs/class/Facades/System.IO.UnmanagedMemoryStream/Facades_System.IO.UnmanagedMemoryStream-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c65751b
--- /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>{981E765A-9D68-4653-9079-69BFCD97F086}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.IO-net_4_x.csproj b/mcs/class/Facades/System.IO/Facades_System.IO-net_4_x.csproj
new file mode 100644 (file)
index 0000000..da00e74
--- /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>{6C8B94F6-E589-472C-80CA-BD55DAFAC523}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Linq.Expressions-net_4_x.csproj b/mcs/class/Facades/System.Linq.Expressions/Facades_System.Linq.Expressions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..e7c6951
--- /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>{24ADB02E-2E84-4EF4-BDD4-F20C87AEA6A3}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Linq.Parallel-net_4_x.csproj b/mcs/class/Facades/System.Linq.Parallel/Facades_System.Linq.Parallel-net_4_x.csproj
new file mode 100644 (file)
index 0000000..de83417
--- /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>{CFF3822F-E829-4AEF-899A-963C4EAF6941}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Linq.Queryable-net_4_x.csproj b/mcs/class/Facades/System.Linq.Queryable/Facades_System.Linq.Queryable-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3aa8b75
--- /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>{49E80FC1-1707-4715-8D94-CBDC79B007E9}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Linq-net_4_x.csproj b/mcs/class/Facades/System.Linq/Facades_System.Linq-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9c29c34
--- /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>{9F1C9D98-4C32-4698-B26F-10A38B5073B0}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Net.AuthenticationManager-net_4_x.csproj b/mcs/class/Facades/System.Net.AuthenticationManager/Facades_System.Net.AuthenticationManager-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b14fcb8
--- /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>{B6DBC302-E9DB-4464-979C-6D714B436A7E}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Net.Cache-net_4_x.csproj b/mcs/class/Facades/System.Net.Cache/Facades_System.Net.Cache-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5ff7c86
--- /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>{101D931B-24CE-44CE-8140-8B183D5CC46E}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Net.Http.WebRequestHandler-net_4_x.csproj b/mcs/class/Facades/System.Net.Http.WebRequestHandler/Facades_System.Net.Http.WebRequestHandler-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c49aa56
--- /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>{ACA10642-1D5B-443D-99BE-65C31491C54F}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Net.HttpListener/Facades_System.Net.HttpListener-net_4_x.csproj b/mcs/class/Facades/System.Net.HttpListener/Facades_System.Net.HttpListener-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9c59776
--- /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>{CC7A11AC-ACAA-4707-BEF1-1106938F19C7}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.Mail/Facades_System.Net.Mail-net_4_x.csproj b/mcs/class/Facades/System.Net.Mail/Facades_System.Net.Mail-net_4_x.csproj
new file mode 100644 (file)
index 0000000..f38a0d5
--- /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>{074DF29D-D38E-4FB9-86A0-18F47615CE72}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.NameResolution/Facades_System.Net.NameResolution-net_4_x.csproj b/mcs/class/Facades/System.Net.NameResolution/Facades_System.Net.NameResolution-net_4_x.csproj
new file mode 100644 (file)
index 0000000..35e6e9a
--- /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>{1219DA91-575A-45EA-9CC9-1471648A025F}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Net.NetworkInformation-net_4_x.csproj b/mcs/class/Facades/System.Net.NetworkInformation/Facades_System.Net.NetworkInformation-net_4_x.csproj
new file mode 100644 (file)
index 0000000..042d7ac
--- /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>{B6AE3A72-1756-46BF-9105-C4D815A5C044}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Net.Primitives-net_4_x.csproj b/mcs/class/Facades/System.Net.Primitives/Facades_System.Net.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..aa32005
--- /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>{79BB52C8-198A-4238-B2F6-62CEEBD7D228}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Net.Requests-net_4_x.csproj b/mcs/class/Facades/System.Net.Requests/Facades_System.Net.Requests-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9d81ac9
--- /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>{538C60BD-0652-4780-AA7C-338C2DD82448}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Net.Security-net_4_x.csproj b/mcs/class/Facades/System.Net.Security/Facades_System.Net.Security-net_4_x.csproj
new file mode 100644 (file)
index 0000000..346a8c8
--- /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>{601F297E-1242-4BC4-BD06-1111CE65D658}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.ServicePoint/Facades_System.Net.ServicePoint-net_4_x.csproj b/mcs/class/Facades/System.Net.ServicePoint/Facades_System.Net.ServicePoint-net_4_x.csproj
new file mode 100644 (file)
index 0000000..db14b8d
--- /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>{B0CF71F6-DCD4-4C7B-BE36-BF9CB0CB366C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Net.Sockets-net_4_x.csproj b/mcs/class/Facades/System.Net.Sockets/Facades_System.Net.Sockets-net_4_x.csproj
new file mode 100644 (file)
index 0000000..ca762d9
--- /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>{FC7570DA-CAE1-40AF-9EB4-9C9566746023}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.Utilities/Facades_System.Net.Utilities-net_4_x.csproj b/mcs/class/Facades/System.Net.Utilities/Facades_System.Net.Utilities-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1372878
--- /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>{6413D947-5660-473A-8C2C-9DF40BF8AEE1}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Net.WebHeaderCollection-net_4_x.csproj b/mcs/class/Facades/System.Net.WebHeaderCollection/Facades_System.Net.WebHeaderCollection-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3a29883
--- /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>{A1B6CFFB-432C-4CB1-9A60-97B3CC859583}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Net.WebSockets.Client-net_4_x.csproj b/mcs/class/Facades/System.Net.WebSockets.Client/Facades_System.Net.WebSockets.Client-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1119965
--- /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>{5B58ED88-02A5-469A-82A0-DF97F3A5FBB0}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Net.WebSockets-net_4_x.csproj b/mcs/class/Facades/System.Net.WebSockets/Facades_System.Net.WebSockets-net_4_x.csproj
new file mode 100644 (file)
index 0000000..0103faa
--- /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>{C46AD937-B0E8-4AB6-B98C-C8C37A746ED7}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.ObjectModel-net_4_x.csproj b/mcs/class/Facades/System.ObjectModel/Facades_System.ObjectModel-net_4_x.csproj
new file mode 100644 (file)
index 0000000..e1230f8
--- /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>{D14B21CE-AC35-445E-930F-9C7F6E032EE8}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Private.CoreLib.InteropServices-net_4_x.csproj b/mcs/class/Facades/System.Private.CoreLib.InteropServices/Facades_System.Private.CoreLib.InteropServices-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c81a035
--- /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>{5D05F5E2-7378-4A35-B1A3-76ABEB4A71C3}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Private.CoreLib.Threading-net_4_x.csproj b/mcs/class/Facades/System.Private.CoreLib.Threading/Facades_System.Private.CoreLib.Threading-net_4_x.csproj
new file mode 100644 (file)
index 0000000..df6c913
--- /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>{642A1B9E-1A2F-4C55-B184-E22F8C2E95B5}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Reflection.Emit.ILGeneration-net_4_x.csproj b/mcs/class/Facades/System.Reflection.Emit.ILGeneration/Facades_System.Reflection.Emit.ILGeneration-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3f6502b
--- /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>{ACF5E339-FB52-48E0-A859-2CE75756DFE8}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../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/Facades_System.Reflection.Emit.Lightweight-net_4_x.csproj b/mcs/class/Facades/System.Reflection.Emit.Lightweight/Facades_System.Reflection.Emit.Lightweight-net_4_x.csproj
new file mode 100644 (file)
index 0000000..28c2018
--- /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>{03B29131-9D1A-4446-92F2-237F9EF70C5C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../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/Facades_System.Reflection.Emit-net_4_x.csproj b/mcs/class/Facades/System.Reflection.Emit/Facades_System.Reflection.Emit-net_4_x.csproj
new file mode 100644 (file)
index 0000000..e407d0f
--- /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>{5327CF02-204D-45CD-A68D-3D836470E439}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../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/Facades_System.Reflection.Extensions-net_4_x.csproj b/mcs/class/Facades/System.Reflection.Extensions/Facades_System.Reflection.Extensions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5a41690
--- /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>{B6D0F01A-1585-464E-850A-502EB4BBA8A2}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../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/Facades_System.Reflection.Primitives-net_4_x.csproj b/mcs/class/Facades/System.Reflection.Primitives/Facades_System.Reflection.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9b883b5
--- /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>{D60D1AB4-D664-4B1F-9724-962A2D205B07}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../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/Facades_System.Reflection.TypeExtensions-net_4_x.csproj b/mcs/class/Facades/System.Reflection.TypeExtensions/Facades_System.Reflection.TypeExtensions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2030414
--- /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>{C315A617-25A4-447F-AA4F-0E0E7E35F919}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Reflection-net_4_x.csproj b/mcs/class/Facades/System.Reflection/Facades_System.Reflection-net_4_x.csproj
new file mode 100644 (file)
index 0000000..98be695
--- /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>{BE1CD06E-F08E-46EE-9DFD-91E1557F4121}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../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/Facades_System.Resources.ReaderWriter-net_4_x.csproj b/mcs/class/Facades/System.Resources.ReaderWriter/Facades_System.Resources.ReaderWriter-net_4_x.csproj
new file mode 100644 (file)
index 0000000..eaafdd2
--- /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>{2D720AF7-7104-46EF-93BC-B8BA133B6BF6}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Resources.ResourceManager-net_4_x.csproj b/mcs/class/Facades/System.Resources.ResourceManager/Facades_System.Resources.ResourceManager-net_4_x.csproj
new file mode 100644 (file)
index 0000000..e40ceea
--- /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>{9F980E30-92CE-466A-BCB1-2C2F1E8FC09D}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../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/Facades_System.Runtime.CompilerServices.VisualC-net_4_x.csproj b/mcs/class/Facades/System.Runtime.CompilerServices.VisualC/Facades_System.Runtime.CompilerServices.VisualC-net_4_x.csproj
new file mode 100644 (file)
index 0000000..f3b9b2d
--- /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>{C1D26AE7-071A-4092-9866-0EE2D09CF342}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Runtime.Extensions-net_4_x.csproj b/mcs/class/Facades/System.Runtime.Extensions/Facades_System.Runtime.Extensions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..f00748c
--- /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>{1215B717-BE9D-4D53-AEB9-35522519BC75}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Runtime.Handles-net_4_x.csproj b/mcs/class/Facades/System.Runtime.Handles/Facades_System.Runtime.Handles-net_4_x.csproj
new file mode 100644 (file)
index 0000000..d29f79f
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{87C01EDD-05AF-4E1A-8EEE-27D7B83689EC}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Runtime.InteropServices.WindowsRuntime-net_4_x.csproj b/mcs/class/Facades/System.Runtime.InteropServices.WindowsRuntime/Facades_System.Runtime.InteropServices.WindowsRuntime-net_4_x.csproj
new file mode 100644 (file)
index 0000000..0dddc7e
--- /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>{521A60CF-50DF-4EF1-88B2-418BD39BDEC4}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../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/Facades_System.Runtime.InteropServices-net_4_x.csproj b/mcs/class/Facades/System.Runtime.InteropServices/Facades_System.Runtime.InteropServices-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7011c55
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{71A8C7C9-ED84-44E5-8814-F5FA5DA6EC5A}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Runtime.Numerics-net_4_x.csproj b/mcs/class/Facades/System.Runtime.Numerics/Facades_System.Runtime.Numerics-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a82e8d2
--- /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>{AEB47FF6-C50D-4985-A57F-17F71F63694A}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Runtime.Serialization.Json-net_4_x.csproj b/mcs/class/Facades/System.Runtime.Serialization.Json/Facades_System.Runtime.Serialization.Json-net_4_x.csproj
new file mode 100644 (file)
index 0000000..18a14af
--- /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>{88B512E6-3E9D-4F87-A9E4-5F9239848665}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Runtime.Serialization.Primitives-net_4_x.csproj b/mcs/class/Facades/System.Runtime.Serialization.Primitives/Facades_System.Runtime.Serialization.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..71204dc
--- /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>{49BB9015-6989-4BD0-AF82-9184BE637D57}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Runtime.Serialization.Xml-net_4_x.csproj b/mcs/class/Facades/System.Runtime.Serialization.Xml/Facades_System.Runtime.Serialization.Xml-net_4_x.csproj
new file mode 100644 (file)
index 0000000..058a3e6
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{C948B3D4-0BEE-4363-B4A7-635A169C8D63}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Runtime-net_4_x.csproj b/mcs/class/Facades/System.Runtime/Facades_System.Runtime-net_4_x.csproj
new file mode 100644 (file)
index 0000000..d88f7bb
--- /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>{CFB32425-69C5-425B-BF9A-66CB3AC52D71}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Security.AccessControl-net_4_x.csproj b/mcs/class/Facades/System.Security.AccessControl/Facades_System.Security.AccessControl-net_4_x.csproj
new file mode 100644 (file)
index 0000000..546f03f
--- /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>{4867DFE7-C028-4518-B420-27C3E4582D0C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Security.Claims-net_4_x.csproj b/mcs/class/Facades/System.Security.Claims/Facades_System.Security.Claims-net_4_x.csproj
new file mode 100644 (file)
index 0000000..341cad8
--- /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>{4874E167-6B23-4FD6-B51D-048417A8054B}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Security.Cryptography.DeriveBytes-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.DeriveBytes/Facades_System.Security.Cryptography.DeriveBytes-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3c274ab
--- /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>{DB39DD76-4609-45D1-9615-57D4E436D7F1}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Security.Cryptography.Encoding-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.Encoding/Facades_System.Security.Cryptography.Encoding-net_4_x.csproj
new file mode 100644 (file)
index 0000000..20640b0
--- /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>{8B19E0DB-E0EA-4BED-B4E7-AED8A4ED0C62}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Security.Cryptography.Encryption.Aes-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.Encryption.Aes/Facades_System.Security.Cryptography.Encryption.Aes-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a523ca9
--- /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>{38BA78A4-9614-4000-80A7-DFCE31F10721}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Security.Cryptography.Encryption.ECDiffieHellman-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman/Facades_System.Security.Cryptography.Encryption.ECDiffieHellman-net_4_x.csproj
new file mode 100644 (file)
index 0000000..268dc0f
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{6499F7E3-64F3-495B-9900-E2D0AD47414F}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.Security.Cryptography.Encryption.ECDsa/Facades_System.Security.Cryptography.Encryption.ECDsa-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.Encryption.ECDsa/Facades_System.Security.Cryptography.Encryption.ECDsa-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1608821
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{EFA0AABF-7830-4804-A92D-F6F31F86B826}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.Security.Cryptography.Encryption/Facades_System.Security.Cryptography.Encryption-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.Encryption/Facades_System.Security.Cryptography.Encryption-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c331d66
--- /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>{EDF9D7E8-5BAC-4264-BB98-1AE586B0A889}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Security.Cryptography.Hashing.Algorithms-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.Hashing.Algorithms/Facades_System.Security.Cryptography.Hashing.Algorithms-net_4_x.csproj
new file mode 100644 (file)
index 0000000..098c162
--- /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>{0DBEDE3A-F06D-4C61-89DF-193C13393F7A}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Security.Cryptography.Hashing-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.Hashing/Facades_System.Security.Cryptography.Hashing-net_4_x.csproj
new file mode 100644 (file)
index 0000000..9865a15
--- /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>{C48B1038-4774-4D49-9D34-79DBBA725AA0}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Security.Cryptography.ProtectedData-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.ProtectedData/Facades_System.Security.Cryptography.ProtectedData-net_4_x.csproj
new file mode 100644 (file)
index 0000000..53e18fa
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{66B88E44-F7DA-4C83-B028-A49D4D3EBD16}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.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
+
diff --git a/mcs/class/Facades/System.Security.Cryptography.RSA/Facades_System.Security.Cryptography.RSA-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.RSA/Facades_System.Security.Cryptography.RSA-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1f65843
--- /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>{18EE2788-AC59-4A0C-A902-C6B64D285BB6}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Security.Cryptography.RandomNumberGenerator-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.RandomNumberGenerator/Facades_System.Security.Cryptography.RandomNumberGenerator-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3b0e511
--- /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>{C87878D2-CDEF-4EC9-8C94-C1381144F4EC}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Security.Cryptography.X509Certificates-net_4_x.csproj b/mcs/class/Facades/System.Security.Cryptography.X509Certificates/Facades_System.Security.Cryptography.X509Certificates-net_4_x.csproj
new file mode 100644 (file)
index 0000000..0a126a6
--- /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>{C2E71C2B-A806-4FEB-AE2D-A5BE884E3BA7}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Security.Principal.Windows-net_4_x.csproj b/mcs/class/Facades/System.Security.Principal.Windows/Facades_System.Security.Principal.Windows-net_4_x.csproj
new file mode 100644 (file)
index 0000000..18aa2ae
--- /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>{47977802-4193-48DC-AA0F-58D18AEDA405}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Security.Principal-net_4_x.csproj b/mcs/class/Facades/System.Security.Principal/Facades_System.Security.Principal-net_4_x.csproj
new file mode 100644 (file)
index 0000000..53c26f6
--- /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>{9040CA8B-4352-4621-A2B3-5C32A383DE15}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../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/Facades_System.Security.SecureString-net_4_x.csproj b/mcs/class/Facades/System.Security.SecureString/Facades_System.Security.SecureString-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7e2fc1e
--- /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>{57C02AD3-1118-4982-BCE3-53158D30F4E9}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.ServiceModel.Duplex-net_4_x.csproj b/mcs/class/Facades/System.ServiceModel.Duplex/Facades_System.ServiceModel.Duplex-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3a098dc
--- /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>{DE25A333-91AE-4F33-B483-A01D1D3D1675}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.Http/Facades_System.ServiceModel.Http-net_4_x.csproj b/mcs/class/Facades/System.ServiceModel.Http/Facades_System.ServiceModel.Http-net_4_x.csproj
new file mode 100644 (file)
index 0000000..d830d0e
--- /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>{4EE0B25C-F7D7-40A9-AE37-5B874791D3C1}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.ServiceModel.NetTcp-net_4_x.csproj b/mcs/class/Facades/System.ServiceModel.NetTcp/Facades_System.ServiceModel.NetTcp-net_4_x.csproj
new file mode 100644 (file)
index 0000000..0b25b6b
--- /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>{0F83D60D-5AAA-425C-BC4E-01CA2018905C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.Primitives/Facades_System.ServiceModel.Primitives-net_4_x.csproj b/mcs/class/Facades/System.ServiceModel.Primitives/Facades_System.ServiceModel.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1508ff5
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{524B10FC-880D-4131-8CAE-027BC3A68B6F}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.ServiceModel.Security-net_4_x.csproj b/mcs/class/Facades/System.ServiceModel.Security/Facades_System.ServiceModel.Security-net_4_x.csproj
new file mode 100644 (file)
index 0000000..05cafee
--- /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>{F937A550-0A4A-4A10-9FD9-E8DE7696671F}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.ServiceProcess.ServiceController-net_4_x.csproj b/mcs/class/Facades/System.ServiceProcess.ServiceController/Facades_System.ServiceProcess.ServiceController-net_4_x.csproj
new file mode 100644 (file)
index 0000000..4eedc26
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{8C71A924-2561-434B-A792-2F84ABA1C0C2}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Text.Encoding.Extensions/Facades_System.Text.Encoding.Extensions-net_4_x.csproj b/mcs/class/Facades/System.Text.Encoding.Extensions/Facades_System.Text.Encoding.Extensions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c478e79
--- /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>{28CEA696-8466-4826-9128-B83318184EF4}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../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/Facades_System.Text.Encoding-net_4_x.csproj b/mcs/class/Facades/System.Text.Encoding/Facades_System.Text.Encoding-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5c8474d
--- /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>{0CD67EE4-42D8-43A6-880F-2C038E368C98}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../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/Facades_System.Text.RegularExpressions-net_4_x.csproj b/mcs/class/Facades/System.Text.RegularExpressions/Facades_System.Text.RegularExpressions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3128965
--- /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>{490EF039-5913-4181-84CD-1F882968FC8C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Threading.AccessControl-net_4_x.csproj b/mcs/class/Facades/System.Threading.AccessControl/Facades_System.Threading.AccessControl-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2a7daad
--- /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>{FB663BC8-162E-43E7-9674-ECD2BEE82CC1}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Threading.Overlapped-net_4_x.csproj b/mcs/class/Facades/System.Threading.Overlapped/Facades_System.Threading.Overlapped-net_4_x.csproj
new file mode 100644 (file)
index 0000000..00de778
--- /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>{E8BFEFD2-AAB9-45E6-8523-1F6AEB1918A2}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Threading.Tasks.Parallel-net_4_x.csproj b/mcs/class/Facades/System.Threading.Tasks.Parallel/Facades_System.Threading.Tasks.Parallel-net_4_x.csproj
new file mode 100644 (file)
index 0000000..70915d9
--- /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>{0F8CA9A9-62A4-4829-925E-002F0B93EE79}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../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/Facades_System.Threading.Tasks-net_4_x.csproj b/mcs/class/Facades/System.Threading.Tasks/Facades_System.Threading.Tasks-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3052af6
--- /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>{F322318E-D053-45C9-AFDF-2AEEE1E0E006}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Threading.Thread-net_4_x.csproj b/mcs/class/Facades/System.Threading.Thread/Facades_System.Threading.Thread-net_4_x.csproj
new file mode 100644 (file)
index 0000000..58a1e3e
--- /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>{4D9EF694-5260-432D-BA34-503FFBE43B6C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Threading.ThreadPool-net_4_x.csproj b/mcs/class/Facades/System.Threading.ThreadPool/Facades_System.Threading.ThreadPool-net_4_x.csproj
new file mode 100644 (file)
index 0000000..081c415
--- /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>{95B411AA-B13F-4621-B020-7F797E1F39F0}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Threading.Timer-net_4_x.csproj b/mcs/class/Facades/System.Threading.Timer/Facades_System.Threading.Timer-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a0450e1
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{30F7C900-122A-42A6-9669-D5606B9105A5}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Threading-net_4_x.csproj b/mcs/class/Facades/System.Threading/Facades_System.Threading-net_4_x.csproj
new file mode 100644 (file)
index 0000000..0b49733
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{35258CFB-0308-493D-B2BD-B044EAFD5AD1}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Xml.ReaderWriter-net_4_x.csproj b/mcs/class/Facades/System.Xml.ReaderWriter/Facades_System.Xml.ReaderWriter-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b607038
--- /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>{2C447238-E7CE-4AF2-9A6C-EDC8E02E554B}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Xml.XDocument-net_4_x.csproj b/mcs/class/Facades/System.Xml.XDocument/Facades_System.Xml.XDocument-net_4_x.csproj
new file mode 100644 (file)
index 0000000..6dfebc0
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D8643E47-F2D5-447B-840B-25FEB84C9EEC}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Xml.XPath.XDocument-net_4_x.csproj b/mcs/class/Facades/System.Xml.XPath.XDocument/Facades_System.Xml.XPath.XDocument-net_4_x.csproj
new file mode 100644 (file)
index 0000000..6fe69f7
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{38F046A2-EEBD-4FE7-B70E-636F5DB4BBF3}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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.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
+</Project>\r
+
diff --git a/mcs/class/Facades/System.Xml.XPath/Facades_System.Xml.XPath-net_4_x.csproj b/mcs/class/Facades/System.Xml.XPath/Facades_System.Xml.XPath-net_4_x.csproj
new file mode 100644 (file)
index 0000000..fcddfd5
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{5C3F0B44-E169-4441-91F9-7285048F4946}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades/System.Xml.XmlDocument/Facades_System.Xml.XmlDocument-net_4_x.csproj b/mcs/class/Facades/System.Xml.XmlDocument/Facades_System.Xml.XmlDocument-net_4_x.csproj
new file mode 100644 (file)
index 0000000..adc60f7
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D7F840DE-EDFD-4DB5-ACDB-9328AB7E6C6C}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades/System.Xml.XmlSerializer/Facades_System.Xml.XmlSerializer-net_4_x.csproj b/mcs/class/Facades/System.Xml.XmlSerializer/Facades_System.Xml.XmlSerializer-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c4df512
--- /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>{E95FA58F-8086-45FF-8BD3-5A1FAF776709}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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/Facades_System.Xml.Xsl.Primitives-net_4_x.csproj b/mcs/class/Facades/System.Xml.Xsl.Primitives/Facades_System.Xml.Xsl.Primitives-net_4_x.csproj
new file mode 100644 (file)
index 0000000..3e95b77
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{653C4BDE-F194-4A4F-A1CE-1FF955DE43D6}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699,1616,1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x/Facades</OutputPath>\r
+    <IntermediateOutputPath>obj-Facades</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \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>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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../../corlib/corlib-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 974470a2751edf6a513c814a8f806eff8405374c..c6c9d3a44bbdbdd5d6c99d427b5324e5189a971c 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 8ff4688ef9205c3c04d8a19038b064c532754555..75ff7a5aac9dd7024ece9f556a05afada47ca3d9 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index bf3ae63d95a2e776783f6e19086fe04405c40ba8..1afa51aef32e08d5690f8dc840d75402083ec000 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index a20b2ced95383a9341ed01f79e5e3d79997d951b..824b31774d50af80a8d219eab82d3afd32429f82 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 990b7a94fbda930b0bc9c28f54f682356e955aed..abde280e27d6cde0c6e9ad52bd88b3bd5f04aca2 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 11a18fecc8ceeff09771d9bfc275223fd1e6fec7..95900687116613c4d2697c497dc7e03c1e6fa99c 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 285b3b99c45e9c4e81e27e3c5841a437cb609958..1479ae7ddb88a683c3f18a83ee9faca50f18f7a9 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 6f477ff1b57b3ee02b48130311d154f5dd80b16b..6f7047f15c02021fe96fad22b955d68d35ebe3f8 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 005752baf98e12f541683c8aa9f258b6a7d03354..fb545562ffa288a2925e7e71c876bcf5d72d8a32 100644 (file)
@@ -1035,7 +1035,7 @@ namespace Microsoft.Build.BuildEngine {
                        evaluatedProperties.AddProperty (new BuildProperty ("OS", OS, PropertyType.Environment));
 #if XBUILD_12
                        // see http://msdn.microsoft.com/en-us/library/vstudio/hh162058(v=vs.120).aspx
-                       if (effective_tools_version == "12.0") {
+                       if (effective_tools_version == "12.0" || effective_tools_version == "14.0") {
                                evaluatedProperties.AddProperty (new BuildProperty ("MSBuildToolsPath32", toolsPath, PropertyType.Reserved));
 
                                var frameworkToolsPath = ToolLocationHelper.GetPathToDotNetFramework (TargetDotNetFrameworkVersion.Version451);
index bb49f566b8a340500e3691a5648809804169bbff..652aab45f53431245fbb367815ea1c81734aee21 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 617a50837a9150815f5e3e17b2042363996ad79a..ad57c7d514e57e4c05ea4c58c2535ef61eb95b60 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 1ef496f8f5f049ec213ab281c59bac672a18690d..d051dbefb947465da844bc655be2a7017172f4dd 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index f5758df8e1fbc239e6fb15b585ce7776acd987ab..3bdf7111df8b3295f5f37cd50d92238d846128e5 100644 (file)
@@ -128,6 +128,10 @@ namespace Microsoft.Build.Tasks {
                        relatedFiles = tempRelatedFiles.Values.ToArray ();
                        resolvedDependencyFiles = tempResolvedDepFiles.Values.ToArray ();
 
+#if XBUILD_14
+                       DependsOnSystemRuntime = resolvedDependencyFiles.Any (x => Path.GetFileName (x.ItemSpec) == "System.Runtime.dll").ToString ();
+#endif
+
                        tempResolvedFiles.Clear ();
                        tempCopyLocalFiles.Clear ();
                        tempSatelliteFiles.Clear ();
index 2f0986dab6358544642feacbd1935f0c82b03aeb..1e5e1913b4342c0b271bca55f4a260bff1a4288f 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 66d284c9fc41ca88f203722ca4e3d9282028a1fa..24dd6dd3751303edd192404062260cb9e7a61500 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+$(ProjectDir)\..\..\jay\jay -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Microsoft.Build.Internal\ExpressionParser.jay > $(ProjectDir)\Microsoft.Build.Internal\ExpressionParser.cs
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+$(ProjectDir)\..\..\jay\jay -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Microsoft.Build.Internal\ExpressionParser.jay > $(ProjectDir)\Microsoft.Build.Internal\ExpressionParser.cs
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 6432f9b85bf7e703edd003d1357c88b9cfc8d25a..4b2bc7d98a77bfc48a27217a80408c71ab94ffbe 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index bf10792c238223ed2d2bd3cb8b83d7fc72caf76b..8fe58e637bdc6d3f943942127a89a8afa7c899d0 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 263a33e3eecc5b9d0d8a8c5877db7d45d0c93e67..e68b8bf4ab61403e253de8e4cd805fcebe1ee00b 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 6dd441ac3318ecf0334367021d47c3f105ccaaec..1f86305857f2d743b5a753a20afa9bad286bde69 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,169,219,414,1030,3001,3005,3006</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index eecdcb8d27f78bc2a51af4491548df8afb374f4f..36c99153b4962d85f4f9e3620e29543ed07348e4 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 28041b559477e5ac013f3b5a051c80ebffb15a72..51868debb9ffd59aa543ab0c2aa416e90a5278ae 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index befc3a00eea14875db7f2319365ff712b53aea09..c4aee220b49858a4c6b34793604d5c0f575932a9 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 68a125f652c0c5682199cf3a3f1d4afdaa9143a4..f1cbfb1d8fe0ac5002cadaf05368ae0cb073866a 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 215e1ba9035a9bce8bf517a0b0e23f8e72d846f9..e2169fc9aeb7aadfad157975d8e8201a44ad1ff9 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 0e4e41a50d4699439179ad88d981fffbc8baa1e6..0b59fa3d3c91b2a45090c2f6ec514b969f00d954 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index a5453d47d276e77ca89d54779f5ff3929f886483..35eb5c1bb817dd6868bb67a56c04783756f440be 100644 (file)
@@ -42,5 +42,5 @@ $(PREBUILT): %.prebuilt: %
        cp $* $@
 
 $(RESX_RESOURCES): %.resources: %.resx
-       $(RESGEN) $< || cp $@.prebuilt $@
+       $(RESGEN) -useSourcePath $< || cp $@.prebuilt $@
 
index 97a0223ce0963c3015dc9d6bb7d0c1f63f51e017..7a1ee0ced12a4d53865db6a531fc8e46ddc87f7b 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="resources/SR.resources">\r
+    <EmbeddedResource Include="resources/SR.resources.prebuilt">\r
       <LogicalName>SR.resources</LogicalName>\r
     </EmbeddedResource>\r
     <EmbeddedResource Include="resources/SQLiteCommand.bmp">\r
index 5fc27764535c1c8151316703c3455cad371e9ea5..262c68e191d548b38b37ccc9868e05762761c0da 100644 (file)
@@ -178,7 +178,7 @@ namespace MonoTests.Mono.Data.Sqlite
                        }
                }
 
-               void AddParameter (System.Data.Common.DbCommand cm, string name, object value)
+               void AddParameter (global::System.Data.Common.DbCommand cm, string name, object value)
                {
                        var param = cm.CreateParameter ();
                        param.ParameterName = ":" + name;
index 7f6af225caffab319eeb52fc23961198bd647d2e..b03b61a4867a141326e27cd405391829900fcd40 100644 (file)
@@ -61,7 +61,7 @@ namespace MonoTests.Mono.Data.Sqlite
                        textP.Value=builder.ToString();
                        floatP.Value=Convert.ToInt64(random.Next(999));
                        integerP.Value=random.Next(999);
-                       blobP.Value=System.Text.Encoding.UTF8.GetBytes("\u05D0\u05D1\u05D2" + builder.ToString());
+                       blobP.Value=global::System.Text.Encoding.UTF8.GetBytes("\u05D0\u05D1\u05D2" + builder.ToString());
                        
                        SqliteCommand selectCmd = new SqliteCommand("SELECT * from t1", _conn);
 
@@ -79,7 +79,7 @@ namespace MonoTests.Mono.Data.Sqlite
                                        
                                        object compareValue;
                                        if (blobP.Value is byte[])
-                                               compareValue = System.Text.Encoding.UTF8.GetString ((byte[])blobP.Value);
+                                               compareValue = global::System.Text.Encoding.UTF8.GetString ((byte[])blobP.Value);
                                        else
                                                compareValue = blobP.Value;
                                        Assert.AreEqual(reader["b"], compareValue);
diff --git a/mcs/class/Mono.Data.Sqlite/monodroid_Mono.Data.Sqlite_test.dll.exclude.sources b/mcs/class/Mono.Data.Sqlite/monodroid_Mono.Data.Sqlite_test.dll.exclude.sources
new file mode 100644 (file)
index 0000000..cc310ba
--- /dev/null
@@ -0,0 +1 @@
+#include monodroid_Mono.Data.Sqlite_test.dll.new-exclude.sources
diff --git a/mcs/class/Mono.Data.Sqlite/monodroid_Mono.Data.Sqlite_test.dll.new-exclude.sources b/mcs/class/Mono.Data.Sqlite/monodroid_Mono.Data.Sqlite_test.dll.new-exclude.sources
new file mode 100644 (file)
index 0000000..99a8ffe
--- /dev/null
@@ -0,0 +1,2 @@
+SqliteDataReaderTest.cs
+SqliteParameterUnitTests.cs
diff --git a/mcs/class/Mono.Data.Sqlite/monodroid_Mono.Data.Sqlite_test.dll.sources b/mcs/class/Mono.Data.Sqlite/monodroid_Mono.Data.Sqlite_test.dll.sources
new file mode 100644 (file)
index 0000000..80f5788
--- /dev/null
@@ -0,0 +1 @@
+#include Mono.Data.Sqlite_test.dll.sources
index 9851beb1a81637581419d04c1504ba9e619ff1de..082a3e024a76a38b799eb62d7623cc7ab73b11ab 100644 (file)
   </resheader>\r
   <assembly alias="System.Windows.Forms" name="System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />\r
   <data name="DataTypes" type="System.Resources.ResXFileRef, System.Windows.Forms">\r
-    <value>resources/DataTypes.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>\r
+    <value>DataTypes.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>\r
   </data>\r
   <data name="Keywords" xml:space="preserve">\r
     <value>ALL,ALTER,AND,AS,AUTOINCREMENT,BETWEEN,BY,CASE,CHECK,COLLATE,COMMIT,CONSTRAINT,CREATE,CROSS,DEFAULT,DEFERRABLE,DELETE,DISTINCT,DROP,ELSE,ESCAPE,EXCEPT,FOREIGN,FROM,FULL,GROUP,HAVING,IN,INDEX,INNER,INSERT,INTERSECT,INTO,IS,ISNULL,JOIN,LEFT,LIMIT,NATURAL,NOT,NOTNULL,NULL,ON,OR,ORDER,OUTER,PRIMARY,REFERENCES,RIGHT,ROLLBACK,SELECT,SET,TABLE,THEN,TO,TRANSACTION,UNION,UNIQUE,UPDATE,USING,VALUES,WHEN,WHERE</value>\r
   </data>\r
   <data name="MetaDataCollections" type="System.Resources.ResXFileRef, System.Windows.Forms">\r
-    <value>resources/MetaDataCollections.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>\r
+    <value>MetaDataCollections.xml;System.String, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089;utf-8</value>\r
   </data>\r
-</root>
\ No newline at end of file
+</root>\r
index 6cd7afd6969ffeae4339684b6c818cddf08017d4..a1b59026c1d47d9fb1fb80625a395623579d1e80 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index dc0f55b2dcc3dda336f9a4c968dca731c6a9c872..51d78f17c2fbf656c1dbb7b1a121a458e6ad6bfb 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index c07ad14848e2a0736a223c504e3af671a1806fd9..c0af12cb38ac15d9f023d11cfffa62408e2fb559 100644 (file)
@@ -1675,7 +1675,7 @@ public class DebuggerTests
 
                TypeMirror t = o.Type;
 
-               Assert.AreEqual ("MonoType", t.GetTypeObject ().Type.Name);
+               Assert.AreEqual ("RuntimeType", t.GetTypeObject ().Type.Name);
        }
 
        [Test]
index 22197c62a16d8d7640962f547402e98a912ab288..781affa962a70637a5b24e3271886ad1ec55044f 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,618</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 762770a4e60395618d21aa1618697423ee71292f..9aa0a5dffaf85f310ce84f3c8828737d2dc8699a 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index e500b61268ecc1ebfa1fe28d9717dea2e397eb37..40771592cda08379045b3013d8644da60516962d 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,618</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index d53142fbe7b8eeea0bef60e0b626515d85ce87eb..8b83f6323907e479ef4c20d46a86603b246a5c8b 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index c19f6c41465909c9ee44379baa2f9e641ff30de3..d8f8685ff498a07648df1afe0ae3ba96eb694e45 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 6986570cc42daa1bd78e7eb78b3feb84499f9824..f5de89dfdd4753428e3242c3e3ddbd21c02f9cf3 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index a7c083c170bd3529e07ab0efb938460c60aea291..51e6db7e1d820b7e97deff2aa6f6370cd2ec5978 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,618,612</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 1edf3f08289ecdce1296aabefc191b71b2c63d07..2f0747294d316bdb587f7af87c1d1c7734c07f40 100644 (file)
@@ -1001,7 +1001,7 @@ namespace MonoTests.Mono.Unix {
 
                        Assert.AreEqual (end.Length, bytes.Length, prefix + ": byte length");
 
-                       for (int i = 0; i < Math.Min (bytes.Length, end.Length); ++i)
+                       for (int i = 0; i < global::System.Math.Min (bytes.Length, end.Length); ++i)
                                Assert.AreEqual (end [i], bytes [i], prefix + ": byte " + i);
 
                        int cc = unix.GetCharCount (end, 0, end.Length);
@@ -1012,7 +1012,7 @@ namespace MonoTests.Mono.Unix {
 
                        Assert.AreEqual (start.Length, r, prefix + ": chars length");
 
-                       for (int i = 0; i < Math.Min (r, start.Length); ++i) {
+                       for (int i = 0; i < global::System.Math.Min (r, start.Length); ++i) {
                                Assert.AreEqual (start [i], chars [i], prefix + ": char " + i);
                        }
                }
diff --git a/mcs/class/Mono.Posix/monodroid_Mono.Posix_test.dll.exclude.sources b/mcs/class/Mono.Posix/monodroid_Mono.Posix_test.dll.exclude.sources
new file mode 100644 (file)
index 0000000..0facffb
--- /dev/null
@@ -0,0 +1,2 @@
+#include monodroid_Mono.Posix_test.dll.new-exclude.sources
+Mono.Unix.Android/TestHelper.cs
diff --git a/mcs/class/Mono.Posix/monodroid_Mono.Posix_test.dll.new-exclude.sources b/mcs/class/Mono.Posix/monodroid_Mono.Posix_test.dll.new-exclude.sources
new file mode 100644 (file)
index 0000000..ed73374
--- /dev/null
@@ -0,0 +1,3 @@
+Mono.Unix.Native/SocketTest.cs
+Mono.Unix/UnixEndPointTest.cs
+Mono.Unix/UnixListenerTest.cs
diff --git a/mcs/class/Mono.Posix/monodroid_Mono.Posix_test.dll.sources b/mcs/class/Mono.Posix/monodroid_Mono.Posix_test.dll.sources
new file mode 100644 (file)
index 0000000..3af39db
--- /dev/null
@@ -0,0 +1 @@
+#include Mono.Posix_test.dll.sources
index 56df73d677eeab611ed02b7346a6ce9a21d4ac7b..115c3f25a7f79679d268d265a7c4e9bf231da541 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,1030</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index b43adf5c182423137124391a5f749d3138384a0a..771d99fc965243f0dede1b257dcaf3a1f3cecc62 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,1030</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 6ca98638d13f13eb8939f9e423a0165e6fa3369e..158b09579821b0b2ed821f1a9031247f702456af 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,1030</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index d33e06c0977da4b23d17badcc44e2c1a43ad638f..32ceb3003558fdfd3269122131eef77d414889c4 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,1030</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 6e5bcad5f5ccb26acd6ea29d11503db35c658f98..6eb3f05da224a9b1b444b7156f27f34b432d7c08 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index a8c704307643fd2426e751b41d70f86c3f0fdd68..e6e48767bf6173f7e82fe65dc206f5ef05123932 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,1030,3009</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 7240fa548094b57bcb9c7068fc616ff4423ef8d0..17648d708696c16f28d08ab397cfdd81dbdd7eae 100644 (file)
@@ -93,7 +93,7 @@ namespace Mono.Security.Cryptography {
                        // p and q values should have a length of half the strength in bits
                        int pbitlength = ((KeySize + 1) >> 1);
                        int qbitlength = (KeySize - pbitlength);
-                       const uint uint_e = 17;
+                       const uint uint_e = 65537;
                        e = uint_e; // fixed
        
                        // generate p, prime and (p-1) relatively prime to e
diff --git a/mcs/class/Mono.Security/monodroid_Mono.Security_test.dll.build-failure-exclude.sources b/mcs/class/Mono.Security/monodroid_Mono.Security_test.dll.build-failure-exclude.sources
new file mode 100644 (file)
index 0000000..38e0f0a
--- /dev/null
@@ -0,0 +1,20 @@
+# These fail because of reliance on full NUnit framework
+Mono.Math/ArithmeticBigTest.cs
+Mono.Math/BigIntegerSetTest.cs
+Mono.Math/BitwiseTest.cs
+Mono.Math/GcdBigTest.cs
+Mono.Math/ModInverseBigTest.cs
+Mono.Math/ModRingTest.cs
+Mono.Math/PrimeGenerationTest.cs
+Mono.Math/PrimeTestingTest.cs
+Mono.Math/SearchGeneratorTest.cs
+Mono.Security.Authenticode/PrivateKeyTest.cs
+Mono.Security.Cryptography/CryptoConvertTest.cs
+Mono.Security.Cryptography/DiffieHellmanManagedTest.cs
+Mono.Security.Cryptography/PKCS8Test.cs
+Mono.Security.Protocol.Ntlm/ChallengeResponseTest.cs
+Mono.Security.Protocol.Ntlm/MessageBaseTest.cs
+Mono.Security.Protocol.Ntlm/Type1MessageTest.cs
+Mono.Security.Protocol.Ntlm/Type2MessageTest.cs
+Mono.Security.Protocol.Ntlm/Type3MessageTest.cs
+Mono.Security/StrongNameTest.cs
diff --git a/mcs/class/Mono.Security/monodroid_Mono.Security_test.dll.exclude.sources b/mcs/class/Mono.Security/monodroid_Mono.Security_test.dll.exclude.sources
new file mode 100644 (file)
index 0000000..955ebd0
--- /dev/null
@@ -0,0 +1,2 @@
+#include monodroid_Mono.Security_test.dll.build-failure-exclude.sources
+#include monodroid_Mono.Data.Sqlite_test.dll.new-exclude.sources
diff --git a/mcs/class/Mono.Security/monodroid_Mono.Security_test.dll.new-exclude.sources b/mcs/class/Mono.Security/monodroid_Mono.Security_test.dll.new-exclude.sources
new file mode 100644 (file)
index 0000000..580b47d
--- /dev/null
@@ -0,0 +1,14 @@
+Mono.Security.Authenticode/AuthenticodeDeformatterTest.cs
+Mono.Security.Authenticode/SoftwarePublisherCertificateTest.cs
+Mono.Security/PKCS7Test.cs
+Mono.Security.X509.Extensions/AuthorityKeyIdentifierExtensionTest.cs
+Mono.Security.X509.Extensions/BasicConstraintsExtensionTest.cs
+Mono.Security.X509.Extensions/ExtendedKeyUsageExtensionTest.cs
+Mono.Security.X509.Extensions/KeyUsageExtensionTest.cs
+Mono.Security.X509.Extensions/SubjectAltNameExtensionTest.cs
+Mono.Security.X509.Extensions/SubjectKeyIdentifierExtensionTest.cs
+Mono.Security.X509/PKCS12Test.cs
+Mono.Security.X509/X501NameTest.cs
+Mono.Security.X509/X509CertificateTest.cs
+Mono.Security.X509/X509CrlTest.cs
+Mono.Security.X509/X520AttributesTest.cs
diff --git a/mcs/class/Mono.Security/monodroid_Mono.Security_test.dll.sources b/mcs/class/Mono.Security/monodroid_Mono.Security_test.dll.sources
new file mode 100644 (file)
index 0000000..37fa889
--- /dev/null
@@ -0,0 +1 @@
+#include Mono.Security_test.dll.sources
index 95c99829e41b9537f6a03e64c88f9b3704970008..6c2e89d188014cbb752cd53ab70afa79703f3ab0 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 4d1b39fb152d71db0b8134ab97e09818de756a5a..2549142742184addc6e9678cd7f24e1ca9575fa4 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index fe80d974eb532ad0caf2243f586be0353740328b..7184cb7c2e5fcdb2f8d140c0e8cf06e22714adcb 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index a2fa38e9f5dfed4f7d251539f35fe756241296ff..88bcc5bf2e1db6c177a74ae2a768f039d4ea15b7 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 404018bade8752706547eea4347c6f06b3eee159..fe6669ed6c34fcffe0df07861a45cf5a996ce975 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,612</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="Novell.Directory.Ldap.Utilclass/ResultCodeMessages.resources">\r
+    <EmbeddedResource Include="Novell.Directory.Ldap.Utilclass/ResultCodeMessages.resx">\r
       <LogicalName>ResultCodeMessages.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index 0a1795db952fbb1a30697cca3ffa484a6f4c66b1..dd4b88112dd7d1bac281c6ff8fd7c9c6d6a275e9 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,414,618</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 5539fea58542a651bacf83c80fae6f99cd4f8978..79d7d285b098821fedc2af32b2487ee860625bde 100644 (file)
@@ -197,7 +197,7 @@ namespace RabbitMQ.Client.Apigen {
            m_primitiveTypeFlagMap[amqpType] = isReference;
        }
 
-        public void HandleOption(string opt) {
+        public bool HandleOption(string opt) {
             if (opt.StartsWith("/n:")) {
                 m_framingSubnamespace = opt.Substring(3);
             } else if (opt.StartsWith("/apiName:")) {
@@ -210,9 +210,9 @@ namespace RabbitMQ.Client.Apigen {
             } else if (opt == "/c") {
                 m_emitComments = true;
             } else {
-                Console.Error.WriteLine("Unsupported command-line option: " + opt);
-                Usage();
+               return false;
             }
+           return true;
         }
 
         public void Usage() {
@@ -227,7 +227,8 @@ namespace RabbitMQ.Client.Apigen {
 
         public Apigen(ArrayList args) {
             while (args.Count > 0 && ((string) args[0]).StartsWith("/")) {
-                HandleOption((string) args[0]);
+               if (!HandleOption((string) args[0]))
+                 break;
                 args.RemoveAt(0);
             }
             if ((args.Count < 2)
index b9e0ba418dea120c9bf97f508825de3be70dc420..21fe03503f4fba1d875c8834f261957f834cef81 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Exe</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     <StartupObject>RabbitMQ.Client.Apigen.Apigen</StartupObject>\r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+mono RabbitMQ.Client.Apigen.exe /n:v0_9 "/apiName:AMQP_0_9" $(ProjectDir)..\..\docs\specs\amqp0-9.stripped.xml $(ProjectDir)..\..\docs\specs\net_4_x-api-0-9.cs
+mono RabbitMQ.Client.Apigen.exe /n:v0_8 "/apiName:AMQP_0_8" $(ProjectDir)..\..\docs\specs\amqp0-8.stripped.xml $(ProjectDir)..\..\docs\specs\net_4_x-api-0-8.cs
+mono RabbitMQ.Client.Apigen.exe /n:v0_8qpid "/apiName:AMQP_0_8_QPID" $(ProjectDir)..\..\docs\specs\qpid-amqp.0-8.stripped.xml $(ProjectDir)..\..\docs\specs\net_4_x-api-qpid-0-8.cs
+
+
+
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+mono RabbitMQ.Client.Apigen.exe /n:v0_9 "/apiName:AMQP_0_9" $(ProjectDir)..\..\docs\specs\amqp0-9.stripped.xml $(ProjectDir)..\..\docs\specs\net_4_x-api-0-9.cs
+mono RabbitMQ.Client.Apigen.exe /n:v0_8 "/apiName:AMQP_0_8" $(ProjectDir)..\..\docs\specs\amqp0-8.stripped.xml $(ProjectDir)..\..\docs\specs\net_4_x-api-0-8.cs
+mono RabbitMQ.Client.Apigen.exe /n:v0_8qpid "/apiName:AMQP_0_8_QPID" $(ProjectDir)..\..\docs\specs\qpid-amqp.0-8.stripped.xml $(ProjectDir)..\..\docs\specs\net_4_x-api-qpid-0-8.cs
+
+
+
 \r
     </PostBuildEvent>\r
   </PropertyGroup>\r
index f2ecc2d0dc6503a8d3a4a89eaadb40dde4ea3df3..e062f5481634cc77b9baf72a0bfdbcad31debe1f 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,618</NoWarn>\r
     <OutputPath>./../../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index ef15167827d947043edda7ae349e825b519ddc12..d20c1ba9eb9fa5fa8ce54dd469a5be393197e23c 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 2b11d6f338a7a3079cca47a7ae307d5964cad279..a676a9be185897d8d4b914c88a57ace42cf0eada 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,219,414</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+resgen $(ProjectDir)\src\ComponentModel\Strings.resx $(ProjectDir)\Microsoft.Internal.Strings.resx
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
-\r
+resgen $(ProjectDir)\src\ComponentModel\Strings.resx $(ProjectDir)\Microsoft.Internal.Strings.resx\r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="Microsoft.Internal.Strings.resources">\r
+    <EmbeddedResource Include="Microsoft.Internal.Strings.resx">\r
       <LogicalName>Microsoft.Internal.Strings.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index 93016cddf4e4761cca4cdbc47048472272249681..69eacf9c62079cd72bb359dc9ff3a731ee6b72c7 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,414</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/monodroid_System.ComponentModel.DataAnnotations_test.dll.exclude.sources b/mcs/class/System.ComponentModel.DataAnnotations/monodroid_System.ComponentModel.DataAnnotations_test.dll.exclude.sources
new file mode 100644 (file)
index 0000000..f3d94ae
--- /dev/null
@@ -0,0 +1,2 @@
+#include monodroid_System.ComponentModel.DataAnnotations_test.dll.new-exclude.sources
+../../System.Web.DynamicData/Test/Common/AssertExtensions.cs
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/monodroid_System.ComponentModel.DataAnnotations_test.dll.new-exclude.sources b/mcs/class/System.ComponentModel.DataAnnotations/monodroid_System.ComponentModel.DataAnnotations_test.dll.new-exclude.sources
new file mode 100644 (file)
index 0000000..705868f
--- /dev/null
@@ -0,0 +1,6 @@
+System.ComponentModel.DataAnnotations/AssociatedMetadataTypeTypeDescriptionProviderTests.cs
+System.ComponentModel.DataAnnotations/CompareAttributeTest.cs
+System.ComponentModel.DataAnnotations/CreditCardAttributeTest.cs
+System.ComponentModel.DataAnnotations/EmailAddressAttributeTest.cs
+System.ComponentModel.DataAnnotations/FileExtensionsAttributeTest.cs
+System.ComponentModel.DataAnnotations/PhoneAttributeTest.cs
diff --git a/mcs/class/System.ComponentModel.DataAnnotations/monodroid_System.ComponentModel.DataAnnotations_test.dll.sources b/mcs/class/System.ComponentModel.DataAnnotations/monodroid_System.ComponentModel.DataAnnotations_test.dll.sources
new file mode 100644 (file)
index 0000000..4be89ed
--- /dev/null
@@ -0,0 +1 @@
+#include System.ComponentModel.DataAnnotations_test.dll.sources
index d650e210d25b9cd193c734f122f09f67a61260f6..d830e4f80397d064a3b6f160b934ee9328036c69 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 11da92eea0b4818413b35afd0648cb1df14cfcba..61bfe7fa885569ab3c0bfd7be709fa77954791c2 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,618</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 1c540e072c7cf6833dec7c2f4f488cdf366fa461..2f65fc4c3bec1a546f3eb5e5eac62f4bef381221 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,1720</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 075c3ac2bf0783ab1d4d7dd333e2f3aa99b5559d..110a22b1b29efd2295f370df532da13da5bba1ee 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,1720</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x/plaincore</OutputPath>\r
+    <IntermediateOutputPath>obj-plaincore</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
diff --git a/mcs/class/System.Core/mobile_static_System.Core_test.dll.exclude.sources b/mcs/class/System.Core/mobile_static_System.Core_test.dll.exclude.sources
new file mode 100644 (file)
index 0000000..f98bf05
--- /dev/null
@@ -0,0 +1 @@
+System.IO.Pipes/PipeSecurityTest.cs
diff --git a/mcs/class/System.Core/mobile_static_System.Core_test.dll.excludes b/mcs/class/System.Core/mobile_static_System.Core_test.dll.excludes
deleted file mode 100644 (file)
index f98bf05..0000000
+++ /dev/null
@@ -1 +0,0 @@
-System.IO.Pipes/PipeSecurityTest.cs
diff --git a/mcs/class/System.Core/monodroid_System.Core_test.dll.exclude.sources b/mcs/class/System.Core/monodroid_System.Core_test.dll.exclude.sources
new file mode 100644 (file)
index 0000000..40eb2dc
--- /dev/null
@@ -0,0 +1,2 @@
+#include mobile_static_System.Core_test.dll.exclude.sources
+#include monodroid_System.Core_test.dll.new-exclude.sources
diff --git a/mcs/class/System.Core/monodroid_System.Core_test.dll.new-exclude.sources b/mcs/class/System.Core/monodroid_System.Core_test.dll.new-exclude.sources
new file mode 100644 (file)
index 0000000..cabaa42
--- /dev/null
@@ -0,0 +1,5 @@
+../../corlib/Test/System.Security.Cryptography/HashAlgorithmTest.cs
+../../corlib/Test/System.Security.Cryptography/SHA1Test.cs
+../../corlib/Test/System.Security.Cryptography/SHA256Test.cs
+../../corlib/Test/System.Security.Cryptography/SHA384Test.cs
+../../corlib/Test/System.Security.Cryptography/SHA512Test.cs
diff --git a/mcs/class/System.Core/monodroid_System.Core_test.dll.sources b/mcs/class/System.Core/monodroid_System.Core_test.dll.sources
new file mode 100644 (file)
index 0000000..33e2a10
--- /dev/null
@@ -0,0 +1 @@
+#include System.Core_test.dll.sources
index d26913a3034a3db6a78dd167bca806a0a6f2ae12..8d845d576bfdb841b95a8725dad1639f3457a468 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 766da0f708b101fd6c08c23be4db954a2360fa12..25275651f16facb771430c017c4c282435c06060 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 7396a0fc98e7c88d66395faaac7aca1f05a36208..02e0b4aba48b76bfea5950cb7ce2047824976016 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 5cdd079f18c897fa7f9b089e045ac3d7be0034a1..e569ce44aadc5670c18fb99983c1862d418eb8d4 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index dea01ac0602781b325727123389e3788a1dc454a..55b9e130c8cb94ae7b31498208e72f82e704d284 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+resgen $(ProjectDir)\Client\System.Data.Services.Client.txt $(ProjectDir)\Client\System.Data.Services.Client.resx
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
-\r
+resgen $(ProjectDir)\Client\System.Data.Services.Client.txt $(ProjectDir)\Client\System.Data.Services.Client.resx\r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="Client/System.Data.Services.Client.resources">\r
+    <EmbeddedResource Include="Client/System.Data.Services.Client.resx">\r
       <LogicalName>System.Data.Services.Client.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index 791eb057bfda3b260a84437086545ab871d2a443..6a4ef89e6c8bf13b70136105c1fa71096935b7c4 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 26be8acb8cf54a024214dc64925696a108c5d8f3..552ec452530cb80208bf70b344bf1986735968df 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,169,219,414,649</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
diff --git a/mcs/class/System.Data/mobile_static_System.Data_test.dll.exclude.sources b/mcs/class/System.Data/mobile_static_System.Data_test.dll.exclude.sources
new file mode 100644 (file)
index 0000000..0022a9e
--- /dev/null
@@ -0,0 +1,18 @@
+System.Data.Odbc/OdbcCommandBuilderTest.cs
+System.Data.Odbc/OdbcCommandTest.cs
+System.Data.Odbc/OdbcConnectionStringBuilderTest.cs
+System.Data.Odbc/OdbcConnectionTest.cs
+System.Data.Odbc/OdbcDataAdapterTest.cs
+System.Data.Odbc/OdbcDataReaderTest.cs
+System.Data.Odbc/OdbcMetaDataCollectionNamesTest.cs
+System.Data.Odbc/OdbcParameterCollectionTest.cs
+System.Data.Odbc/OdbcParameterTest.cs
+System.Data.Odbc/OdbcPermissionAttributeTest.cs
+System.Data.Odbc/OdbcPermissionTest.cs
+System.Data.OleDb/OleDbCommandTest.cs
+System.Data.OleDb/OleDbConnectionTest.cs
+System.Data.OleDb/OleDbDataAdapterTest.cs
+System.Data.OleDb/OleDbMetaDataCollectionNamesTest.cs
+System.Data.OleDb/OleDbParameterCollectionTest.cs
+System.Data.OleDb/OleDbPermissionAttributeTest.cs
+System.Data.OleDb/OleDbPermissionTest.cs
diff --git a/mcs/class/System.Data/mobile_static_System.Data_test.dll.excludes b/mcs/class/System.Data/mobile_static_System.Data_test.dll.excludes
deleted file mode 100644 (file)
index 0022a9e..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-System.Data.Odbc/OdbcCommandBuilderTest.cs
-System.Data.Odbc/OdbcCommandTest.cs
-System.Data.Odbc/OdbcConnectionStringBuilderTest.cs
-System.Data.Odbc/OdbcConnectionTest.cs
-System.Data.Odbc/OdbcDataAdapterTest.cs
-System.Data.Odbc/OdbcDataReaderTest.cs
-System.Data.Odbc/OdbcMetaDataCollectionNamesTest.cs
-System.Data.Odbc/OdbcParameterCollectionTest.cs
-System.Data.Odbc/OdbcParameterTest.cs
-System.Data.Odbc/OdbcPermissionAttributeTest.cs
-System.Data.Odbc/OdbcPermissionTest.cs
-System.Data.OleDb/OleDbCommandTest.cs
-System.Data.OleDb/OleDbConnectionTest.cs
-System.Data.OleDb/OleDbDataAdapterTest.cs
-System.Data.OleDb/OleDbMetaDataCollectionNamesTest.cs
-System.Data.OleDb/OleDbParameterCollectionTest.cs
-System.Data.OleDb/OleDbPermissionAttributeTest.cs
-System.Data.OleDb/OleDbPermissionTest.cs
index 6f165bfc43f1a34d2f675cee103329a0c089d4b7..bd40ae2f3a7c56941ed90529dd97837e421f365b 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 9340ea5f0362882f709969b3d6099555b5655736..4750c28d29fd9972de0daaeb2c9f2953b2a77d46 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index c7f1dbd4fde959d8d64c24088ad9686c6f8a9a7b..1248aef2a74f2e9efc3b889b2ace8dc482c994fe 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x/plaindesign</OutputPath>\r
+    <IntermediateOutputPath>obj-plaindesign</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index a97f02ac05a575551dbda2c91d371a2029b8954d..f00cf92ef4e5efd6ec28760c9ff4d9341a24662d 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index e23409860426ea6f042d52f7f40db935294a73b0..31cfc603485e3bc1bda074c53dc138df526d7e12 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 1462287bffa8cd8bddde8b545ad6cacdd7134499..cd5243850061ff0556e89678951c9837a4f8029a 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 74f19bfcadf82dac4dd61995c390112a6ad08403..00f54219c78c3923f771a72924af6a13a7a73d15 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index a7964880cd66d653e4f2a2ec6c4c464f4c23e558..c7ee9e4201b0c0faf9e8c41748eaaa907a79a50b 100644 (file)
@@ -71,6 +71,27 @@ namespace MonoTests.System.Drawing.Imaging {
                        return sRslt;
                }
 
+               private bool IsArm64Process ()
+               {
+                       if (Environment.OSVersion.Platform != PlatformID.Unix || !Environment.Is64BitProcess)
+                               return false;
+
+                       try {
+                               var process = new global::System.Diagnostics.Process ();
+                               process.StartInfo.FileName = "uname";
+                               process.StartInfo.Arguments = "-m";
+                               process.StartInfo.RedirectStandardOutput = true;
+                               process.StartInfo.UseShellExecute = false;
+                               process.Start ();
+                               process.WaitForExit ();
+                               var output = process.StandardOutput.ReadToEnd ();
+
+                               return output.Trim () == "aarch64";
+                       } catch {
+                               return false;
+                       }
+               }
+
                /* Checks bitmap features on a known 1bbp bitmap */
                [Test]
                public void Bitmap1bitFeatures ()
@@ -290,6 +311,9 @@ namespace MonoTests.System.Drawing.Imaging {
                [Test]
                public void Bitmap2bitFeatures ()
                {
+                       if (IsArm64Process ())
+                               Assert.Ignore ("https://bugzilla.xamarin.com/show_bug.cgi?id=41171");
+
                        string sInFile = getInFile ("bitmaps/81674-2bpp.png");
                        using (Bitmap bmp = new Bitmap (sInFile)) {
                                GraphicsUnit unit = GraphicsUnit.World;
@@ -318,6 +342,9 @@ namespace MonoTests.System.Drawing.Imaging {
                [Test]
                public void Bitmap2bitPixels ()
                {
+                       if (IsArm64Process ())
+                               Assert.Ignore ("https://bugzilla.xamarin.com/show_bug.cgi?id=41171");
+
                        string sInFile = getInFile ("bitmaps/81674-2bpp.png");
                        using (Bitmap bmp = new Bitmap (sInFile)) {
 #if false
@@ -350,6 +377,9 @@ namespace MonoTests.System.Drawing.Imaging {
                [Test]
                public void Bitmap2bitData ()
                {
+                       if (IsArm64Process ())
+                               Assert.Ignore ("https://bugzilla.xamarin.com/show_bug.cgi?id=41171");
+
                        string sInFile = getInFile ("bitmaps/81674-2bpp.png");
                        using (Bitmap bmp = new Bitmap (sInFile)) {
                                BitmapData data = bmp.LockBits (new Rectangle (0, 0, bmp.Width, bmp.Height), ImageLockMode.ReadOnly, PixelFormat.Format24bppRgb);
index a6eebd3e7ddad7080cbabe694c53f468e81b1a8e..788104cabe5d626d6e7c3fdc72a29bf1ca6d531a 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,414,169</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 0ea0452741f395add50f679debb13c58fb739835..d0a7c52ddb6c39b21351b577a2544d7981f80b20 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,168,162</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 8321c09b9138b5f3293084ee89cc1737399847a6..63bf1dbfbf12cd0ba5c75e5ad8f71ead09a12a7c 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 0354311b478478a834c847ac9c3a44f88cfb2887..4321db8534e30833c490da4c67df46455d1b29cb 100644 (file)
@@ -105,5 +105,31 @@ namespace MonoTests.System.IO.Compression.FileSystem
 
                        Directory.Delete ("extract", true);
                }
+
+               [Test]
+               public void ZipCreateFromEntryChangeTimestamp()
+               {
+                       if (File.Exists ("foo.zip"))
+                               File.Delete ("foo.zip");
+
+                       var file = "foo/foo.txt";
+                       using (var archive = new ZipArchive(File.Open("foo.zip", FileMode.Create),
+                               ZipArchiveMode.Update))
+                       {
+                               archive.CreateEntryFromFile(file, file);
+                       }
+
+                       var date = File.GetLastWriteTimeUtc(file);
+
+                       using (var archive = new ZipArchive (File.Open ("foo.zip", FileMode.Open),
+                               ZipArchiveMode.Read))
+                       {
+                               var entry = archive.GetEntry (file);
+                               Assert.IsNotNull (entry);
+                               Assert.AreEqual(entry.LastWriteTime.Year, date.Year);
+                               Assert.AreEqual(entry.LastWriteTime.Month, date.Month);
+                               Assert.AreEqual(entry.LastWriteTime.Day, date.Day);
+                       }
+               }
        }
 }
index 07a8448171ed51a1723c1d989ee53ddd071de7f2..36c4146b485139d4725bb0918abe8cf65ef919d8 100644 (file)
@@ -56,6 +56,7 @@ namespace System.IO.Compression
                                FileAccess.Read, FileShare.Read))
                        {
                                var zipArchiveEntry = destination.CreateEntry (entryName, compressionLevel);
+                               zipArchiveEntry.LastWriteTime = File.GetLastWriteTimeUtc(sourceFileName);
 
                                using (Stream entryStream = zipArchiveEntry.Open ())
                                        stream.CopyTo (entryStream);
index acb5e2ddc293f37845aa6dd4235dedef3175c7a1..f19a9c27647921fb0c277f4b8f5edfe8e8ffa7fc 100644 (file)
@@ -10,7 +10,6 @@ namespace SharpCompress.Archive.Zip
     {
         private readonly string path;
         private readonly long size;
-        private readonly DateTime? lastModified;
         private readonly bool closeStream;
         private readonly Stream stream;
         private bool isDisposed;
@@ -22,7 +21,7 @@ namespace SharpCompress.Archive.Zip
             this.stream = stream;
             this.path = path;
             this.size = size;
-            this.lastModified = lastModified;
+            this.LastModifiedTime = lastModified;
             this.closeStream = closeStream;
         }
 
@@ -46,11 +45,6 @@ namespace SharpCompress.Archive.Zip
             get { return size; }
         }
 
-        public override DateTime? LastModifiedTime
-        {
-            get { return lastModified; }
-        }
-
         public override DateTime? CreatedTime
         {
             get { return null; }
index 9d8b7c82046bd17fe00839c15679b416b70d3a78..48529c618dd8e62177cf11e211a4375d7d39ca09 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 36903c675b4858391d77cc4354732ce4a12a8501..d461600299ffbbb1ee8e883897fd10787bd22ff9 100644 (file)
@@ -238,6 +238,31 @@ namespace MonoTests.System.IO.Compression
                        File.Delete ("create.zip");
                }
 
+               [Test]
+               public void ZipEnumerateEntriesModifiedTime()
+               {
+                       File.Copy("archive.zip", "test.zip", overwrite: true);
+                       var date = DateTimeOffset.Now;
+                       using (var archive = new ZipArchive(File.Open("test.zip", FileMode.Open),
+                               ZipArchiveMode.Update))
+                       {
+                               var entry = archive.GetEntry("foo.txt");
+                               entry.LastWriteTime = date;
+                       }
+
+                       using (var archive = new ZipArchive(File.Open("test.zip", FileMode.Open),
+                               ZipArchiveMode.Read))
+                       {
+                               var entry = archive.GetEntry("foo.txt");
+                               Assert.AreEqual(entry.LastWriteTime.Year, date.Year);
+                               Assert.AreEqual(entry.LastWriteTime.Month, date.Month);
+                               Assert.AreEqual(entry.LastWriteTime.Day, date.Day);
+
+                       }
+
+                       File.Delete ("test.zip");
+               }               
+
                [Test]
                public void ZipEnumerateEntriesReadMode()
                {
index 5075b892f2a191c38cc94fc0d5e86589b91e771b..e834a58af15ca7366fb3e520c06c9523fa2a7495 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index b2b3a954900b35bbbafb9eed18bb41ebe4f0b0ac..ea349ebcc43a57fd85ffff74bf19184035f5fb7f 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 4c2329392d3a0be91b5336bd1b71053d9293942f..2d13a176b82062e17226712e87b4dada3555eca8 100644 (file)
@@ -2,13 +2,13 @@ thisdir = class/System.Json.Microsoft
 SUBDIRS = 
 include ../../build/rules.make
 
-System.Json.Properties.Resources.resources: System.Json/Properties/Resources.resx
+System.Json/Properties/Resources.resources: System.Json/Properties/Resources.resx
        $(RESGEN) "$<" "$@"
 
 LIBRARY = System.Json.Microsoft.dll
 LIB_REFS = System System.Xml System.Core System.Runtime.Serialization
 LIB_MCS_FLAGS = /d:ASPNETMVC -keyfile:../winfx.pub -delaysign \
-               /resource:System.Json.Properties.Resources.resources
+               /resource:System.Json/Properties/Resources.resources,System.Json.Properties.Resources.resources
 
 EXTRA_DISTFILES = System.Json/Properties/Resources.resx
 
@@ -25,4 +25,4 @@ TEST_MCS_FLAGS = $(LIB_MCS_FLAGS)
 
 include ../../build/library.make
 
-$(the_lib): System.Json.Properties.Resources.resources
+$(the_lib): System.Json/Properties/Resources.resources
index 02f940b2b1f292aa0e58b1d553d9d10bd343d058..1f7a48e137fa0774445e41b9748978bbc29b8a14 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+cp $(ProjectDir)\System.Json\Properties\Resources.resx System.Json.Properties.Resources.resx
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
-\r
+cp $(ProjectDir)\System.Json\Properties\Resources.resx System.Json.Properties.Resources.resx\r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="System.Json.Properties.Resources.resources">\r
+    <EmbeddedResource Include="System.Json/Properties/Resources.resx">\r
       <LogicalName>System.Json.Properties.Resources.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index 96009e38b5441eabfba9242bb96b777bd12d9ec3..5a5dadfa168d8e4a3328de5149864d95cd1a2e2e 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 6e116e19515d6534a5ee82b9cf5f90a995f1dbcf..7d9b5c4017292ec9fffd36c9d7cee45d52d3182e 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index c3b3aeb26ec3baa4479f0327b9c00141d563ea6a..939068bd6f7a40d3d1d00ee3d31952ba2adbaeeb 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index ddc72f48af33536977fdca910bc508654e8ddee7..9a5218b298bbfcb69eec94da58280ccb9a99383e 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+cp $(ProjectDir)/../../../external/aspnetwebstack/src/Common/CommonWebApiResources.resx $(ProjectDir)/System.Net.Http.Properties.CommonWebApiResources.resx
+cp $(ProjectDir)/../../../external/aspnetwebstack/src/System.Net.Http.Formatting/Properties/Resources.resx $(ProjectDir)/System.Net.Http.Properties.Resources.resx
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+cp $(ProjectDir)/../../../external/aspnetwebstack/src/Common/CommonWebApiResources.resx $(ProjectDir)/System.Net.Http.Properties.CommonWebApiResources.resx
+cp $(ProjectDir)/../../../external/aspnetwebstack/src/System.Net.Http.Formatting/Properties/Resources.resx $(ProjectDir)/System.Net.Http.Properties.Resources.resx
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="System.Net.Http.Properties.CommonWebApiResources.resources">\r
+    <EmbeddedResource Include="System.Net.Http.Properties.CommonWebApiResources.resx">\r
       <LogicalName>System.Net.Http.Properties.CommonWebApiResources.resources</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Net.Http.Properties.Resources.resources">\r
+    <EmbeddedResource Include="System.Net.Http.Properties.Resources.resx">\r
       <LogicalName>System.Net.Http.Properties.Resources.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index edb1293984a5bca9e94830f68228de7d1a1d4cf6..519b2833cba57777ffc6909578023f34fc0c4af8 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 5723acb0b1cce0f3d80837d87010b6e2f01769a3..2b9a54d7fdc0000eddd99e1658c42c983ed26a63 100644 (file)
@@ -61,7 +61,9 @@ namespace System.Net.Http
                        public void Close ()
                        {
                                CancellationTokenRegistration.Dispose ();
-                               ContentStream.Close ();
+                                if (ContentStream != null) {
+                                    ContentStream.Close ();
+                                }
                        }
                }
 
index 569289f7c7438a1029a5a797a014de374b7134a1..e6e2d68457e26d135f2b8691238a53d4daf7357e 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 37833bc67086e6b96cbf74f99025feb188174496..94ad2ffb2742945f1914a1a127bd8542367a395e 100644 (file)
@@ -245,8 +245,6 @@ namespace System.Net.Http
                                wr.KeepAlive = request.Headers.ConnectionClose != true;
                        }
 
-                       wr.ServicePoint.Expect100Continue = request.Headers.ExpectContinue == true;
-
                        if (allowAutoRedirect) {
                                wr.AllowAutoRedirect = true;
                                wr.MaximumAutomaticRedirections = maxAutomaticRedirections;
@@ -270,8 +268,13 @@ namespace System.Net.Http
 
                        if (useProxy) {
                                wr.Proxy = proxy;
+                       } else {
+                               // Disables default WebRequest.DefaultWebProxy value
+                               wr.Proxy = null;
                        }
 
+                       wr.ServicePoint.Expect100Continue = request.Headers.ExpectContinue == true;
+
                        // Add request headers
                        var headers = wr.Headers;
                        foreach (var header in request.Headers) {
index 4d9265a6ac76f8e3640e82e2e75e1fa6189b8ee6..aa678a036e6d2f8219e3d89a55695dba90dfdffa 100644 (file)
@@ -150,6 +150,29 @@ namespace MonoTests.System.Net.Http
                        }
                }
 
+               class ThrowOnlyProxy : IWebProxy
+               {
+                       public ICredentials Credentials {
+                               get {
+                                       throw new NotImplementedException ();
+                               }
+
+                               set {
+                                       throw new NotImplementedException ();
+                               }
+                       }
+
+                       public Uri GetProxy (Uri destination)
+                       {
+                               throw new NotImplementedException ();
+                       }
+
+                       public bool IsBypassed (Uri host)
+                       {
+                               throw new NotImplementedException ();
+                       }
+               }
+
                const int WaitTimeout = 5000;
 
                string TestHost, LocalServer;
@@ -297,6 +320,25 @@ namespace MonoTests.System.Net.Http
                        }
                }
 
+               [Test]
+               public void Proxy_Disabled ()
+               {
+                       var pp = WebRequest.DefaultWebProxy;
+
+                       try {
+                               WebRequest.DefaultWebProxy = new ThrowOnlyProxy ();
+
+                               var request = new HttpClientHandler {
+                                       UseProxy = false
+                               };
+
+                               var client = new HttpClient (request);
+                               Assert.IsTrue (client.GetAsync ("http://google.com").Wait (5000), "needs internet access");
+                       } finally {
+                               WebRequest.DefaultWebProxy = pp;
+                       }
+               }
+
                [Test]
                public void Send ()
                {
index 77b10c583d8285d48c169a3b7d50546e76df4bcf..ac5858d1adb7fb2e77bd7ffb1f18c9db0aedf559 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,1720</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 4a15374791797f63de3fce3a5b188581f17e6a17..f782c91e5cdece5a45361cd240173ebd832cb362 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 1dcd819c11fa2ac7572d0bd0d868445931d78b02..6fe1d3aa59a18d18af49651d7566b8caf2e1edca 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 9ddb89df298712738b1eac20bfaaed864c9ec83b..7b3dfa248deb2b63a1acb932b86e6159e12da601 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="Strings_Core.resources">\r
+    <EmbeddedResource Include="Strings_Core.resources.prebuilt">\r
       <LogicalName>System.Reactive.Strings_Core.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index 47fe4981b4108972c7d90bdeb8f4fe38f4bf77bb..0fef571313a78994b8dd281b71353315ac4602ef 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 49ca9507697a37601d22b0caff3e64883c09dc1b..55e768b3fa4272cb3b755836b19dbdcc238f2f88 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index bd897add52f3350b457d961c9e38b2f88c7286e2..f0057b389b23ddf9bd27deccf199f90d5b71bfa8 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index e17bb32cf06fd882114dd571cebde8406705d1c1..67b2b8a8844cc12c1ecf09fdb1ff9da5ae8edbae 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="Strings_Linq.resources">\r
+    <EmbeddedResource Include="Strings_Linq.resources.prebuilt">\r
       <LogicalName>System.Reactive.Strings_Linq.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index dc8bfd3f49af1c178055581111542ceb4bd3e421..fcff09f9daf815ddac9f5f1b5199b28bb053b0ab 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 7b7373a25c0e7fc1b476fb9d62044b4c145f6c18..538ff9529d94ea3bd5a2ad3e223c27f652e82fa0 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="Strings_PlatformServices.resources">\r
+    <EmbeddedResource Include="Strings_PlatformServices.resources.prebuilt">\r
       <LogicalName>System.Reactive.Strings_PlatformServices.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index 3f65171aba4021caa294827cd957075cc8250217..0099448bd54ccb6132e7b2184164293adc9b2ec2 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="Strings_Providers.resources">\r
+    <EmbeddedResource Include="Strings_Providers.resources.prebuilt">\r
       <LogicalName>System.Reactive.Strings_Providers.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index f043bd020651fac1287a85869ef51f118fd2738b..2802930f4d4ca978a4218700062546d9b54c76da 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 42831aa167e68c1e594d89827af415782ff07a41..6aacf0d324f2c8fdd73912eaab23c142523f3287 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index fa33e9e5b53414a8dbf9c4cb99dee757914592f2..2399dc270ca57124a3c099787d3a8175fd4cd871 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="Strings_WindowsThreading.resources">\r
+    <EmbeddedResource Include="Strings_WindowsThreading.resources.prebuilt">\r
       <LogicalName>System.Reactive.Strings_WindowsThreading.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index 7478310ceacbfe18b4fd34eb62b435707a0c9144..3089b404bdf517604d7f302d2fc44182f6ac7e4c 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,414</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 1d10a02d863e8539ad708a7db3104c9cea9288c0..480589216b314108be5f2287752892126350686b 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index a583d46cc86601b03f76f5a4c80e0b2854ef12d0..5601f7c47a15cf354274bdf16b14caf1f3f81306 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 0eaf7a5a9cfdb5773333dc56a49fa5795418b092..d5192c051b056e3b62ef93bccd3533541c3a95ce 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 360fbb0e078ffd0298563c38aee5465de75f4783..f5de8b68d7f091c236651c67a4557732dffa711c 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,168,169,219,414</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 70a9d9a061b7b92751a6bc454e713a11e587b745..c272c83959de1942c83c6adbfd1dce692475b279 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,618,414</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 2fd6d8ca2b3a498e225e80fc832f7715e9ad765a..e959175b7337b33974be70ec92e7506991727fd4 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 073c280db8fcd2296e5657d9554f70419ab7c46f..3f021276d449fd7fe9e12d6d8b883358c8b1328c 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 6a468ecedc1c123c512f80e62e90b9490a0cd001..39e5a6128f2c71bb77153b2b7cc99392b8504400 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 4a4c2390dcbf5388bd0233923e325dbb6545bf42..35714061b5b859fc3855c3028d79876331eceba9 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 109e206b72e427f183ff3de33e51c9b84b3803cc..6724c3786315a574fd46d4351ab2bb65fa561edf 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index c7a6dbcfd27d7b5eecb68e5afdb9ce8fd545bac6..e986534126d2fbd8661da2b2f4ffe1acc5eb2a41 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 679b21825e58efb92b127b71e296f599de93fa32..4608b887c5e188ac2bf80cecbc1120f93056a827 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,414,169,67,3005,436,219,618</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x/plainservice</OutputPath>\r
+    <IntermediateOutputPath>obj-plainservice</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 966aa19433313b10f977180f8c3560c01a683408..ade3d4333395f267221663d4154f8c734a33f6aa 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,618</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index b38814c348cce180e832be741519f3645e3f89d2..a793bf739fc8c9d0daf85ee11da99df0082176aa 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index cc53054c9552bbcae2ff3c02976a38c256bf9d2a..0040fd6840b17b446d8eaca8e51b434d279d5b46 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
@@ -83,6 +84,7 @@
     <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\TransactionScopeAsyncFlowOption.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
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 36d981ebe951bb5e44c41551e5a5fb73cd2aab50..4c5394f957bb36702e1d9ffb67534bdef8449232 100644 (file)
@@ -31,6 +31,7 @@ System.Transactions/TransactionManagerCommunicationException.cs
 System.Transactions/TransactionOptions.cs
 System.Transactions/TransactionPromotionException.cs
 System.Transactions/TransactionScope.cs
+System.Transactions/TransactionScopeAsyncFlowOption.cs
 System.Transactions/TransactionScopeOption.cs
 System.Transactions/TransactionStatus.cs
 System.Transactions/Configuration/DefaultSettingsSection.cs
index 129967d9e27817a140dcc077745d6c5828158e58..167d47e8d3a70e0a84be852e860f0e84c2bd10d0 100644 (file)
@@ -31,12 +31,20 @@ namespace System.Transactions
                bool completed;
                bool isRoot;
 
+               bool asyncFlowEnabled;
+
                public TransactionScope ()
                        : this (TransactionScopeOption.Required,
                                TransactionManager.DefaultTimeout)
                {
                }
 
+               public TransactionScope(TransactionScopeAsyncFlowOption asyncFlow)
+                       : this(TransactionScopeOption.Required,
+                               TransactionManager.DefaultTimeout, asyncFlow)
+               {
+               }
+
                public TransactionScope (Transaction transaction)
                        : this (transaction, TransactionManager.DefaultTimeout)
                {
@@ -53,7 +61,7 @@ namespace System.Transactions
                        TimeSpan timeout, DTCOption opt)
                {
                        Initialize (TransactionScopeOption.Required,
-                               transaction, defaultOptions, opt, timeout);
+                               transaction, defaultOptions, opt, timeout, TransactionScopeAsyncFlowOption.Suppress);
                }
 
                public TransactionScope (TransactionScopeOption option)
@@ -62,10 +70,21 @@ namespace System.Transactions
                }
 
                public TransactionScope (TransactionScopeOption option,
-                       TimeSpan timeout)
+                       TimeSpan timeout)
+                       : this (option, timeout, TransactionScopeAsyncFlowOption.Suppress)
+               {
+               }
+
+               public TransactionScope(TransactionScopeOption option, TransactionScopeAsyncFlowOption asyncFlow)
+                       : this(option, TransactionManager.DefaultTimeout, asyncFlow)
+               {
+               }
+
+       public TransactionScope (TransactionScopeOption option,
+                       TimeSpan timeout, TransactionScopeAsyncFlowOption asyncFlow)
                {
                        Initialize (option, null, defaultOptions,
-                               DTCOption.None, timeout);
+                               DTCOption.None, timeout, asyncFlow);
                }
 
                public TransactionScope (TransactionScopeOption scopeOption,
@@ -80,16 +99,17 @@ namespace System.Transactions
                        DTCOption opt)
                {
                        Initialize (scopeOption, null, options, opt,
-                               TransactionManager.DefaultTimeout);
+                               TransactionManager.DefaultTimeout, TransactionScopeAsyncFlowOption.Suppress);
                }
 
                void Initialize (TransactionScopeOption scopeOption,
                        Transaction tx, TransactionOptions options,
-                       DTCOption interop, TimeSpan timeout)
+                       DTCOption interop, TimeSpan timeout, TransactionScopeAsyncFlowOption asyncFlow)
                {
                        completed = false;
                        isRoot = false;
                        nested = 0;
+                       asyncFlowEnabled = asyncFlow == TransactionScopeAsyncFlowOption.Enabled;
 
                        if (timeout < TimeSpan.Zero)
                                throw new ArgumentOutOfRangeException ("timeout");
@@ -165,36 +185,67 @@ namespace System.Transactions
                                throw new InvalidOperationException ("TransactionScope nested incorrectly");
                        }
 
-                       if (Transaction.CurrentInternal != transaction) {
+                       if (Transaction.CurrentInternal != transaction && !asyncFlowEnabled) {
                                if (transaction != null)
                                        transaction.Rollback ();
                                if (Transaction.CurrentInternal != null)
                                        Transaction.CurrentInternal.Rollback ();
 
                                throw new InvalidOperationException ("Transaction.Current has changed inside of the TransactionScope");
-                       }
+                       } 
 
-                       if (Transaction.CurrentInternal == oldTransaction && oldTransaction != null)
-                               oldTransaction.Scope = parentScope;
+                       if (asyncFlowEnabled) {
+                               if (oldTransaction != null)
+                                       oldTransaction.Scope = parentScope;
 
-                       Transaction.CurrentInternal = oldTransaction;
+                               var variedTransaction = Transaction.CurrentInternal;
 
-                       if (transaction == null)
-                               /* scope was not in a transaction, (Suppress) */
-                               return;
+                               if (transaction == null && variedTransaction == null)
+                                       /* scope was not in a transaction, (Suppress) */
+                                       return;
 
-                       transaction.Scope = null;
+                               variedTransaction.Scope = parentScope;
+                               Transaction.CurrentInternal = oldTransaction;
 
-                       if (!IsComplete) {
-                               transaction.Rollback ();
-                               return;
-                       }
+                               transaction.Scope = null;
 
-                       if (!isRoot)
-                               /* Non-root scope has completed+ended */
-                               return;
+                               if (!IsComplete) {
+                                       transaction.Rollback ();
+                                       variedTransaction.Rollback();
+                                       return;
+                               }
+
+                               if (!isRoot)
+                                       /* Non-root scope has completed+ended */
+                                       return;
+
+                               variedTransaction.CommitInternal();
+                               transaction.CommitInternal();
+                       } else {
+                               if (Transaction.CurrentInternal == oldTransaction && oldTransaction != null)
+                                       oldTransaction.Scope = parentScope;
+
+                               Transaction.CurrentInternal = oldTransaction;
 
-                       transaction.CommitInternal ();
+                               if (transaction == null)
+                                       /* scope was not in a transaction, (Suppress) */
+                                       return;
+
+                               transaction.Scope = null;
+
+                               if (!IsComplete)
+                               {
+                                       transaction.Rollback();
+                                       return;
+                               }
+
+                               if (!isRoot)
+                                       /* Non-root scope has completed+ended */
+                                       return;
+
+                               transaction.CommitInternal();
+
+                       }
                }
 
 
diff --git a/mcs/class/System.Transactions/System.Transactions/TransactionScopeAsyncFlowOption.cs b/mcs/class/System.Transactions/System.Transactions/TransactionScopeAsyncFlowOption.cs
new file mode 100644 (file)
index 0000000..5285fe5
--- /dev/null
@@ -0,0 +1,9 @@
+
+namespace System.Transactions
+{
+       public enum TransactionScopeAsyncFlowOption
+       {
+               Suppress,
+               Enabled
+       }
+}
index c35f14419982eb44a4db6afad82574938d3ebbee..b7bfc3e76b57a1ebd6138fa56004e6ad47b2fc75 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index e6b06c0e63ad6d6aa2083a3d7e78f47e704ffb1e..461643c497be3fb04509e909a0f06f17c22cc2cb 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 15c761e631ad0f5460a44a8f8cea9801941bd791..84781bfe0b9fd06b4142c3fbf9493afc157f18b4 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 93dd898369494051dc5f93c3a3236329b765e120..a812da1666512c6952fa26671fee20c038ae41f5 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index cfc91d60a664d4b2b3a7e394bbdd52f519a7d104..d008409de93ceb62724eb093777654e53c135be9 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 97b404aad6ab4f126b08f7cb8d581f5cd61aeddf..1260d005c16b064c8c871a8c2b1c6f3e9d7794fe 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 917cd8b2db263c197e5e64186bd46349481c44e4..2a4f661c3b7ee29a4ae690b3b5edb69055402873 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index e2a074324a920e39e4be06ca5eec53d3e269790d..0f303359778863a701f5c3e2f823739e8f393984 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="System.Web.Http.Properties.CommonWebApiResources.resources">\r
+    <EmbeddedResource Include="System.Web.Http.Properties.CommonWebApiResources.resx">\r
       <LogicalName>System.Web.Http.Properties.CommonWebApiResources.resources</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.Http.Properties.SRResources.resources">\r
+    <EmbeddedResource Include="System.Web.Http.Properties.SRResources.resx">\r
       <LogicalName>System.Web.Http.Properties.SRResources.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index f0bba91a01a3d8059e65b6c3bb52d27c9dec53aa..bc1337a2a49b2e6f2567798e58a082117311f748 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index b3e3e034a079f282b2fde29763a684af275b5b37..3b76937bb6285bddab64b7752f01287a29760775 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="Mvc/Resources/MvcResources.resources">\r
+    <EmbeddedResource Include="Mvc/Resources/MvcResources.resx">\r
       <LogicalName>System.Web.Mvc.Resources.MvcResources.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index b7403dbaa5be4414c75e60bfa7828b90580a16f4..561a784fa70bb482782f90d771c851aaed438d51 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+resgen $(ProjectDir)\..\..\..\external\aspnetwebstack\src\CommonResources.resx $(ProjectDir)\System.Web.Razor.Common.CommonResources.resx
+resgen $(ProjectDir)\..\..\..\external\aspnetwebstack\src\System.Web.Razor\Resources\RazorResources.resx $(ProjectDir)\System.Web.Razor.Resources.RazorResources.resx
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
-\r
+resgen $(ProjectDir)\..\..\..\external\aspnetwebstack\src\CommonResources.resx $(ProjectDir)\System.Web.Razor.Common.CommonResources.resx
+resgen $(ProjectDir)\..\..\..\external\aspnetwebstack\src\System.Web.Razor\Resources\RazorResources.resx $(ProjectDir)\System.Web.Razor.Resources.RazorResources.resx\r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="System.Web.Razor.Resources.RazorResources.resources">\r
+    <EmbeddedResource Include="System.Web.Razor.Resources.RazorResources.resx">\r
       <LogicalName>System.Web.Razor.Resources.RazorResources.resources</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.Razor.Common.CommonResources.resources">\r
+    <EmbeddedResource Include="System.Web.Razor.Common.CommonResources.resx">\r
       <LogicalName>System.Web.Razor.Common.CommonResources.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index e41d9e1738b928b7e75862af128c9515dff0e2bf..be101eaa2a8a51643a79d308a6c3f2ec594b2908 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index b25ef14da5d6e00a83eb522a6abd20ccec0a486e..4f47b14286db28704527e8d43ee27a23b454260c 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index c0e7218727a024eacafa0238cd23ce1834e83667..0dfc8236d4b1c71de2ee476616b03e9501c3b146 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,168,169,219,414,612,649</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
diff --git a/mcs/class/System.Web.Services/mobile_static_System.Web.Services_test.dll.exclude.sources b/mcs/class/System.Web.Services/mobile_static_System.Web.Services_test.dll.exclude.sources
new file mode 100644 (file)
index 0000000..645326d
--- /dev/null
@@ -0,0 +1,8 @@
+System.Web.Services/Test/System.Web.Services.Configuration/DiagnosticsElementTest.cs
+System.Web.Services/Test/System.Web.Services.Configuration/ProtocolElementTest.cs
+System.Web.Services/Test/System.Web.Services.Configuration/SoapEnvelopeProcessingElementTest.cs
+System.Web.Services/Test/System.Web.Services.Configuration/SoapExtensionTypeElementTest.cs
+System.Web.Services/Test/System.Web.Services.Configuration/TypeElementTest.cs
+System.Web.Services/Test/System.Web.Services.Configuration/WsdlHelpGeneratorElementTest.cs
+System.Web.Services/Test/System.Web.Services.Configuration/WsiProfilesElementTest.cs
+System.Web.Services/Test/System.Web.Services.Configuration/XmlFormatExtensionAttributeTest.cs
diff --git a/mcs/class/System.Web.Services/mobile_static_System.Web.Services_test.dll.excludes b/mcs/class/System.Web.Services/mobile_static_System.Web.Services_test.dll.excludes
deleted file mode 100644 (file)
index 645326d..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-System.Web.Services/Test/System.Web.Services.Configuration/DiagnosticsElementTest.cs
-System.Web.Services/Test/System.Web.Services.Configuration/ProtocolElementTest.cs
-System.Web.Services/Test/System.Web.Services.Configuration/SoapEnvelopeProcessingElementTest.cs
-System.Web.Services/Test/System.Web.Services.Configuration/SoapExtensionTypeElementTest.cs
-System.Web.Services/Test/System.Web.Services.Configuration/TypeElementTest.cs
-System.Web.Services/Test/System.Web.Services.Configuration/WsdlHelpGeneratorElementTest.cs
-System.Web.Services/Test/System.Web.Services.Configuration/WsiProfilesElementTest.cs
-System.Web.Services/Test/System.Web.Services.Configuration/XmlFormatExtensionAttributeTest.cs
index 52d8c8cec99c37b494a9b8421a65f996e306d1a0..ac6617f5e2adbb68541ab9749ae949c96ccfc538 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="System.Web.WebPages.Deployment.Common.CommonResources.resources">\r
+    <EmbeddedResource Include="System.Web.WebPages.Deployment.Common.CommonResources.resx">\r
       <LogicalName>System.Web.WebPages.Deployment.Common.CommonResources.resources</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.WebPages.Deployment.Resources.ConfigurationResources.resources">\r
+    <EmbeddedResource Include="System.Web.WebPages.Deployment.Resources.ConfigurationResources.resx">\r
       <LogicalName>System.Web.WebPages.Deployment.Resources.ConfigurationResources.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index 0bcd8038ab8f344bad73aad55aea2c484266623c..d6ffdf0d747e53e2c86341149972cf05ecd47cfe 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="System.Web.WebPages.Razor.Resources.RazorWebResources.resources">\r
+    <EmbeddedResource Include="System.Web.WebPages.Razor.Resources.RazorWebResources.resx">\r
       <LogicalName>System.Web.WebPages.Razor.Resources.RazorWebResources.resources</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.WebPages.Razor.Common.CommonResources.resources">\r
+    <EmbeddedResource Include="System.Web.WebPages.Razor.Common.CommonResources.resx">\r
       <LogicalName>System.Web.WebPages.Razor.Common.CommonResources.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index a2ba5dea899507535ed575b38eaa8ae7d8faf7f8..16d66dd9b1171e0d14673ca5e07756d4572751d2 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="System.Web.WebPages.Resources.WebPageResources.resources">\r
+    <EmbeddedResource Include="System.Web.WebPages.Resources.WebPageResources.resx">\r
       <LogicalName>System.Web.WebPages.Resources.WebPageResources.resources</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="System.Web.WebPages.Common.CommonResources.resources">\r
+    <EmbeddedResource Include="System.Web.WebPages.Common.CommonResources.resx">\r
       <LogicalName>System.Web.WebPages.Common.CommonResources.resources</LogicalName>\r
     </EmbeddedResource>\r
   </ItemGroup>\r
index fb78cc83c6ed2ff7a94d15bf72423b7f7a5bc67e..7da63c4dda88584987031787a5ac37ccb098cfb4 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,612,618,618</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
     <Compile Include="..\referencesource\System.Web\UI\WebControls\IDataBoundItemControl.cs" />\r
     <Compile Include="..\referencesource\System.Web\UI\WebControls\IDataBoundListControl.cs" />\r
     <Compile Include="..\referencesource\System.Web\UI\WebControls\IEditableTextControl.cs" />\r
-    <Compile Include="..\referencesource\System.Web\UI\WebControls\IEditableTextControl.cs" />\r
     <Compile Include="..\referencesource\System.Web\UI\WebControls\IFieldControl.cs" />\r
     <Compile Include="..\referencesource\System.Web\UI\WebControls\ImageAlign.cs" />\r
     <Compile Include="..\referencesource\System.Web\UI\WebControls\ImageMapEventArgs.cs" />\r
     <Compile Include="Mono.Web.Util\SettingsMappingManager.cs" />\r
     <Compile Include="Mono.Web.Util\SettingsMappingWhat.cs" />\r
     <Compile Include="ReferenceSources\SR.cs" />\r
-    <Compile Include="ReferenceSources\SR.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
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+mono $(ProjectDir)\..\lib\net_4_x\culevel.exe -o $(ProjectDir)\System.Web\UplevelHelper.cs $(ProjectDir)\UplevelHelperDefinitions.xml
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+mono $(ProjectDir)\..\lib\net_4_x\culevel.exe -o $(ProjectDir)\System.Web\UplevelHelper.cs $(ProjectDir)\UplevelHelperDefinitions.xml
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="resources/TranslationResources.resources">\r
+    <EmbeddedResource Include="resources/TranslationResources.resx">\r
       <LogicalName>TranslationResources.resources</LogicalName>\r
     </EmbeddedResource>\r
     <EmbeddedResource Include="resources/WebUIValidation.js">\r
index 7cb088ed81b780cf8dafab819cba02cdd2351898..5308adce43f96e8cf9765d69d18c48e1312b5196 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,612,618,618</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x/plainweb</OutputPath>\r
+    <IntermediateOutputPath>obj-plainweb</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
     <Compile Include="..\referencesource\System.Web\UI\WebControls\IDataBoundItemControl.cs" />\r
     <Compile Include="..\referencesource\System.Web\UI\WebControls\IDataBoundListControl.cs" />\r
     <Compile Include="..\referencesource\System.Web\UI\WebControls\IEditableTextControl.cs" />\r
-    <Compile Include="..\referencesource\System.Web\UI\WebControls\IEditableTextControl.cs" />\r
     <Compile Include="..\referencesource\System.Web\UI\WebControls\IFieldControl.cs" />\r
     <Compile Include="..\referencesource\System.Web\UI\WebControls\ImageAlign.cs" />\r
     <Compile Include="..\referencesource\System.Web\UI\WebControls\ImageMapEventArgs.cs" />\r
     <Compile Include="Mono.Web.Util\SettingsMappingManager.cs" />\r
     <Compile Include="Mono.Web.Util\SettingsMappingWhat.cs" />\r
     <Compile Include="ReferenceSources\SR.cs" />\r
-    <Compile Include="ReferenceSources\SR.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
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+mono $(ProjectDir)\..\lib\net_4_x\culevel.exe -o $(ProjectDir)\System.Web\UplevelHelper.cs $(ProjectDir)\UplevelHelperDefinitions.xml
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+mono $(ProjectDir)\..\lib\net_4_x\culevel.exe -o $(ProjectDir)\System.Web\UplevelHelper.cs $(ProjectDir)\UplevelHelperDefinitions.xml
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <Folder Include="Properties\" />\r
   </ItemGroup>\r
   <ItemGroup>\r
-    <EmbeddedResource Include="resources/TranslationResources.resources">\r
+    <EmbeddedResource Include="resources/TranslationResources.resx">\r
       <LogicalName>TranslationResources.resources</LogicalName>\r
     </EmbeddedResource>\r
     <EmbeddedResource Include="resources/WebUIValidation.js">\r
index 5d47c27349ac207e929d59d4c762dddb2d68e77f..5f47d1326e0492f954a5b5b24f7965ac92264265 100644 (file)
@@ -24,7 +24,6 @@ Mono.Web.Util/SettingsMapping.cs
 Mono.Web.Util/SettingsMappingManager.cs
 Mono.Web.Util/SettingsMappingWhat.cs
 
-ReferenceSources/SR.cs
 System.Web/ApplicationShutdownReason.cs
 System.Web/BeginEventHandler.cs
 System.Web.Caching/AggregateCacheDependency.cs
@@ -629,7 +628,6 @@ System.Web.UI/HtmlTextWriter.cs
 ../referencesource/System.Web/UI/IDataSource.cs
 ../referencesource/System.Web/UI/IDataSourceViewSchemaAccessor.cs
 ../referencesource/System.Web/UI/IDReferencePropertyAttribute.cs
-../referencesource/System.Web/UI/WebControls/IEditableTextControl.cs
 ../referencesource/System.Web/UI/IExpressionsAccessor.cs
 ../referencesource/System.Web/UI/IFilterResolutionService.cs
 System.Web.UI/IgnoreUnknownContentAttribute.cs
index d8074b72efc49901bc6d5c171f6f0a358861e9b4..9064929de012eb685ebf71f8563c19b332e3c076 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 5d4a05d94a736c7a0d7dd56948c3b3eac0de5534..c1e931e0a9b631f15f767dc754ddaefec8e4bd9b 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,618,612,809</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     <EmbeddedResource Include="resources/DnDMove.cur">\r
       <LogicalName>System.Windows.Forms.DnDMove.cur</LogicalName>\r
     </EmbeddedResource>\r
-    <EmbeddedResource Include="resources/keyboards.resources">\r
+    <EmbeddedResource Include="resources/keyboards.resources.prebuilt">\r
       <LogicalName>keyboards.resources</LogicalName>\r
     </EmbeddedResource>\r
     <EmbeddedResource Include="resources/16_computer.png">\r
index 2c2d5bf931d3f08343f4a39947239bc0adacce93..e4f980e60df8a82c6a80b770f933bdea8f0f7be2 100644 (file)
@@ -969,8 +969,8 @@ namespace System.Windows.Forms
 
                                EnableFormsForModalLoop (toplevels, context);
                                
-                               if (context.MainForm != null && context.MainForm.IsHandleCreated) {
-                                       XplatUI.SetModal (context.MainForm.Handle, false);
+                               if (old != null && old.IsHandleCreated) {
+                                       XplatUI.SetModal (old.Handle, false);
                                }
                                #if DebugRunLoop
                                        Console.WriteLine ("   Done with the SetModal");
index 913fb8a57fb721c4148d43e6f575333e943842a6..a8f92d12389c7295755fe15cb5e75d14da12c64b 100644 (file)
@@ -2842,7 +2842,7 @@ namespace System.Windows.Forms {
                                        try {
                                                var clipboardAtom = gdk_atom_intern ("CLIPBOARD", true);
                                                var clipboard = gtk_clipboard_get (clipboardAtom);
-                                               if (clipboard != null) {
+                                               if (clipboard != IntPtr.Zero) {
                                                        // for now we only store text
                                                        var text = Clipboard.GetRtfText ();
                                                        if (string.IsNullOrEmpty (text))
index 92f040e8712fb0e4d39ca89c02675f1808203bd4..59ba68253f7678d90e83373cafbee8397a1bced5 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 228f04e6127d9c2d989f5c9ce59881bd5d8f1e43..c4285270bae308c734bd1136297b0373fad48b71 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index d515c6ddb9fa759d076ae62ceb3c468353c9e9dd..32d268ac86e9ff227b087e84e8a504c558b56f74 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 3bd503417513c285e7fa076833faee6b9339e2f3..ecceeff1d25ab131fedbf915563dc943f5d41b32 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 1d6c67370e1bef66f60fe6ae29da4691f5ec25eb..7eacb3ddd76186652336c001a6d305daf646eb96 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,219,414,649,1717</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x/bare</OutputPath>\r
+    <IntermediateOutputPath>obj-bare</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 086b87c1524ba8f836e0285d27d258f6c643a8ba..753fdd5bbb8f23a12b369415577b1624e2dfae04 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,219,414,649,1717</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 4cc35757917d07657d36ce122f0fea07419b7e0f..a5d11aeffb1c16f590397c74502c490045f6e757 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index b62fe7b8e83d0f549d88203879e50bcd9fe1c680..e3988ed811ffcb03d826fec78c7a4b1d4fbb96d8 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 62f472a13713e2f012644b8b7025a542f51ad140..5168c310d8608d21d54db0c43b9d10c90567c014 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index d4c83ee497c8c96135c73c406b5a70dc9a9bdc47..b5fb6bb927c52ea13578e019c868e4039664ec34 100644 (file)
@@ -42,6 +42,11 @@ REFERENCE_SOURCES_FLAGS += -d:MONO_FEATURE_THREAD_SUSPEND_RESUME
 TEST_MCS_FLAGS += -d:MONO_FEATURE_THREAD_SUSPEND_RESUME
 endif
 
+ifndef NO_MULTIPLE_APPDOMAINS
+REFERENCE_SOURCES_FLAGS += -d:MONO_FEATURE_MULTIPLE_APPDOMAINS
+TEST_MCS_FLAGS += -d:MONO_FEATURE_MULTIPLE_APPDOMAINS
+endif
+
 TXT_RESOURCE_STRINGS = ../referencesource/System/System.txt
 
 #
diff --git a/mcs/class/System/ReferenceSources/AutoWebProxyScriptEngine.cs b/mcs/class/System/ReferenceSources/AutoWebProxyScriptEngine.cs
new file mode 100644 (file)
index 0000000..4e4d285
--- /dev/null
@@ -0,0 +1,179 @@
+using System.Collections;
+using System.Collections.Generic;
+using System.Text.RegularExpressions;
+using Mono.Net;
+
+namespace System.Net
+{
+       class AutoWebProxyScriptEngine
+       {
+               public AutoWebProxyScriptEngine (WebProxy proxy, bool useRegistry)
+               {
+               }
+
+               public Uri AutomaticConfigurationScript { get; set; }
+               public bool AutomaticallyDetectSettings { get; set; }
+
+               public bool GetProxies (Uri destination, out IList<string> proxyList)
+               {
+                       int i = 0;
+                       return GetProxies (destination, out proxyList, ref i);
+               }
+
+               public bool GetProxies(Uri destination, out IList<string> proxyList, ref int syncStatus)
+               {
+                       proxyList = null;
+                       return false;
+               }
+
+               public void Close ()
+               {
+               }
+
+               public void Abort (ref int syncStatus)
+               {
+               }
+
+               public void CheckForChanges ()
+               {
+               }
+
+#if !MOBILE
+               public WebProxyData GetWebProxyData ()
+               {
+                       WebProxyData data;
+
+                       // TODO: Could re-use some pieces from _AutoWebProxyScriptEngine.cs
+                       if (IsWindows ()) {
+                               data = InitializeRegistryGlobalProxy ();
+                               if (data != null)
+                                       return data;
+                       }
+
+                       data = ReadEnvVariables ();
+                       return data ?? new WebProxyData ();
+               }
+
+               WebProxyData ReadEnvVariables ()
+               {
+                       string address = Environment.GetEnvironmentVariable ("http_proxy") ?? Environment.GetEnvironmentVariable ("HTTP_PROXY");
+
+                       if (address != null) {
+                               try {
+                                       if (!address.StartsWith ("http://"))
+                                               address = "http://" + address;
+
+                                       Uri uri = new Uri (address);
+                                       IPAddress ip;
+                                       
+                                       if (IPAddress.TryParse (uri.Host, out ip)) {
+                                               if (IPAddress.Any.Equals (ip)) {
+                                                       UriBuilder builder = new UriBuilder (uri);
+                                                       builder.Host = "127.0.0.1";
+                                                       uri = builder.Uri;
+                                               } else if (IPAddress.IPv6Any.Equals (ip)) {
+                                                       UriBuilder builder = new UriBuilder (uri);
+                                                       builder.Host = "[::1]";
+                                                       uri = builder.Uri;
+                                               }
+                                       }
+
+                                       bool bBypassOnLocal = false;
+                                       ArrayList al = new ArrayList ();
+                                       string bypass = Environment.GetEnvironmentVariable ("no_proxy") ?? Environment.GetEnvironmentVariable ("NO_PROXY");
+                                       
+                                       if (bypass != null) {
+                                               string[] bypassList = bypass.Split (new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
+                                       
+                                               foreach (string str in bypassList) {
+                                                       if (str != "*.local")
+                                                               al.Add (str);
+                                                       else
+                                                               bBypassOnLocal = true;
+                                               }
+                                       }
+
+                                       return new WebProxyData {
+                                               proxyAddress = uri,
+                                               bypassOnLocal = bBypassOnLocal,
+                                               bypassList = CreateBypassList (al)
+                                       };
+                               } catch (UriFormatException) {
+                               }
+                       }
+
+                       return null;
+               }
+
+               static bool IsWindows ()
+               {
+                       return (int) Environment.OSVersion.Platform < 4;
+               }
+                               
+               WebProxyData InitializeRegistryGlobalProxy ()
+               {
+                       int iProxyEnable = (int)Microsoft.Win32.Registry.GetValue ("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", "ProxyEnable", 0);
+
+                       if (iProxyEnable > 0) {
+                               string strHttpProxy = "";
+                               bool bBypassOnLocal = false;
+                               ArrayList al = new ArrayList ();
+                               
+                               string strProxyServer = (string)Microsoft.Win32.Registry.GetValue ("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", "ProxyServer", null);
+                               string strProxyOverrride = (string)Microsoft.Win32.Registry.GetValue ("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", "ProxyOverride", null);
+                               
+                               if (strProxyServer.Contains ("=")) {
+                                       foreach (string strEntry in strProxyServer.Split (new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries))
+                                               if (strEntry.StartsWith ("http=")) {
+                                                       strHttpProxy = strEntry.Substring (5);
+                                                       break;
+                                               }
+                               } else strHttpProxy = strProxyServer;
+                               
+                               if (strProxyOverrride != null) {
+                                       string[] bypassList = strProxyOverrride.Split (new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
+                               
+                                       foreach (string str in bypassList) {
+                                               if (str != "<local>")
+                                                       al.Add (str);
+                                               else
+                                                       bBypassOnLocal = true;
+                                       }
+                               }
+
+                               return new WebProxyData {
+                                       proxyAddress = ToUri (strHttpProxy),
+                                       bypassOnLocal = bBypassOnLocal,
+                                       bypassList = CreateBypassList (al)
+                               };
+                       }
+
+                       return null;
+               }
+
+               static Uri ToUri (string address)
+               {
+                       if (address == null)
+                               return null;
+                               
+                       if (address.IndexOf ("://", StringComparison.Ordinal) == -1) 
+                               address = "http://" + address;
+
+                       return new Uri (address);
+               }
+
+               // Takes an ArrayList of fileglob-formatted strings and returns an array of Regex-formatted strings
+               static ArrayList CreateBypassList (ArrayList al)
+               {
+                       string[] result = al.ToArray (typeof (string)) as string[];
+                       for (int c = 0; c < result.Length; c++)
+                       {
+                               result [c] = "^" +
+                                       Regex.Escape (result [c]).Replace (@"\*", ".*").Replace (@"\?", ".") +
+                                       "$";
+                       }
+                       return new ArrayList (result);
+               }
+#endif
+       }
+}
\ No newline at end of file
index 35474720e7a493f8a4e14965a2d609913f2051ed..b5b773e28c4f186888e9a03b710e7524d4c66c23 100644 (file)
@@ -25,6 +25,10 @@ namespace System.Net {
                internal static void Enter(TraceSource traceSource, object obj, string method, object paramObject) {
                }
 
+               [Conditional ("TRACE")]
+               internal static void Enter(TraceSource traceSource, string msg) {
+               }
+
                [Conditional ("TRACE")]
                internal static void Exception(TraceSource traceSource, object obj, string method, Exception e) {
                }
@@ -33,10 +37,22 @@ namespace System.Net {
                internal static void Exit(TraceSource traceSource, object obj, string method, object retObject) {
                }
 
+               [Conditional ("TRACE")]
+               internal static void Exit(TraceSource traceSource, string msg) {
+               }
+
                [Conditional ("TRACE")]
                internal static void PrintInfo(TraceSource traceSource, object obj, string method, string msg) {
                }
 
+               [Conditional ("TRACE")]
+               internal static void PrintInfo(TraceSource traceSource, object obj, string msg) {
+               }
+
+               [Conditional ("TRACE")]
+               internal static void PrintInfo(TraceSource traceSource, string msg) {
+               }
+
                [Conditional ("TRACE")]
                internal static void PrintWarning(TraceSource traceSource, object obj, string method, string msg) {
                }
@@ -44,6 +60,10 @@ namespace System.Net {
                [Conditional ("TRACE")]
                internal static void PrintWarning(TraceSource traceSource, string msg) {
                }
+
+               [Conditional ("TRACE")]
+               internal static void PrintError(TraceSource traceSource, string msg) {
+               }
        }
 
 #if MOBILE
index ca41ea97acc3c02541182d20d68ee18ccea42033..d2386472e08b004c4cc73f5225a0da81af5e7a46 100644 (file)
@@ -38,6 +38,15 @@ namespace Microsoft.Win32
                public const int WAIT_ABANDONED   = 0x00000080;
                public const int WAIT_ABANDONED_0 = WAIT_ABANDONED;
 
+               public const int ERROR_FILE_NOT_FOUND = 2;
+               public const int ERROR_PATH_NOT_FOUND = 3;
+               public const int ERROR_ACCESS_DENIED = 5;
+               public const int ERROR_INVALID_HANDLE = 6;
+               public const int ERROR_SHARING_VIOLATION = 32;
+               public const int ERROR_INVALID_NAME = 0x7B;
+               public const int ERROR_ALREADY_EXISTS = 183;
+               public const int ERROR_FILENAME_EXCED_RANGE = 0xCE;
+
                public static bool DuplicateHandle(HandleRef hSourceProcessHandle, SafeHandle hSourceHandle, HandleRef hTargetProcess,
                        out SafeWaitHandle targetHandle, int dwDesiredAccess, bool bInheritHandle, int dwOptions)
                {
diff --git a/mcs/class/System/ReferenceSources/RequestCacheProtocol.cs b/mcs/class/System/ReferenceSources/RequestCacheProtocol.cs
new file mode 100644 (file)
index 0000000..b9805f3
--- /dev/null
@@ -0,0 +1,10 @@
+namespace System.Net.Cache
+{
+       class RequestCacheProtocol
+       {
+               public RequestCacheProtocol (object arg1, object arg2)
+               {
+                       throw new NotImplementedException ();
+               }
+       }
+}
\ No newline at end of file
index 35d8f634c02343e74fa0d4c0de01d6c69129a832..cfcd038e9b54b2ee876d4b8b5d5010f9275ecacd 100644 (file)
@@ -3,10 +3,14 @@
 //
 // Copyright 2014 Xamarin Inc
 //
-// Mono-specific additions, which are not in SR.cs.
+// Mono-specific additions, which are not in SR.cs or missing in referencesource
 //
 partial class SR
 {
        public const string mono_net_io_shutdown = "mono_net_io_shutdown";
        public const string mono_net_io_renegotiate = "mono_net_io_renegotiate";
+
+       public const string net_log_set_socketoption_reuseport_default_on = "net_log_set_socketoption_reuseport_default_on";
+       public const string net_log_set_socketoption_reuseport_not_supported = "net_log_set_socketoption_reuseport_not_supported";
+       public const string net_log_set_socketoption_reuseport = "net_log_set_socketoption_reuseport";
 }
index 595c569e6c4a39edb008bec8bff173773ddda1ff..afe34459bbb58f8ae30911fd6b10b158757feed1 100644 (file)
@@ -1,3 +1,5 @@
+using System.Net.Security;
+
 namespace System.Net.Configuration {
        sealed class SettingsSectionInternal
        {
@@ -15,5 +17,14 @@ namespace System.Net.Configuration {
 #endif
 
                internal bool HttpListenerUnescapeRequestUrl = true;
+
+
+               internal bool UseNagleAlgorithm { get; set; }
+               internal bool Expect100Continue { get; set; }
+               internal bool CheckCertificateName { get; private set; }
+               internal int DnsRefreshTimeout { get; set; }
+               internal bool EnableDnsRoundRobin { get; set; }
+               internal bool CheckCertificateRevocationList { get; set; }
+               internal EncryptionPolicy EncryptionPolicy { get; private set; }
        }
 }
diff --git a/mcs/class/System/ReferenceSources/SystemNetworkCredential.cs b/mcs/class/System/ReferenceSources/SystemNetworkCredential.cs
deleted file mode 100644 (file)
index 71f87c8..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-namespace System.Net {
-    //
-    // Object representing default credentials
-    //
-    internal class SystemNetworkCredential : NetworkCredential {
-        internal static readonly SystemNetworkCredential defaultCredential = new SystemNetworkCredential();
-
-        // We want reference equality to work.  Making this private is a good way to guarantee that.
-        private SystemNetworkCredential() :
-            base(string.Empty, string.Empty, string.Empty) {
-        }
-    }
-}
\ No newline at end of file
index eeb9cb952f9b560433c54d000bcfeb7ff16744a1..e748039ef2bb842653822fea1bbc110e9e04ed75 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,618</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x/bare</OutputPath>\r
+    <IntermediateOutputPath>obj-bare</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
@@ -27,7 +28,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME</DefineConstants>\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;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -35,7 +36,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME</DefineConstants>\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;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
     <Compile Include="..\referencesource\System\net\System\GenericUriParser.cs" />\r
     <Compile Include="..\referencesource\System\net\System\IriHelper.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_BufferOffsetSize.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_Connection.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_emptywebproxy.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_HeaderInfo.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_HeaderInfoTable.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_HTTPDateParse.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_IStreams.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_LazyAsyncResult.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_LoggingObject.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_NetRes.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_PooledStream.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_ProxyChain.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_ScatterGatherBuffers.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_Semaphore.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_TimerThread.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_WebProxyDataBuilder.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\AuthenticationScheme.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\AuthenticationSchemeSelector.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\Authorization.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\Cache\RequestCache.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\Cache\RequestCacheEntry.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\Cache\RequestCacheManager.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\Cache\RequestCachePolicy.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\Configuration\DefaultProxySection.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\connectionpool.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\cookie.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\cookiecollection.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\cookiecontainer.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\cookieexception.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\CredentialCache.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\DnsEndPoint.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\EndPoint.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\filewebrequest.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\filewebresponse.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\FtpStatusCode.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\GlobalProxySelection.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\HttpListenerException.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\HttpListenerRequestUriBuilder.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\HttpRequestHeader.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\IPEndPoint.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\IPHostEntry.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\iwebproxy.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\IWebProxyFinder.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\IWebRequestCreate.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\mail\Base64Stream.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\mail\Base64WriteStateInfo.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebExceptionStatus.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebHeaderCollection.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebPermission.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\webproxy.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\WebRequest.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebRequestMethods.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebResponse.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebUtility.cs" />\r
     <Compile Include="..\referencesource\System\services\timers\system\timers\TimersDescriptionAttribute.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\collections\concurrent\BlockingCollection.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\collections\concurrent\ConcurrentBag.cs" />\r
+    <Compile Include="..\referencesource\System\sys\system\IO\ports\InternalResources.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\runtime\interopservices\DefaultParameterValueAttribute.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\runtime\interopservices\handlecollector.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\runtime\versioning\FrameworkName.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\threading\Barrier.cs" />\r
+    <Compile Include="..\referencesource\System\sys\system\threading\semaphore.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\windows\markup\ValueSerializerAttribute.cs" />\r
     <Compile Include="Assembly\AssemblyInfo.cs" />\r
     <Compile Include="Microsoft.CSharp\CSharpCodeCompiler.cs" />\r
     <Compile Include="ReferenceSources\_SslState.cs" />\r
     <Compile Include="ReferenceSources\_SslStream.cs" />\r
     <Compile Include="ReferenceSources\AssertWrapper.cs" />\r
+    <Compile Include="ReferenceSources\AutoWebProxyScriptEngine.cs" />\r
     <Compile Include="ReferenceSources\BinaryCompatibility.cs" />\r
     <Compile Include="ReferenceSources\CAPI.cs" />\r
     <Compile Include="ReferenceSources\ConfigurationManagerInternalFactory.cs" />\r
     <Compile Include="ReferenceSources\EnvironmentHelpers.cs" />\r
+    <Compile Include="ReferenceSources\HttpApi.cs" />\r
     <Compile Include="ReferenceSources\HttpSysSettings.cs" />\r
     <Compile Include="ReferenceSources\Internal.cs" />\r
     <Compile Include="ReferenceSources\Logging.cs" />\r
     <Compile Include="ReferenceSources\NativeMethods.cs" />\r
+    <Compile Include="ReferenceSources\RequestCacheProtocol.cs" />\r
     <Compile Include="ReferenceSources\SettingsSectionInternal.cs" />\r
     <Compile Include="ReferenceSources\Socket.cs" />\r
     <Compile Include="ReferenceSources\SR.cs" />\r
     <Compile Include="ReferenceSources\SSPIConfiguration.cs" />\r
     <Compile Include="ReferenceSources\SSPISafeHandles.cs" />\r
     <Compile Include="ReferenceSources\SSPIWrapper.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.Net\BindIPEndPoint.cs" />\r
     <Compile Include="System.Net\ChunkedInputStream.cs" />\r
     <Compile Include="System.Net\ChunkStream.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\FtpStatus.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\WebConnectionData.cs" />\r
     <Compile Include="System.Net\WebConnectionGroup.cs" />\r
     <Compile Include="System.Net\WebConnectionStream.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.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.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
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 32efea7d99da9a4d43d2e8a3f7c210a593296580..fbd51bbfd99f4a6fd2f5a0ffd49d191a29b2e70d 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,618</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
@@ -27,7 +28,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS;CONFIGURATION_DEP</DefineConstants>\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;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS;CONFIGURATION_DEP</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -35,7 +36,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS;CONFIGURATION_DEP</DefineConstants>\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;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS;CONFIGURATION_DEP</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
     <Compile Include="..\referencesource\System\net\System\GenericUriParser.cs" />\r
     <Compile Include="..\referencesource\System\net\System\IriHelper.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_BufferOffsetSize.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_Connection.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_emptywebproxy.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_HeaderInfo.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_HeaderInfoTable.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_HTTPDateParse.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_IStreams.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_LazyAsyncResult.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_LoggingObject.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_NetRes.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_PooledStream.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_ProxyChain.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_ScatterGatherBuffers.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_Semaphore.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_TimerThread.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_WebProxyDataBuilder.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\AuthenticationScheme.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\AuthenticationSchemeSelector.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\Authorization.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\Cache\RequestCache.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\Cache\RequestCacheEntry.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\Cache\RequestCacheManager.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\Cache\RequestCachePolicy.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\Configuration\DefaultProxySection.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\connectionpool.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\cookie.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\cookiecollection.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\cookiecontainer.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\cookieexception.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\CredentialCache.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\DnsEndPoint.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\EndPoint.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\filewebrequest.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\filewebresponse.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\FtpStatusCode.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\GlobalProxySelection.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\HttpListenerException.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\HttpListenerRequestUriBuilder.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\HttpRequestHeader.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\IPEndPoint.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\IPHostEntry.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\iwebproxy.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\IWebProxyFinder.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\IWebRequestCreate.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\mail\Base64Stream.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\mail\Base64WriteStateInfo.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebExceptionStatus.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebHeaderCollection.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebPermission.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\webproxy.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\WebRequest.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebRequestMethods.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebResponse.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebUtility.cs" />\r
     <Compile Include="..\referencesource\System\services\timers\system\timers\TimersDescriptionAttribute.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\collections\concurrent\BlockingCollection.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\collections\concurrent\ConcurrentBag.cs" />\r
+    <Compile Include="..\referencesource\System\sys\system\IO\ports\InternalResources.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\runtime\interopservices\DefaultParameterValueAttribute.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\runtime\interopservices\handlecollector.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\runtime\versioning\FrameworkName.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\threading\Barrier.cs" />\r
+    <Compile Include="..\referencesource\System\sys\system\threading\semaphore.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\windows\markup\ValueSerializerAttribute.cs" />\r
     <Compile Include="Assembly\AssemblyInfo.cs" />\r
     <Compile Include="Microsoft.CSharp\CSharpCodeCompiler.cs" />\r
     <Compile Include="ReferenceSources\_SslState.cs" />\r
     <Compile Include="ReferenceSources\_SslStream.cs" />\r
     <Compile Include="ReferenceSources\AssertWrapper.cs" />\r
+    <Compile Include="ReferenceSources\AutoWebProxyScriptEngine.cs" />\r
     <Compile Include="ReferenceSources\BinaryCompatibility.cs" />\r
     <Compile Include="ReferenceSources\CAPI.cs" />\r
     <Compile Include="ReferenceSources\ConfigurationManagerInternalFactory.cs" />\r
     <Compile Include="ReferenceSources\EnvironmentHelpers.cs" />\r
+    <Compile Include="ReferenceSources\HttpApi.cs" />\r
     <Compile Include="ReferenceSources\HttpSysSettings.cs" />\r
     <Compile Include="ReferenceSources\Internal.cs" />\r
     <Compile Include="ReferenceSources\Logging.cs" />\r
     <Compile Include="ReferenceSources\NativeMethods.cs" />\r
+    <Compile Include="ReferenceSources\RequestCacheProtocol.cs" />\r
     <Compile Include="ReferenceSources\SettingsSectionInternal.cs" />\r
     <Compile Include="ReferenceSources\Socket.cs" />\r
     <Compile Include="ReferenceSources\SR.cs" />\r
     <Compile Include="ReferenceSources\SSPIConfiguration.cs" />\r
     <Compile Include="ReferenceSources\SSPISafeHandles.cs" />\r
     <Compile Include="ReferenceSources\SSPIWrapper.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.Net\BindIPEndPoint.cs" />\r
     <Compile Include="System.Net\ChunkedInputStream.cs" />\r
     <Compile Include="System.Net\ChunkStream.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\FtpStatus.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\WebConnectionData.cs" />\r
     <Compile Include="System.Net\WebConnectionGroup.cs" />\r
     <Compile Include="System.Net\WebConnectionStream.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.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.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
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index e1a435bf08a5e68c22b050108c2e8a6eecfe9944..16f5809c7082d25214ec7087fe319d915e2bc3f0 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699,618</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x/secxml</OutputPath>\r
+    <IntermediateOutputPath>obj-secxml</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
@@ -27,7 +28,7 @@
     <DebugType>full</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>false</Optimize>\r
-    <DefineConstants>TRACE;NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS</DefineConstants>\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;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
@@ -35,7 +36,7 @@
     <DebugType>pdbonly</DebugType>\r
     <NoWarn>1699,618</NoWarn>\r
     <Optimize>true</Optimize>\r
-    <DefineConstants>NET_4_0;NET_4_5;NET_4_6;MONO;DISABLE_CAS_USE;CONFIGURATION_2_0;FEATURE_PAL;SYSTEM_NAMESPACE;MONO;PLATFORM_UNIX;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS</DefineConstants>\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;MONO_FEATURE_PROCESS_START;MONO_FEATURE_THREAD_ABORT;MONO_FEATURE_THREAD_SUSPEND_RESUME;MONO_FEATURE_MULTIPLE_APPDOMAINS;SECURITY_DEP;XML_DEP;MONO_SECURITY_ALIAS</DefineConstants>\r
     <ErrorReport>prompt</ErrorReport>\r
     <WarningLevel>4</WarningLevel>\r
   </PropertyGroup>\r
     <Compile Include="..\referencesource\System\net\System\GenericUriParser.cs" />\r
     <Compile Include="..\referencesource\System\net\System\IriHelper.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_BufferOffsetSize.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_Connection.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_emptywebproxy.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_HeaderInfo.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_HeaderInfoTable.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_HTTPDateParse.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_IStreams.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_LazyAsyncResult.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_LoggingObject.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_NetRes.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_PooledStream.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_ProxyChain.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\_ScatterGatherBuffers.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_Semaphore.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_TimerThread.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\_WebProxyDataBuilder.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\AuthenticationScheme.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\AuthenticationSchemeSelector.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\Authorization.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\Cache\RequestCache.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\Cache\RequestCacheEntry.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\Cache\RequestCacheManager.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\Cache\RequestCachePolicy.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\Configuration\DefaultProxySection.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\connectionpool.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\cookie.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\cookiecollection.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\cookiecontainer.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\cookieexception.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\CredentialCache.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\DnsEndPoint.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\EndPoint.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\filewebrequest.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\filewebresponse.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\FtpStatusCode.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\GlobalProxySelection.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\HttpListenerException.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\HttpListenerRequestUriBuilder.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\HttpRequestHeader.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\IPEndPoint.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\IPHostEntry.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\iwebproxy.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\IWebProxyFinder.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\IWebRequestCreate.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\mail\Base64Stream.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\mail\Base64WriteStateInfo.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebExceptionStatus.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebHeaderCollection.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebPermission.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\webproxy.cs" />\r
+    <Compile Include="..\referencesource\System\net\System\Net\WebRequest.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebRequestMethods.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebResponse.cs" />\r
     <Compile Include="..\referencesource\System\net\System\Net\WebUtility.cs" />\r
     <Compile Include="..\referencesource\System\services\timers\system\timers\TimersDescriptionAttribute.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\collections\concurrent\BlockingCollection.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\collections\concurrent\ConcurrentBag.cs" />\r
+    <Compile Include="..\referencesource\System\sys\system\IO\ports\InternalResources.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\runtime\interopservices\DefaultParameterValueAttribute.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\runtime\interopservices\handlecollector.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\runtime\versioning\FrameworkName.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\threading\Barrier.cs" />\r
+    <Compile Include="..\referencesource\System\sys\system\threading\semaphore.cs" />\r
     <Compile Include="..\referencesource\System\sys\system\windows\markup\ValueSerializerAttribute.cs" />\r
     <Compile Include="Assembly\AssemblyInfo.cs" />\r
     <Compile Include="Microsoft.CSharp\CSharpCodeCompiler.cs" />\r
     <Compile Include="ReferenceSources\_SslState.cs" />\r
     <Compile Include="ReferenceSources\_SslStream.cs" />\r
     <Compile Include="ReferenceSources\AssertWrapper.cs" />\r
+    <Compile Include="ReferenceSources\AutoWebProxyScriptEngine.cs" />\r
     <Compile Include="ReferenceSources\BinaryCompatibility.cs" />\r
     <Compile Include="ReferenceSources\CAPI.cs" />\r
     <Compile Include="ReferenceSources\ConfigurationManagerInternalFactory.cs" />\r
     <Compile Include="ReferenceSources\EnvironmentHelpers.cs" />\r
+    <Compile Include="ReferenceSources\HttpApi.cs" />\r
     <Compile Include="ReferenceSources\HttpSysSettings.cs" />\r
     <Compile Include="ReferenceSources\Internal.cs" />\r
     <Compile Include="ReferenceSources\Logging.cs" />\r
     <Compile Include="ReferenceSources\NativeMethods.cs" />\r
+    <Compile Include="ReferenceSources\RequestCacheProtocol.cs" />\r
     <Compile Include="ReferenceSources\SettingsSectionInternal.cs" />\r
     <Compile Include="ReferenceSources\Socket.cs" />\r
     <Compile Include="ReferenceSources\SR.cs" />\r
     <Compile Include="ReferenceSources\SSPIConfiguration.cs" />\r
     <Compile Include="ReferenceSources\SSPISafeHandles.cs" />\r
     <Compile Include="ReferenceSources\SSPIWrapper.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.Net\BindIPEndPoint.cs" />\r
     <Compile Include="System.Net\ChunkedInputStream.cs" />\r
     <Compile Include="System.Net\ChunkStream.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\FtpStatus.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\WebConnectionData.cs" />\r
     <Compile Include="System.Net\WebConnectionGroup.cs" />\r
     <Compile Include="System.Net\WebConnectionStream.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.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.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
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index ed53a837361e1dbefcb282e1b598d049bc5d1779..594803e2c2dc0314087b3dbec5c55e6ccd4f14c0 100644 (file)
@@ -42,7 +42,7 @@ namespace System.Net.Configuration
        {
                public virtual object Create (object parent, object configContext, XmlNode section)
                {
-#if (XML_DEP)                  
+#if XML_DEP
                        if (section.Attributes != null && section.Attributes.Count != 0)
                                HandlersUtil.ThrowException ("Unrecognized attribute", section);
 
@@ -60,7 +60,7 @@ namespace System.Net.Configuration
                                        if (child.Attributes != null && child.Attributes.Count != 0)
                                                HandlersUtil.ThrowException ("Unrecognized attribute", child);
 
-                                       WebRequest.ClearPrefixes ();
+                                       WebRequest.PrefixList = new ArrayList ();
                                        continue;
                                }
 
@@ -70,16 +70,18 @@ namespace System.Net.Configuration
                                        if (child.Attributes != null && child.Attributes.Count != 0)
                                                HandlersUtil.ThrowException ("Unrecognized attribute", child);
 
-                                       WebRequest.AddPrefix (prefix, type);
-                                       continue;
+                                       throw new NotImplementedException ();
+                                       //WebRequest.PrefixList.Add (new WebRequestPrefixElement(prefix, type));
+                                       //continue;
                                }
 
                                if (name == "remove") {
                                        if (child.Attributes != null && child.Attributes.Count != 0)
                                                HandlersUtil.ThrowException ("Unrecognized attribute", child);
 
-                                       WebRequest.RemovePrefix (prefix);
-                                       continue;
+                                       throw new NotImplementedException ();
+                                       // WebRequest.RemovePrefix (prefix);
+                                       // continue;
                                }
 
                                HandlersUtil.ThrowException ("Unexpected element", child);
index afcd4c36e024aef0e35f9810e24d12c7c136b0f8..3c3256c709629f5e10029a9e6a004a337bc13c89 100644 (file)
@@ -39,8 +39,11 @@ namespace System.Net.NetworkInformation
        [StructLayout (LayoutKind.Sequential)]
        class Win32_FIXED_INFO
        {
+               // Can't have unresolvable pinvokes on ios
+#if !MOBILE
                [DllImport ("iphlpapi.dll", SetLastError = true)]
                static extern int GetNetworkParams (byte [] bytes, ref int size);
+#endif
 
                static Win32_FIXED_INFO fixed_info;
 
@@ -54,6 +57,7 @@ namespace System.Net.NetworkInformation
 
                static Win32_FIXED_INFO GetInstance ()
                {
+#if !MOBILE
                        int len = 0;
                        byte [] bytes = null;
                        GetNetworkParams (null, ref len);
@@ -66,6 +70,9 @@ namespace System.Net.NetworkInformation
                                }
                        }
                        return info;
+#else
+               throw new NotImplementedException ();
+#endif
                }
 
                const int MAX_HOSTNAME_LEN = 128;
index 4db75cc9655e08b634c79f8270ccd4b2d04d527a..f9cb48fc731b07da8b83cabcb4cbc23210ccf733 100644 (file)
@@ -25,7 +25,7 @@
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
-#if SECURITY_DEP && !MONO_FEATURE_NEW_TLS
+#if !MONO_FEATURE_NEW_TLS
 namespace System.Net.Security
 {
        public enum EncryptionPolicy
index d71b3eecabe26a4a8ded29eff3d04f184f62bec3..cb8b01de36f644f5b2c2ed5fe135b43c6d43f4bb 100644 (file)
@@ -702,8 +702,8 @@ namespace System.Net.Sockets
                        set {
                                ThrowIfDisposedAndClosed ();
 
-                               if (value < 0)
-                                       throw new ArgumentOutOfRangeException ("value", "The value specified for a set operation is less than zero");
+                               if (value < 0 || value > 255)
+                                       throw new ArgumentOutOfRangeException ("value", "The value specified for a set operation is less than zero or greater than 255.");
 
                                switch (address_family) {
                                case AddressFamily.InterNetwork:
diff --git a/mcs/class/System/System.Net/CredentialCache.cs b/mcs/class/System/System.Net/CredentialCache.cs
deleted file mode 100644 (file)
index 9978daa..0000000
+++ /dev/null
@@ -1,282 +0,0 @@
-//
-// System.Net.CredentialCache.cs
-//
-// Author:
-//   Lawrence Pit (loz@cable.a2000.nl)
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// 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.Runtime.Serialization;
-
-namespace System.Net {
-       public class CredentialCache : ICredentials, IEnumerable, ICredentialsByHost
-       {
-               static NetworkCredential empty = new NetworkCredential (String.Empty, String.Empty, String.Empty);
-               Hashtable cache;
-               Hashtable cacheForHost;
-
-               public CredentialCache () 
-               {
-                       cache = new Hashtable ();
-                       cacheForHost = new Hashtable ();
-               }
-               
-               [MonoTODO ("Need EnvironmentPermission implementation first")]
-               public static ICredentials DefaultCredentials {
-                       get {
-                               // This is used for NTLM, Kerberos and Negotiate under MS
-                               return empty;
-                       }
-               }
-
-               // MS does might return a special ICredentials which does not allow getting the
-               // username/password information out of it for non-internal classes.
-               public static NetworkCredential DefaultNetworkCredentials {
-                       get { return empty; }
-               }
-
-               public NetworkCredential GetCredential (Uri uriPrefix, string authType)
-               {
-                       int longestPrefix = -1;
-                       NetworkCredential result = null;
-                       
-                       if (uriPrefix == null || authType == null)
-                               return null;
-                               
-                       string absPath = uriPrefix.AbsolutePath;
-                       absPath = absPath.Substring (0, absPath.LastIndexOf ('/'));
-                       
-                       IDictionaryEnumerator e = cache.GetEnumerator ();
-                       while (e.MoveNext ()) {
-                               CredentialCacheKey key = e.Key as CredentialCacheKey;
-                               
-                               if (key.Length <= longestPrefix) 
-                                       continue;
-                               
-                               if (String.Compare (key.AuthType, authType, true) != 0)
-                                       continue;
-                               
-                               Uri cachedUri = key.UriPrefix;
-                               
-                               if (cachedUri.Scheme != uriPrefix.Scheme)
-                                       continue;
-                                       
-                               if (cachedUri.Port != uriPrefix.Port)
-                                       continue;
-                                       
-                               if (cachedUri.Host != uriPrefix.Host)
-                                       continue;
-                                                               
-                               if (!absPath.StartsWith (key.AbsPath))
-                                       continue;
-                                       
-                               longestPrefix = key.Length;
-                               result = (NetworkCredential) e.Value;
-                       }
-                       
-                       return result;
-               }
-
-               public IEnumerator GetEnumerator ()
-               {
-                       return cache.Values.GetEnumerator ();
-               }               
-               
-               public void Add (Uri uriPrefix, string authType, NetworkCredential cred)
-               {
-                       if (uriPrefix == null) 
-                               throw new ArgumentNullException ("uriPrefix");
-
-                       if (authType == null) 
-                               throw new ArgumentNullException ("authType");
-                       
-                       // throws ArgumentException when same key already exists.
-                       cache.Add (new CredentialCacheKey (uriPrefix, authType), cred);
-               }
-               
-               public void Remove (Uri uriPrefix, string authType)
-               {
-                       if (uriPrefix == null) 
-                               throw new ArgumentNullException ("uriPrefix");
-
-                       if (authType == null) 
-                               throw new ArgumentNullException ("authType");
-
-                       cache.Remove (new CredentialCacheKey (uriPrefix, authType));
-               }
-               
-               public NetworkCredential GetCredential (string host, int port, string authenticationType)
-               {
-                       NetworkCredential result = null;
-                       
-                       if (host == null || port < 0 || authenticationType == null)
-                               return null;
-
-                       IDictionaryEnumerator e = cacheForHost.GetEnumerator ();
-                       while (e.MoveNext ()) {
-                               CredentialCacheForHostKey key = e.Key as CredentialCacheForHostKey;
-                               
-                               if (String.Compare (key.AuthType, authenticationType, true) != 0)
-                                       continue;
-                               
-                               if (key.Host != host)
-                                       continue;
-                               
-                               if (key.Port != port)
-                                       continue;
-                               
-                               result = (NetworkCredential) e.Value;
-                       }
-                       
-                       return result;
-               }
-
-               public void Add (string host, int port, string authenticationType, NetworkCredential credential)
-               {
-                       if (host == null)
-                               throw new ArgumentNullException("host");
-
-                       if (port < 0)
-                               throw new ArgumentOutOfRangeException("port");
-
-                       if (authenticationType == null)
-                               throw new ArgumentOutOfRangeException("authenticationType");
-
-                       cacheForHost.Add (new CredentialCacheForHostKey (host, port, authenticationType), credential);
-               }
-
-               public void Remove (string host, int port, string authenticationType)
-               {
-                       if (host == null)
-                               return;
-
-                       if (authenticationType == null)
-                               return;
-
-                       cacheForHost.Remove (new CredentialCacheForHostKey (host, port, authenticationType));
-               }
-
-               class CredentialCacheKey {
-                       Uri uriPrefix;
-                       string authType;
-                       string absPath;
-                       int len;
-                       int hash;
-                       
-                       internal CredentialCacheKey (Uri uriPrefix, string authType)
-                       {
-                               this.uriPrefix = uriPrefix;
-                               this.authType = authType;
-                               
-                               this.absPath = uriPrefix.AbsolutePath;
-                               this.absPath = absPath.Substring (0, absPath.LastIndexOf ('/'));                                
-
-                               this.len = uriPrefix.AbsoluteUri.Length;
-                               this.hash = uriPrefix.GetHashCode () 
-                                         + authType.GetHashCode ();
-                       }
-                       
-                       public int Length {
-                               get { return len; }
-                       }                       
-                       
-                       public string AbsPath {
-                               get { return absPath; }
-                       }
-                       
-                       public Uri UriPrefix {
-                               get { return uriPrefix; }
-                       }
-                       
-                       public string AuthType {
-                               get { return authType; }
-                       }
-                       
-                       public override int GetHashCode ()
-                       {
-                               return hash;
-                       }
-                       
-                       public override bool Equals (object obj)
-                       {
-                               CredentialCacheKey key = obj as CredentialCacheKey;
-                               return ((key != null) && (this.hash == key.hash));
-                       }
-                       
-                       public override string ToString ()
-                       {
-                               return absPath + " : " + authType + " : len=" + len;
-                       }
-               }
-
-               class CredentialCacheForHostKey {
-                       string host;
-                       int port;
-                       string authType;
-                       int hash;
-
-                       internal CredentialCacheForHostKey (string host, int port, string authType)
-                       {
-                               this.host = host;
-                               this.port = port;
-                               this.authType = authType;
-
-                               this.hash = host.GetHashCode ()
-                                       + port.GetHashCode ()
-                                       + authType.GetHashCode ();
-                       }
-
-                       public string Host {
-                               get { return host; }
-                       }
-
-                       public int Port {
-                               get { return port; }
-                       }
-
-                       public string AuthType {
-                               get { return authType; }
-                       }
-
-               public override int GetHashCode ()
-               {
-                       return hash;
-               }
-
-               public override bool Equals (object obj)
-               {
-                       CredentialCacheForHostKey key = obj as CredentialCacheForHostKey;
-                       return ((key != null) && (this.hash == key.hash));
-               }
-
-               public override string ToString ()
-               {
-                       return host + " : " + authType;
-               }
-       }
-}
-}
-
-
index 5400d73b87e7e6fee4d7d365260f00d7797f81d9..b7aae27d7f9039e03d8d8810704e7e0c04bfdea4 100644 (file)
@@ -73,7 +73,8 @@ namespace System.Net {
                        SocketAsyncEventArgs args = new SocketAsyncEventArgs ();
                        args.UserToken = this;
                        args.Completed += OnAccept;
-                       Accept (sock, args);
+                       Socket dummy = null;
+                       Accept (sock, args, ref dummy);
                        prefixes = new Hashtable ();
                        unregistered = new Dictionary<HttpConnection, HttpConnection> ();
                }
@@ -82,9 +83,21 @@ namespace System.Net {
                        get { return listener; }
                }
 
-               static void Accept (Socket socket, SocketAsyncEventArgs e) {
+               static void Accept (Socket socket, SocketAsyncEventArgs e, ref Socket accepted) {
                        e.AcceptSocket = null;
-                       var asyn = socket.AcceptAsync(e);
+                       bool asyn;
+                       try {
+                               asyn = socket.AcceptAsync(e);
+                       } catch {
+                               if (accepted != null) {
+                                       try {
+                                               accepted.Close ();
+                                       } catch {
+                                       }
+                                       accepted = null;
+                               }
+                               return;
+                       }
                        if (!asyn) {
                                ProcessAccept(e);
                        }
@@ -100,7 +113,7 @@ namespace System.Net {
                        EndPointListener epl = (EndPointListener) args.UserToken;
 
 
-                       Accept (epl.sock, args);
+                       Accept (epl.sock, args, ref accepted);
                        if (accepted == null)
                                return;
 
diff --git a/mcs/class/System/System.Net/GlobalProxySelection.cs b/mcs/class/System/System.Net/GlobalProxySelection.cs
deleted file mode 100644 (file)
index 049f61c..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-//
-// System.Net.GlobalProxySelection
-//
-// Author:
-//   Lawrence Pit (loz@cable.a2000.nl)
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// 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.Configuration;
-using System.IO;
-using System.Runtime.Serialization;
-using System.Net.Configuration;
-
-namespace System.Net 
-{
-       [ObsoleteAttribute("Use WebRequest.DefaultProxy instead")]
-       public class GlobalProxySelection
-       {
-               // Constructors
-               public GlobalProxySelection() { }
-               
-               // Properties
-
-               public static IWebProxy Select {
-                       get { return WebRequest.DefaultWebProxy; }
-                       set { WebRequest.DefaultWebProxy = value; }
-               }
-               
-               // Methods
-               
-               public static IWebProxy GetEmptyWebProxy()
-               {
-                       // must return a new one each time, as the credentials
-                       // can be set
-                       return new EmptyWebProxy ();    
-               }
-               
-               // Internal Classes
-               
-               internal class EmptyWebProxy : IWebProxy {
-                       private ICredentials credentials = null;
-                       
-                       internal EmptyWebProxy () { }
-                       
-                       public ICredentials Credentials {
-                               get { return credentials; } 
-                               set { credentials = value; }
-                       }
-
-                       public Uri GetProxy (Uri destination)
-                       {
-                               return destination;
-                       }
-
-                       public bool IsBypassed (Uri host)
-                       {
-                               return true; // pass directly to host
-                       }
-               }
-       }               
-}
index 97233f4f488ad6cf0340fcfbb15a4c0d96f8c3d6..63d0eb39238c4bdf2d5eaf16eb69adef7c2562e0 100644 (file)
@@ -154,7 +154,7 @@ namespace System.Net
                {
                        this.requestUri = uri;
                        this.actualUri = uri;
-                       this.proxy = GlobalProxySelection.Select;
+                       this.proxy = InternalDefaultWebProxy;
                        this.webHeaders = new WebHeaderCollection (WebHeaderCollectionType.HttpWebRequest);
                        ThrowOnError = true;
                        ResetAuthorization ();
@@ -1474,7 +1474,7 @@ namespace System.Net
                        if (wce != null) {
                                WebConnection cnc = wce.Connection;
                                cnc.PriorityRequest = this;
-                               ICredentials creds = !isProxy ? credentials : proxy.Credentials;
+                               ICredentials creds = (!isProxy || proxy == null) ? credentials : proxy.Credentials;
                                if (creds != null) {
                                        cnc.NtlmCredential = creds.GetCredential (requestUri, "NTLM");
                                        cnc.UnsafeAuthenticatedConnectionSharing = unsafe_auth_blah;
@@ -1531,7 +1531,7 @@ namespace System.Net
                                        return;
                                }
 
-                               bool isProxy = ProxyQuery && !proxy.IsBypassed (actualUri);
+                               bool isProxy = ProxyQuery && proxy != null && !proxy.IsBypassed (actualUri);
 
                                bool redirected;
                                try {
@@ -1793,6 +1793,22 @@ namespace System.Net
                }
 
                internal WebConnection StoredConnection;
+
+#region referencesource
+        internal static StringBuilder GenerateConnectionGroup(string connectionGroupName, bool unsafeConnectionGroup, bool isInternalGroup)
+        {
+            StringBuilder connectionLine = new StringBuilder(connectionGroupName);
+
+            connectionLine.Append(unsafeConnectionGroup ? "U>" : "S>");
+
+            if (isInternalGroup)
+            {
+                connectionLine.Append("I>");
+            }
+
+            return connectionLine;
+        }
+#endregion
        }
 }
 
index 13c06ec493f499c3f5636c35248940ba13b3a6cc..ef22ed44c2b20935947099b7dcab2425614eaf3b 100644 (file)
@@ -489,6 +489,11 @@ namespace System.Net
                                return true;
                        }
                }
+
+               internal Socket GetConnection(PooledStream PooledStream, object owner, bool async, out IPAddress address, ref Socket abortSocket, ref Socket abortSocket6)
+               {
+                       throw new NotImplementedException ();
+               }
        }
 }
 
index abd23e67270d619d6b6435ca104187a9be488401..723125b1e753c867afe58eb58109b3895812ef7d 100644 (file)
@@ -311,7 +311,7 @@ namespace System.Net
 
                public static ServicePoint FindServicePoint (Uri address) 
                {
-                       return FindServicePoint (address, GlobalProxySelection.Select);
+                       return FindServicePoint (address, null);
                }
                
                public static ServicePoint FindServicePoint (string uriString, IWebProxy proxy)
index 4d7e329a89c563df5038bd6c0c0e95330893a12e..d971cdd841247e06269b3819de75f54b6804fa4d 100644 (file)
@@ -7,6 +7,8 @@
 // Copyright 2013-2014 Xamarin Inc.
 //
 
+#if MOBILE
+
 using System;
 using System.Collections.Generic;
 
@@ -29,3 +31,5 @@ namespace System.Net {
                public static CipherSuitesCallback ServerCipherSuitesCallback { get; set; }
        }
 }
+
+#endif
diff --git a/mcs/class/System/System.Net/WebProxy.cs b/mcs/class/System/System.Net/WebProxy.cs
deleted file mode 100644 (file)
index 365535a..0000000
+++ /dev/null
@@ -1,252 +0,0 @@
-//
-// System.Net.WebProxy.cs
-//
-// Authors:
-//   Lawrence Pit (loz@cable.a2000.nl)
-//   Andreas Nahr (ClassDevelopment@A-SoftTech.com)
-//
-
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// 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.Globalization;
-using System.Runtime.Serialization;
-using System.Text.RegularExpressions;
-
-namespace System.Net 
-{
-       [Serializable]
-       public class WebProxy : IWebProxy, ISerializable
-       {
-               Uri address;
-               bool bypassOnLocal;
-               ArrayList bypassList;
-               ICredentials credentials;
-               bool useDefaultCredentials;
-
-               // Constructors
-
-               public WebProxy ()
-                       : this ((Uri) null, false, null, null) {}
-
-               public WebProxy (string address)
-                       : this (ToUri (address), false, null, null) {}
-
-               public WebProxy (Uri address) 
-                       : this (address, false, null, null) {}
-
-               public WebProxy (string address, bool bypassOnLocal) 
-                       : this (ToUri (address), bypassOnLocal, null, null) {}
-
-               public WebProxy (string host, int port)
-                       : this (new Uri ("http://" + host + ":" + port)) {}
-
-               public WebProxy (Uri address, bool bypassOnLocal)
-                       : this (address, bypassOnLocal, null, null) {}
-
-               public WebProxy (string address, bool bypassOnLocal, string [] bypassList)
-                       : this (ToUri (address), bypassOnLocal, bypassList, null) {}
-
-               public WebProxy (Uri address, bool bypassOnLocal, string [] bypassList)
-                       : this (address, bypassOnLocal, bypassList, null) {}
-
-               public WebProxy (string address, bool bypassOnLocal, string [] bypassList,
-                               ICredentials credentials)
-                       : this (ToUri (address), bypassOnLocal, bypassList, credentials) {}
-
-               public WebProxy (Uri address, bool bypassOnLocal, 
-                                string[] bypassList, ICredentials credentials)
-               {
-                       this.address = address;
-                       this.bypassOnLocal = bypassOnLocal;
-                       if (bypassList != null)
-                               this.bypassList = new ArrayList (bypassList);
-                       this.credentials = credentials;
-                       CheckBypassList ();
-               }
-
-               protected WebProxy (SerializationInfo serializationInfo, StreamingContext streamingContext) 
-               {
-                       this.address = (Uri) serializationInfo.GetValue ("_ProxyAddress", typeof (Uri));
-                       this.bypassOnLocal = serializationInfo.GetBoolean ("_BypassOnLocal");
-                       this.bypassList = (ArrayList) serializationInfo.GetValue ("_BypassList", typeof (ArrayList));
-                       this.useDefaultCredentials =  serializationInfo.GetBoolean ("_UseDefaultCredentials");
-                       this.credentials = null;
-                       CheckBypassList ();
-               }
-
-               // Properties
-               public Uri Address {
-                       get { return address; }
-                       set { address = value; }
-               }
-
-               public ArrayList BypassArrayList {
-                       get {
-                               if (bypassList == null)
-                                       bypassList = new ArrayList ();
-                               return bypassList;
-                       }
-               }
-
-               public string [] BypassList {
-                       get { return (string []) BypassArrayList.ToArray (typeof (string)); }
-                       set { 
-                               if (value == null)
-                                       throw new ArgumentNullException ();
-                               bypassList = new ArrayList (value); 
-                               CheckBypassList ();
-                       }
-               }
-
-               public bool BypassProxyOnLocal {
-                       get { return bypassOnLocal; }
-                       set { bypassOnLocal = value; }
-               }
-
-               public ICredentials Credentials {
-                       get { return credentials; }
-                       set { credentials = value; }
-               }
-
-               [MonoTODO ("Does not affect Credentials, since CredentialCache.DefaultCredentials is not implemented.")]
-               public bool UseDefaultCredentials {
-                       get { return useDefaultCredentials; }
-                       set { useDefaultCredentials = value; }
-               }
-
-               // Methods
-               [Obsolete ("This method has been deprecated", false)]
-               [MonoTODO("Can we get this info under windows from the system?")]
-               public static WebProxy GetDefaultProxy ()
-               {
-                       // Select gets a WebProxy from config files, if available.
-                       IWebProxy p = GlobalProxySelection.Select;
-                       if (p is WebProxy)
-                               return (WebProxy) p;
-
-                       return new WebProxy ();
-               }
-
-               public Uri GetProxy (Uri destination)
-               {
-                       if (IsBypassed (destination))
-                               return destination;
-
-                       return address;
-               }
-
-               public bool IsBypassed (Uri host)
-               {
-                       if (host == null)
-                               throw new ArgumentNullException ("host");
-
-                       if (host.IsLoopback && bypassOnLocal)
-                               return true;
-
-                       if (address == null)
-                               return true;
-
-                       string server = host.Host;
-                       if (bypassOnLocal && server.IndexOf ('.') == -1)
-                               return true;
-
-                       // LAMESPEC
-                       if (!bypassOnLocal) {
-                               if (String.Compare (server, "localhost", true, CultureInfo.InvariantCulture) == 0)
-                                       return true;
-                               if (String.Compare (server, "loopback", true, CultureInfo.InvariantCulture) == 0)
-                                       return true;
-
-                               IPAddress addr = null;
-                               if (IPAddress.TryParse (server, out addr) && IPAddress.IsLoopback (addr))
-                                       return true;
-                       }
-
-                       if (bypassList == null || bypassList.Count == 0)
-                               return false;
-
-                       try {
-                               string hostStr = host.Scheme + "://" + host.Authority;
-                               int i = 0;
-                               for (; i < bypassList.Count; i++) {
-                                       Regex regex = new Regex ((string) bypassList [i], 
-                                               // TODO: RegexOptions.Compiled |  // not implemented yet by Regex
-                                               RegexOptions.IgnoreCase |
-                                               RegexOptions.Singleline);
-
-                                       if (regex.IsMatch (hostStr))
-                                               break;
-                               }
-
-                               if (i == bypassList.Count)
-                                       return false;
-
-                               // continue checking correctness of regular expressions..
-                               // will throw expression when an invalid one is found
-                               for (; i < bypassList.Count; i++)
-                                       new Regex ((string) bypassList [i]);
-
-                               return true;
-                       } catch (ArgumentException) {
-                               return false;
-                       }
-               }
-
-               protected virtual void GetObjectData (SerializationInfo serializationInfo, StreamingContext streamingContext)
-               {
-                       serializationInfo.AddValue ("_BypassOnLocal", bypassOnLocal);
-                       serializationInfo.AddValue ("_ProxyAddress", address);
-                       serializationInfo.AddValue ("_BypassList", bypassList);
-                       serializationInfo.AddValue ("_UseDefaultCredentials", UseDefaultCredentials);
-               }
-
-               void ISerializable.GetObjectData (SerializationInfo serializationInfo,
-                                                 StreamingContext streamingContext)
-               {
-                       GetObjectData (serializationInfo, streamingContext);
-               }
-
-               // Private Methods
-               // this compiles the regular expressions, and will throw
-               // an exception when an invalid one is found.
-               void CheckBypassList ()
-               {
-                       if (bypassList == null)
-                               return;
-                       for (int i = 0; i < bypassList.Count; i++)
-                               new Regex ((string) bypassList [i]);
-               }
-
-               static Uri ToUri (string address)
-               {
-                       if (address == null)
-                               return null;
-                               
-                       if (address.IndexOf ("://", StringComparison.Ordinal) == -1) 
-                               address = "http://" + address;
-
-                       return new Uri (address);
-               }
-       }
-}
diff --git a/mcs/class/System/System.Net/WebRequest.cs b/mcs/class/System/System.Net/WebRequest.cs
deleted file mode 100644 (file)
index fd450c8..0000000
+++ /dev/null
@@ -1,548 +0,0 @@
-//
-// System.Net.WebRequest
-//
-// Authors:
-//  Lawrence Pit (loz@cable.a2000.nl)
-//     Marek Safar (marek.safar@gmail.com)
-//
-// Copyright 2011 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;
-using System.Collections.Specialized;
-using System.Configuration;
-using System.IO;
-using System.Reflection;
-using System.Runtime.Serialization;
-using System.Globalization;
-using System.Net.Configuration;
-using System.Net.Security;
-using System.Net.Cache;
-using System.Security.Principal;
-using System.Threading.Tasks;
-using System.Text.RegularExpressions;
-using Mono.Net;
-
-#if NET_2_1
-using ConfigurationException = System.ArgumentException;
-
-namespace System.Net.Configuration {
-       class Dummy {}
-}
-#endif
-
-namespace System.Net 
-{
-       [Serializable]
-       public abstract class WebRequest : MarshalByRefObject, ISerializable {
-               static HybridDictionary prefixes = new HybridDictionary ();
-               static bool isDefaultWebProxySet;
-               static IWebProxy defaultWebProxy;
-               static RequestCachePolicy defaultCachePolicy;
-
-               internal const int DefaultTimeout = 100000;
-
-               static WebRequest ()
-               {
-#if MOBILE
-                       IWebRequestCreate http = new HttpRequestCreator ();
-                       RegisterPrefix ("http", http);
-                       RegisterPrefix ("https", http);
-                       RegisterPrefix ("file", new FileWebRequestCreator ());
-                       RegisterPrefix ("ftp", new FtpRequestCreator ());
-#else
-       #if CONFIGURATION_DEP
-                       object cfg = ConfigurationManager.GetSection ("system.net/webRequestModules");
-                       WebRequestModulesSection s = cfg as WebRequestModulesSection;
-                       if (s != null) {
-                               foreach (WebRequestModuleElement el in
-                                        s.WebRequestModules)
-                                       AddPrefix (el.Prefix, el.Type);
-                               return;
-                       }
-       #endif
-                       ConfigurationSettings.GetConfig ("system.net/webRequestModules");
-#endif
-               }
-               
-               protected WebRequest () 
-               {
-               }
-               
-               protected WebRequest (SerializationInfo serializationInfo, StreamingContext streamingContext) 
-               {
-               }
-
-               static Exception GetMustImplement ()
-               {
-                       return new NotImplementedException ("This method must be implemented in derived classes");
-               }
-               
-               // Properties
-
-               private AuthenticationLevel authentication_level = AuthenticationLevel.MutualAuthRequested;
-               
-               public AuthenticationLevel AuthenticationLevel
-               {
-                       get {
-                               return(authentication_level);
-                       }
-                       set {
-                               authentication_level = value;
-                       }
-               }
-               
-               public virtual string ConnectionGroupName {
-                       get { throw GetMustImplement (); }
-                       set { throw GetMustImplement (); }
-               }
-               
-               public virtual long ContentLength { 
-                       get { throw GetMustImplement (); }
-                       set { throw GetMustImplement (); }
-               }
-               
-               public virtual string ContentType { 
-                       get { throw GetMustImplement (); }
-                       set { throw GetMustImplement (); }
-               }
-               
-               public virtual ICredentials Credentials { 
-                       get { throw GetMustImplement (); }
-                       set { throw GetMustImplement (); }
-               }
-
-               [MonoTODO ("Implement the caching system. Currently always returns a policy with the NoCacheNoStore level")]
-               public virtual RequestCachePolicy CachePolicy
-               {
-                       get { return DefaultCachePolicy; }
-                       set {
-                       }
-               }
-               
-               public static RequestCachePolicy DefaultCachePolicy {
-                       get {
-                               return defaultCachePolicy ?? (defaultCachePolicy = new HttpRequestCachePolicy (HttpRequestCacheLevel.NoCacheNoStore));
-                       }
-                       set {
-                               throw GetMustImplement ();
-                       }
-               }
-               
-               public virtual WebHeaderCollection Headers { 
-                       get { throw GetMustImplement (); }
-                       set { throw GetMustImplement (); }
-               }
-               
-
-               public virtual string Method { 
-                       get { throw GetMustImplement (); }
-                       set { throw GetMustImplement (); }
-               }
-               
-               public virtual bool PreAuthenticate { 
-                       get { throw GetMustImplement (); }
-                       set { throw GetMustImplement (); }
-               }
-               
-               public virtual IWebProxy Proxy { 
-                       get { throw GetMustImplement (); }
-                       set { throw GetMustImplement (); }
-               }
-               
-               public virtual Uri RequestUri { 
-                       get { throw GetMustImplement (); }
-               }
-               
-               public virtual int Timeout { 
-                       get { throw GetMustImplement (); }
-                       set { throw GetMustImplement (); }
-               }
-               
-               public virtual bool UseDefaultCredentials
-               {
-                       get {
-                               throw GetMustImplement ();
-                       }
-                       set {
-                               throw GetMustImplement ();
-                       }
-               }
-
-               public TokenImpersonationLevel ImpersonationLevel { get; set; }
-
-//             volatile static IWebProxy proxy;
-               static readonly object lockobj = new object ();
-               
-               public static IWebProxy DefaultWebProxy {
-                       get {
-                               if (!isDefaultWebProxySet) {
-                                       lock (lockobj) {
-                                               if (defaultWebProxy == null)
-                                                       defaultWebProxy = GetDefaultWebProxy ();
-                                       }
-                               }
-                               return defaultWebProxy;
-                       }
-                       set {
-                               /* MS documentation states that a null value would cause an ArgumentNullException
-                                * but that's not the way it behaves:
-                                * https://connect.microsoft.com/VisualStudio/feedback/ViewFeedback.aspx?FeedbackID=304724
-                                */
-                               defaultWebProxy = value;
-                               isDefaultWebProxySet = true;
-                       }
-               }
-
-               internal static IWebProxy InternalDefaultWebProxy {
-                       get {
-                               return DefaultWebProxy;
-                       }
-               }
-
-               
-               [MonoTODO("Needs to respect Module, Proxy.AutoDetect, and Proxy.ScriptLocation config settings")]
-               static IWebProxy GetDefaultWebProxy ()
-               {
-#if CONFIGURATION_DEP
-                       DefaultProxySection sec = ConfigurationManager.GetSection ("system.net/defaultProxy") as DefaultProxySection;
-                       WebProxy p;
-                       
-                       if (sec == null)
-                               return GetSystemWebProxy ();
-                       
-                       ProxyElement pe = sec.Proxy;
-                       
-                       if ((pe.UseSystemDefault != ProxyElement.UseSystemDefaultValues.False) && (pe.ProxyAddress == null)) {
-                               IWebProxy proxy = GetSystemWebProxy ();
-                               
-                               if (!(proxy is WebProxy))
-                                       return proxy;
-                               
-                               p = (WebProxy) proxy;
-                       } else
-                               p = new WebProxy ();
-                       
-                       if (pe.ProxyAddress != null)
-                               p.Address = pe.ProxyAddress;
-                       
-                       if (pe.BypassOnLocal != ProxyElement.BypassOnLocalValues.Unspecified)
-                               p.BypassProxyOnLocal = (pe.BypassOnLocal == ProxyElement.BypassOnLocalValues.True);
-                               
-                       foreach(BypassElement elem in sec.BypassList)
-                               p.BypassArrayList.Add(elem.Address);
-                       
-                       return p;
-#else
-                       return GetSystemWebProxy ();
-#endif
-               }
-
-               // Methods
-               
-               public virtual void Abort()
-               {
-                       throw GetMustImplement ();
-               }
-               
-               public virtual IAsyncResult BeginGetRequestStream (AsyncCallback callback, object state) 
-               {
-                       throw GetMustImplement ();
-               }
-               
-               public virtual IAsyncResult BeginGetResponse (AsyncCallback callback, object state)
-               {
-                       throw GetMustImplement ();
-               }
-
-               public static WebRequest Create (string requestUriString) 
-               {
-                       if (requestUriString == null)
-                               throw new ArgumentNullException ("requestUriString");
-                       return Create (new Uri (requestUriString));
-               }
-                               
-               public static WebRequest Create (Uri requestUri) 
-               {
-                       if (requestUri == null)
-                               throw new ArgumentNullException ("requestUri");
-                       return GetCreator (requestUri.AbsoluteUri).Create (requestUri);
-               }
-               
-               public static WebRequest CreateDefault (Uri requestUri)
-               {
-                       if (requestUri == null)
-                               throw new ArgumentNullException ("requestUri");
-                       return GetCreator (requestUri.Scheme).Create (requestUri);
-               }
-               static HttpWebRequest SharedCreateHttp (Uri uri)
-               {
-                       if (uri.Scheme != "http" && uri.Scheme != "https")
-                               throw new NotSupportedException ("The uri should start with http or https");
-
-                       return new HttpWebRequest (uri);
-               }
-
-               public static HttpWebRequest CreateHttp (string requestUriString)
-               {
-                       if (requestUriString == null)
-                               throw new ArgumentNullException ("requestUriString");
-                       return SharedCreateHttp (new Uri (requestUriString));
-               }
-                       
-               public static HttpWebRequest CreateHttp (Uri requestUri)
-               {
-                       if (requestUri == null)
-                               throw new ArgumentNullException ("requestUri");
-                       return SharedCreateHttp (requestUri);
-               }
-               public virtual Stream EndGetRequestStream (IAsyncResult asyncResult)
-               {
-                       throw GetMustImplement ();
-               }
-               
-               public virtual WebResponse EndGetResponse (IAsyncResult asyncResult)
-               {
-                       throw GetMustImplement ();
-               }
-               
-               public virtual Stream GetRequestStream()
-               {
-                       throw GetMustImplement ();
-               }
-               
-               public virtual WebResponse GetResponse()
-               {
-                       throw GetMustImplement ();
-               }
-               
-               // Takes an ArrayList of fileglob-formatted strings and returns an array of Regex-formatted strings
-               private static string[] CreateBypassList (ArrayList al)
-               {
-                       string[] result = al.ToArray (typeof (string)) as string[];
-                       for (int c = 0; c < result.Length; c++)
-                       {
-                               result [c] = "^" +
-                                       Regex.Escape (result [c]).Replace (@"\*", ".*").Replace (@"\?", ".") +
-                                       "$";
-                       }
-                       return result;
-               }
-
-               [MonoTODO("Look in other places for proxy config info")]
-               public static IWebProxy GetSystemWebProxy ()
-               {
-#if MONOTOUCH
-                       return CFNetwork.GetDefaultProxy ();
-#else
-#if MONODROID
-                       // Return the system web proxy.  This only works for ICS+.
-                       var androidProxy = AndroidPlatform.GetDefaultProxy ();
-                       if (androidProxy != null)
-                               return androidProxy;
-#endif
-#if !NET_2_1
-                       if (IsWindows ()) {
-                               int iProxyEnable = (int)Microsoft.Win32.Registry.GetValue ("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", "ProxyEnable", 0);
-
-                               if (iProxyEnable > 0) {
-                                       string strHttpProxy = "";                                       
-                                       bool bBypassOnLocal = false;
-                                       ArrayList al = new ArrayList ();
-                                       
-                                       string strProxyServer = (string)Microsoft.Win32.Registry.GetValue ("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", "ProxyServer", null);
-                                       string strProxyOverrride = (string)Microsoft.Win32.Registry.GetValue ("HKEY_CURRENT_USER\\Software\\Microsoft\\Windows\\CurrentVersion\\Internet Settings", "ProxyOverride", null);
-                                       
-                                       if (strProxyServer.Contains ("=")) {
-                                               foreach (string strEntry in strProxyServer.Split (new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries))
-                                                       if (strEntry.StartsWith ("http=")) {
-                                                               strHttpProxy = strEntry.Substring (5);
-                                                               break;
-                                                       }
-                                       } else strHttpProxy = strProxyServer;
-                                       
-                                       if (strProxyOverrride != null) {                                                
-                                               string[] bypassList = strProxyOverrride.Split (new char[] { ';' }, StringSplitOptions.RemoveEmptyEntries);
-                                       
-                                               foreach (string str in bypassList) {
-                                                       if (str != "<local>")
-                                                               al.Add (str);
-                                                       else
-                                                               bBypassOnLocal = true;
-                                               }
-                                       }
-                                       
-                                       return new WebProxy (strHttpProxy, bBypassOnLocal, CreateBypassList (al));
-                               }
-                       } else {
-#endif
-                               if (Platform.IsMacOS)
-                                       return CFNetwork.GetDefaultProxy ();
-                               
-                               string address = Environment.GetEnvironmentVariable ("http_proxy");
-
-                               if (address == null)
-                                       address = Environment.GetEnvironmentVariable ("HTTP_PROXY");
-                               
-                               if (address != null) {
-                                       try {
-                                               if (!address.StartsWith ("http://"))
-                                                       address = "http://" + address;
-
-                                               Uri uri = new Uri (address);
-                                               IPAddress ip;
-                                               
-                                               if (IPAddress.TryParse (uri.Host, out ip)) {
-                                                       if (IPAddress.Any.Equals (ip)) {
-                                                               UriBuilder builder = new UriBuilder (uri);
-                                                               builder.Host = "127.0.0.1";
-                                                               uri = builder.Uri;
-                                                       } else if (IPAddress.IPv6Any.Equals (ip)) {
-                                                               UriBuilder builder = new UriBuilder (uri);
-                                                               builder.Host = "[::1]";
-                                                               uri = builder.Uri;
-                                                       }
-                                               }
-                                               
-                                               bool bBypassOnLocal = false;                                            
-                                               ArrayList al = new ArrayList ();
-                                               string bypass = Environment.GetEnvironmentVariable ("no_proxy");
-                                               
-                                               if (bypass == null)
-                                                       bypass = Environment.GetEnvironmentVariable ("NO_PROXY");
-                                               
-                                               if (bypass != null) {
-                                                       string[] bypassList = bypass.Split (new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
-                                               
-                                                       foreach (string str in bypassList) {
-                                                               if (str != "*.local")
-                                                                       al.Add (str);
-                                                               else
-                                                                       bBypassOnLocal = true;
-                                                       }
-                                               }
-                                               
-                                               return new WebProxy (uri, bBypassOnLocal, CreateBypassList (al));
-                                       } catch (UriFormatException) {
-                                       }
-                               }
-#if !NET_2_1
-                       }
-#endif
-                       
-                       return new WebProxy ();
-#endif // MONOTOUCH
-               }
-
-               void ISerializable.GetObjectData (SerializationInfo serializationInfo, StreamingContext streamingContext)
-               {
-                       GetObjectData(serializationInfo, streamingContext);
-               }
-
-               protected virtual void GetObjectData (SerializationInfo serializationInfo, StreamingContext streamingContext)
-               {
-               }
-
-               public static bool RegisterPrefix (string prefix, IWebRequestCreate creator)
-               {
-                       if (prefix == null)
-                               throw new ArgumentNullException ("prefix");
-                       if (creator == null)
-                               throw new ArgumentNullException ("creator");
-                       
-                       lock (prefixes.SyncRoot) {
-                               string lowerCasePrefix = prefix.ToLower (CultureInfo.InvariantCulture);
-                               if (prefixes.Contains (lowerCasePrefix))
-                                       return false;
-                               prefixes.Add (lowerCasePrefix, creator);
-                       }
-                       return true;
-               }
-               
-               private static IWebRequestCreate GetCreator (string prefix)
-               {
-                       int longestPrefix = -1;
-                       IWebRequestCreate creator = null;
-
-                       prefix = prefix.ToLower (CultureInfo.InvariantCulture);
-
-                       IDictionaryEnumerator e = prefixes.GetEnumerator ();
-                       while (e.MoveNext ()) {
-                               string key = e.Key as string;
-
-                               if (key.Length <= longestPrefix) 
-                                       continue;
-                               
-                               if (!prefix.StartsWith (key))
-                                       continue;
-                                       
-                               longestPrefix = key.Length;
-                               creator = (IWebRequestCreate) e.Value;
-                       }
-                       
-                       if (creator == null) 
-                               throw new NotSupportedException (prefix);
-                               
-                       return creator;
-               }
-               
-               internal static bool IsWindows ()
-               {
-                       return (int) Environment.OSVersion.Platform < 4;
-               }
-
-               internal static void ClearPrefixes ()
-               {
-                       prefixes.Clear ();
-               }
-
-               internal static void RemovePrefix (string prefix)
-               {
-                       prefixes.Remove (prefix);
-               }
-
-               internal static void AddPrefix (string prefix, string typeName)
-               {
-                       Type type = Type.GetType (typeName);
-                       if (type == null)
-                               throw new ConfigurationException (String.Format ("Type {0} not found", typeName));
-                       AddPrefix (prefix, type);
-               }
-
-               internal static void AddPrefix (string prefix, Type type)
-               {
-                       object o = Activator.CreateInstance (type, true);
-                       prefixes [prefix] = o;
-               }
-
-               public virtual Task<Stream> GetRequestStreamAsync ()
-               {
-                       return Task<Stream>.Factory.FromAsync (BeginGetRequestStream, EndGetRequestStream, null);
-               }
-
-               public virtual Task<WebResponse> GetResponseAsync ()
-               {
-                       return Task<WebResponse>.Factory.FromAsync (BeginGetResponse, EndGetResponse, null);
-               }
-       }
-}
index f0bdac661cb472752a9ae1a88bb026de0a897cfe..ac6db80037dfe506d1b2da49ad07c8196424eb33 100644 (file)
@@ -133,7 +133,7 @@ namespace System.Security.AccessControl
                        SetAuditRule((AuditRule)rule);
                }
                
-               internal new void PersistModifications (SafeHandle handle)
+               internal new void Persist (SafeHandle handle)
                {
                        WriteLock();
                        try {
diff --git a/mcs/class/System/System.Threading/Semaphore.cs b/mcs/class/System/System.Threading/Semaphore.cs
deleted file mode 100644 (file)
index 2324fb9..0000000
+++ /dev/null
@@ -1,221 +0,0 @@
-//
-// System.Threading.Semaphore.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.Runtime.ConstrainedExecution;
-using System.Runtime.InteropServices;
-using System.Security.AccessControl;
-using System.Security.Permissions;
-using System.Runtime.CompilerServices;
-using System.IO;
-
-namespace System.Threading {
-
-       [ComVisible (false)]
-       public sealed class Semaphore : WaitHandle {
-
-               [MethodImplAttribute(MethodImplOptions.InternalCall)]
-               private static extern IntPtr CreateSemaphore_internal (
-                       int initialCount, int maximumCount, string name,
-                       out bool createdNew);
-
-               [MethodImplAttribute(MethodImplOptions.InternalCall)]
-               private static extern int ReleaseSemaphore_internal (
-                       IntPtr handle, int releaseCount, out bool fail);
-
-               [MethodImplAttribute (MethodImplOptions.InternalCall)]
-               private static extern IntPtr OpenSemaphore_internal (string name, SemaphoreRights rights, out MonoIOError error);
-               
-               private Semaphore (IntPtr handle)
-               {
-                       Handle = handle;
-               }
-               
-               public Semaphore (int initialCount, int maximumCount)
-                       : this (initialCount, maximumCount, null)
-               {
-               }
-
-               public Semaphore (int initialCount, int maximumCount, string name)
-               {
-                       if (initialCount < 0)
-                               throw new ArgumentOutOfRangeException ("initialCount", "< 0");
-                       if (maximumCount < 1)
-                               throw new ArgumentOutOfRangeException ("maximumCount", "< 1");
-                       if (initialCount > maximumCount)
-                               throw new ArgumentException ("initialCount > maximumCount");
-
-                       bool created;
-                       
-                       Handle = CreateSemaphore_internal (initialCount,
-                                                          maximumCount, name,
-                                                          out created);
-               }
-
-               public Semaphore (int initialCount, int maximumCount, string name, out bool createdNew)
-                       : this (initialCount, maximumCount, name, out createdNew, null)
-               {
-               }
-
-               [MonoTODO ("CreateSemaphore_internal does not support access control, semaphoreSecurity is ignored")]
-               public Semaphore (int initialCount, int maximumCount, string name, out bool createdNew, 
-                       SemaphoreSecurity semaphoreSecurity)
-               {
-                       if (initialCount < 0)
-                               throw new ArgumentOutOfRangeException ("initialCount", "< 0");
-                       if (maximumCount < 1)
-                               throw new ArgumentOutOfRangeException ("maximumCount", "< 1");
-                       if (initialCount > maximumCount)
-                               throw new ArgumentException ("initialCount > maximumCount");
-
-                       Handle = CreateSemaphore_internal (initialCount,
-                                                          maximumCount, name,
-                                                          out createdNew);
-               }
-
-               public SemaphoreSecurity GetAccessControl ()
-               {
-                       return new SemaphoreSecurity (SafeWaitHandle,
-                                                     AccessControlSections.Owner |
-                                                     AccessControlSections.Group |
-                                                     AccessControlSections.Access);
-               }
-
-               [PrePrepareMethod]
-               [ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
-               public int Release ()
-               {
-                       return (Release (1));
-               }
-
-               [ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
-               public int Release (int releaseCount)
-               {
-                       if (releaseCount < 1)
-                               throw new ArgumentOutOfRangeException ("releaseCount");
-
-                       int ret;
-                       bool fail;
-                       
-                       ret = ReleaseSemaphore_internal (Handle, releaseCount,
-                                                        out fail);
-
-                       if (fail) {
-                               throw new SemaphoreFullException ();
-                       }
-
-                       return (ret);
-               }
-
-               public void SetAccessControl (SemaphoreSecurity semaphoreSecurity)
-               {
-                       if (semaphoreSecurity == null)
-                               throw new ArgumentNullException ("semaphoreSecurity");
-                               
-                       semaphoreSecurity.PersistModifications (SafeWaitHandle);
-               }
-
-               // static methods
-
-#if !MOBILE
-               public static Semaphore OpenExisting (string name)
-               {
-                       return OpenExisting (name, SemaphoreRights.Synchronize | SemaphoreRights.Modify);
-               }
-
-               public static Semaphore OpenExisting (string name, SemaphoreRights rights)
-               {
-                       if (name == null)
-                               throw new ArgumentNullException ("name");
-                       if ((name.Length ==0) || (name.Length > 260))
-                               throw new ArgumentException ("name", Locale.GetText ("Invalid length [1-260]."));
-
-                       MonoIOError error;
-                       IntPtr handle = OpenSemaphore_internal (name, rights,
-                                                               out error);
-                       if (handle == (IntPtr)null) {
-                               if (error == MonoIOError.ERROR_FILE_NOT_FOUND) {
-                                       throw new WaitHandleCannotBeOpenedException (Locale.GetText ("Named Semaphore handle does not exist: ") + name);
-                               } else if (error == MonoIOError.ERROR_ACCESS_DENIED) {
-                                       throw new UnauthorizedAccessException ();
-                               } else {
-                                       throw new IOException (Locale.GetText ("Win32 IO error: ") + error.ToString ());
-                               }
-                       }
-                       
-                       return(new Semaphore (handle));
-               }
-
-               [SecurityPermissionAttribute (SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
-               public static bool TryOpenExisting (string name, out Semaphore result)
-               {
-                       return TryOpenExisting (name, SemaphoreRights.Synchronize | SemaphoreRights.Modify, out result);
-               }
-
-               [SecurityPermissionAttribute(SecurityAction.LinkDemand, Flags = SecurityPermissionFlag.UnmanagedCode)]
-               public static bool TryOpenExisting (string name, SemaphoreRights rights, out Semaphore result)
-               {
-                       if (name == null)
-                               throw new ArgumentNullException ("name");
-                       if ((name.Length == 0) || (name.Length > 260))
-                               throw new ArgumentException ("name", Locale.GetText ("Invalid length [1-260]."));
-                       
-                       MonoIOError error;
-                       IntPtr handle = OpenSemaphore_internal (name, rights, out error);
-
-                       if (handle == (IntPtr)null) {
-                               result = null;
-                               return false;
-                       }
-
-                       result = new Semaphore (handle);
-                       return true;
-               }
-#else
-               public static Semaphore OpenExisting (string name)
-               {
-                       throw new NotSupportedException ();
-               }
-
-               public static Semaphore OpenExisting (string name, SemaphoreRights rights)
-               {
-                       throw new NotSupportedException ();
-               }
-
-               public static bool TryOpenExisting (string name, out Semaphore result)
-               {
-                       throw new NotSupportedException ();
-               }
-
-               public static bool TryOpenExisting (string name, SemaphoreRights rights, out Semaphore result)
-               {
-                       throw new NotSupportedException ();
-               }
-#endif
-       }
-}
-
index fa119b795cd48f76548a6bff29983504be214fec..4ff3508c5c29ba9310c481ada3d4f8459b2b1f06 100644 (file)
@@ -247,7 +247,6 @@ System.Net.Configuration/WebRequestModuleElementCollection.cs
 System.Net.Configuration/WebRequestModuleElement.cs
 System.Net.Configuration/WebRequestModuleHandler.cs
 System.Net.Configuration/WebRequestModulesSection.cs
-System.Net/CredentialCache.cs
 System.Net/DecompressionMethods.cs
 System.Net/DefaultCertificatePolicy.cs
 System.Net/DigestClient.cs
@@ -263,7 +262,6 @@ System.Net/FtpRequestCreator.cs
 System.Net/FtpWebRequest.cs
 System.Net/FtpStatus.cs
 System.Net/FtpWebResponse.cs
-System.Net/GlobalProxySelection.cs
 System.Net/HttpConnection.cs
 System.Net/HttpListenerBasicIdentity.cs
 System.Net/HttpListenerContext.cs
@@ -410,8 +408,6 @@ System.Net/WebConnection.cs
 System.Net/WebConnectionData.cs
 System.Net/WebConnectionGroup.cs
 System.Net/WebConnectionStream.cs
-System.Net/WebProxy.cs
-System.Net/WebRequest.cs
 System.Net.WebSockets/ClientWebSocket.cs
 System.Net.WebSockets/ClientWebSocketOptions.cs
 System.Net.WebSockets/HttpListenerWebSocketContext.cs
@@ -493,7 +489,6 @@ System.Security.Permissions/StorePermissionAttribute.cs
 System.Security.Permissions/StorePermission.cs
 System.Security.Permissions/StorePermissionFlags.cs
 System/SRDescriptionAttribute.cs
-System.Threading/Semaphore.cs
 System.Threading/ThreadExceptionEventArgs.cs
 System.Threading/ThreadExceptionEventHandler.cs
 System.Timers/ElapsedEventArgs.cs
@@ -556,6 +551,7 @@ Mono.Net.Security/MonoTlsStream.cs
 Mono.Net.Security/NoReflectionHelper.cs
 Mono.Net.Security/SystemCertificateValidator.cs
 
+ReferenceSources/AutoWebProxyScriptEngine.cs
 ReferenceSources/AssertWrapper.cs
 ReferenceSources/BinaryCompatibility.cs
 ReferenceSources/ConfigurationManagerInternalFactory.cs
@@ -566,12 +562,12 @@ ReferenceSources/HttpApi.cs
 ReferenceSources/HttpSysSettings.cs
 ReferenceSources/Logging.cs
 ReferenceSources/NativeMethods.cs
+ReferenceSources/RequestCacheProtocol.cs
 ReferenceSources/SettingsSectionInternal.cs
 ReferenceSources/Socket.cs
 ReferenceSources/SR.cs
 ReferenceSources/SR2.cs
 ReferenceSources/SRCategoryAttribute.cs
-ReferenceSources/SystemNetworkCredential.cs
 ReferenceSources/Win32Exception.cs
 
 ReferenceSources/SSPIConfiguration.cs
@@ -967,6 +963,7 @@ ReferenceSources/_SslStream.cs
 
 ../referencesource/System/net/System/Net/_BufferOffsetSize.cs
 ../referencesource/System/net/System/Net/_Connection.cs
+../referencesource/System/net/System/Net/_emptywebproxy.cs
 ../referencesource/System/net/System/Net/_HeaderInfo.cs
 ../referencesource/System/net/System/Net/_HeaderInfoTable.cs
 ../referencesource/System/net/System/Net/_HTTPDateParse.cs
@@ -974,19 +971,27 @@ ReferenceSources/_SslStream.cs
 ../referencesource/System/net/System/Net/_NetRes.cs
 ../referencesource/System/net/System/Net/_LazyAsyncResult.cs
 ../referencesource/System/net/System/Net/_LoggingObject.cs
+../referencesource/System/net/System/Net/_PooledStream.cs
+../referencesource/System/net/System/Net/_ProxyChain.cs
 ../referencesource/System/net/System/Net/_ScatterGatherBuffers.cs
+../referencesource/System/net/System/Net/_Semaphore.cs
+../referencesource/System/net/System/Net/_TimerThread.cs
+../referencesource/System/net/System/Net/_WebProxyDataBuilder.cs
 ../referencesource/System/net/System/Net/AuthenticationScheme.cs
 ../referencesource/System/net/System/Net/AuthenticationSchemeSelector.cs
 ../referencesource/System/net/System/Net/Authorization.cs
+../referencesource/System/net/System/Net/CredentialCache.cs
 ../referencesource/System/net/System/Net/cookie.cs
 ../referencesource/System/net/System/Net/cookiecollection.cs
 ../referencesource/System/net/System/Net/cookiecontainer.cs
 ../referencesource/System/net/System/Net/cookieexception.cs
+../referencesource/System/net/System/Net/connectionpool.cs
 ../referencesource/System/net/System/Net/DnsEndPoint.cs
 ../referencesource/System/net/System/Net/EndPoint.cs
 ../referencesource/System/net/System/Net/FtpStatusCode.cs
 ../referencesource/System/net/System/Net/filewebrequest.cs
 ../referencesource/System/net/System/Net/filewebresponse.cs
+../referencesource/System/net/System/Net/GlobalProxySelection.cs
 ../referencesource/System/net/System/Net/HttpListenerException.cs
 ../referencesource/System/net/System/Net/HttpListenerRequestUriBuilder.cs
 ../referencesource/System/net/System/Net/HttpRequestHeader.cs
@@ -1002,6 +1007,7 @@ ReferenceSources/_SslStream.cs
 ../referencesource/System/net/System/Net/IPEndPoint.cs
 ../referencesource/System/net/System/Net/IPHostEntry.cs
 ../referencesource/System/net/System/Net/iwebproxy.cs
+../referencesource/System/net/System/Net/IWebProxyFinder.cs
 ../referencesource/System/net/System/Net/IWebRequestCreate.cs
 ../referencesource/System/net/System/Net/NetworkAccess.cs
 ../referencesource/System/net/System/Net/ProtocolViolationException.cs
@@ -1016,12 +1022,19 @@ ReferenceSources/_SslStream.cs
 ../referencesource/System/net/System/Net/WebExceptionStatus.cs
 ../referencesource/System/net/System/Net/WebHeaderCollection.cs
 ../referencesource/System/net/System/Net/WebPermission.cs
+../referencesource/System/net/System/Net/webproxy.cs
 ../referencesource/System/net/System/Net/WebRequestMethods.cs
+../referencesource/System/net/System/Net/WebRequest.cs
 ../referencesource/System/net/System/Net/WebResponse.cs
 ../referencesource/System/net/System/Net/WebUtility.cs
 ../referencesource/System/net/System/Net/WriteStreamClosedEventArgs.cs
 
+../referencesource/System/net/System/Net/Cache/RequestCache.cs
+../referencesource/System/net/System/Net/Cache/RequestCacheEntry.cs
 ../referencesource/System/net/System/Net/Cache/RequestCachePolicy.cs
+../referencesource/System/net/System/Net/Cache/RequestCacheManager.cs
+
+../referencesource/System/net/System/Net/Configuration/DefaultProxySection.cs
 
 ../referencesource/System/net/System/Net/Sockets/IPProtectionLevel.cs
 ../referencesource/System/net/System/Net/Sockets/NetworkStream.cs
@@ -1070,12 +1083,16 @@ ReferenceSources/_SslStream.cs
 ../referencesource/System/net/System/Net/NetworkInformation/nodetype.cs
 ../referencesource/System/net/System/Net/NetworkInformation/pingexception.cs
 
+../referencesource/System/sys/system/IO/ports/InternalResources.cs
+
 ../referencesource/System/sys/system/runtime/interopservices/DefaultParameterValueAttribute.cs
 ../referencesource/System/sys/system/runtime/interopservices/handlecollector.cs
 
 ../referencesource/System/sys/system/runtime/versioning/FrameworkName.cs
 
 ../referencesource/System/sys/system/threading/Barrier.cs
+../referencesource/System/sys/system/threading/semaphore.cs
+
 ../referencesource/System/sys/system/windows/markup/ValueSerializerAttribute.cs
 
 ../referencesource/System/security/system/security/Authentication/ExtendedProtection/TokenBinding.cs
index d52438fb15fa4fcb4ba230fa804cecad8893f404..2b12d7019bffad7b8ebc05bd816b8e773a684871 100755 (executable)
@@ -987,7 +987,6 @@ namespace MonoTests.System.Net.Sockets
                }
 
                [Test]
-               [Category ("NotOnMac")] // Mac doesn't throw when overflowing the ttl
                public void TtlChangeOverflow ()
                {
                        Socket sock = new Socket (AddressFamily.InterNetwork,
@@ -997,8 +996,8 @@ namespace MonoTests.System.Net.Sockets
                        try {
                                sock.Ttl = 256;
                                Assert.Fail ("TtlChangeOverflow #1");
-                       } catch (SocketException ex) {
-                               Assert.AreEqual (10022, ex.ErrorCode,
+                       } catch (ArgumentOutOfRangeException ex) {
+                               Assert.AreEqual ("value", ex.ParamName,
                                                 "TtlChangeOverflow #2");
                        } finally {
                                sock.Close ();
@@ -4229,7 +4228,22 @@ namespace MonoTests.System.Net.Sockets
                [Test]
                public void SendAsyncFile ()
                {
-                       Socket serverSocket = StartSocketServer ();
+                       Socket serverSocket = new Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
+
+                       serverSocket.Bind (new IPEndPoint (IPAddress.Loopback, 0));
+                       serverSocket.Listen (1);
+
+                       var mReceived = new ManualResetEvent (false);
+
+                       serverSocket.BeginAccept (AsyncCall => {
+                               byte[] bytes = new byte [1024];
+
+                               Socket listener = (Socket)AsyncCall.AsyncState;
+                               Socket client = listener.EndAccept (AsyncCall);
+                               client.Receive (bytes, bytes.Length, 0);
+                               client.Close ();
+                               mReceived.Set ();
+                       }, serverSocket);
                        
                        Socket clientSocket = new Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
                        clientSocket.Connect (serverSocket.LocalEndPoint);
@@ -4247,18 +4261,19 @@ namespace MonoTests.System.Net.Sockets
                                        sw.Write (buffer);
                                }
 
-                               var m = new ManualResetEvent (false);
+                               var mSent = new ManualResetEvent (false);
 
                                // Async Send File to server
                                clientSocket.BeginSendFile(temp, (ar) => {
                                        Socket client = (Socket) ar.AsyncState;
                                        client.EndSendFile (ar);
-                                       m.Set ();
+                                       mSent.Set ();
                                }, clientSocket);
 
-                               if (!m.WaitOne (1500))
+                               if (!mSent.WaitOne (1500))
+                                       throw new TimeoutException ();
+                               if (!mReceived.WaitOne (1500))
                                        throw new TimeoutException ();
-                               m.Reset ();
                        } finally {
                                if (File.Exists (temp))
                                        File.Delete (temp);
@@ -4318,30 +4333,6 @@ namespace MonoTests.System.Net.Sockets
                        }
                }
 
-               Socket StartSocketServer ()
-               {
-
-                       Socket listenSocket = new Socket (AddressFamily.InterNetwork, SocketType.Stream, ProtocolType.Tcp);
-                       
-                       listenSocket.Bind (new IPEndPoint (IPAddress.Loopback, NetworkHelpers.FindFreePort ()));
-                       listenSocket.Listen (1);
-
-                       listenSocket.BeginAccept (new AsyncCallback (ReceiveCallback), listenSocket);
-                       
-                       return listenSocket;
-               }
-
-               public static void ReceiveCallback (IAsyncResult AsyncCall)
-               {
-                       byte[] bytes = new byte [1024];
-
-                       Socket listener = (Socket)AsyncCall.AsyncState;
-                       Socket client = listener.EndAccept (AsyncCall);
-                       client.Receive (bytes, bytes.Length, 0);
-                       client.Close ();
-               }
-
                [Test]
                public void UdpMulticasTimeToLive ()
                {
index d88c9864e23191eb010c44619bdc5eafabb78ef3..0257ff50fecd19026c2de0e1019aa883ddebb3b0 100644 (file)
@@ -123,11 +123,6 @@ namespace MonoTests.System.Net
                        Assert.AreEqual (1, p.BypassList.Length, "#4");
                }
 
-               [Test]
-               public void GetProxy ()
-               {
-               }
-
                [Test]
                public void IsByPassed ()
                {
index e30968bf5adad0a3b22dcdf945de6579205a4b17..db3a57adab565ceadca022b8836d78ba7aec4563 100644 (file)
@@ -180,6 +180,15 @@ namespace MonoTests.System.Threading {
                        Assert.IsTrue (created, "Created");
                }
 
+               [Test]
+               public void Constructor_CreatedWithSameName ()
+               {
+                       var s1 = new Semaphore(1, 5, "name");
+                       bool created;
+                       var s2 = new Semaphore(1, 5, "name", out created);
+                       Assert.IsFalse (created);
+               }
+
                [Test]
                [Category ("MobileNotWorking")]
                public void Constructor_IntIntStringBoolSecurity ()
index a2562fdb899feb639536aa2d0488b905279bae21..821cf273ff89dc941b1c065ca58d2e85863c8b90 100644 (file)
@@ -143,7 +143,6 @@ System.Net/BasicClient.cs
 System.Net/BindIPEndPoint.cs
 System.Net/ChunkStream.cs
 System.Net/ChunkedInputStream.cs
-System.Net/CredentialCache.cs
 System.Net/DecompressionMethods.cs
 System.Net/DefaultCertificatePolicy.cs
 System.Net/DigestClient.cs
@@ -157,7 +156,6 @@ System.Net/FtpRequestCreator.cs
 System.Net/FtpStatus.cs
 System.Net/FtpWebRequest.cs
 System.Net/FtpWebResponse.cs
-System.Net/GlobalProxySelection.cs
 System.Net/HttpConnection.cs
 System.Net/HttpListener.cs
 System.Net/HttpListenerBasicIdentity.cs
@@ -172,8 +170,8 @@ System.Net/HttpWebRequest.cs
 System.Net/HttpWebResponse.cs
 System.Net/ICredentialPolicy.cs
 System.Net/IPv6Address.cs
-System.Net/IPv6Address.cs
 System.Net/IWebConnectionState.cs
+System.Net/IWebProxyScript.cs
 System.Net/ListenerAsyncResult.cs
 System.Net/ListenerPrefix.cs
 System.Net/MacProxy.cs
@@ -192,8 +190,6 @@ System.Net/WebConnection.cs
 System.Net/WebConnectionData.cs
 System.Net/WebConnectionGroup.cs
 System.Net/WebConnectionStream.cs
-System.Net/WebProxy.cs
-System.Net/WebRequest.cs
 System.Net.WebSockets/ClientWebSocket.cs
 System.Net.WebSockets/ClientWebSocketOptions.cs
 System.Net.WebSockets/HttpListenerWebSocketContext.cs
@@ -268,7 +264,6 @@ System.Security.Cryptography.X509Certificates/X509VerificationFlags.cs
 System.Security.Cryptography/AsnEncodedData.cs
 System.Security.Cryptography/AsnEncodedDataCollection.cs
 System.Security.Cryptography/AsnEncodedDataEnumerator.cs
-System.Threading/Semaphore.cs
 System.Threading/ThreadExceptionEventArgs.cs
 System.Threading/ThreadExceptionEventHandler.cs
 System.Timers/ElapsedEventArgs.cs
@@ -293,6 +288,7 @@ Mono.Net.Security/MonoTlsStream.cs
 Mono.Net.Security/NoReflectionHelper.cs
 Mono.Net.Security/SystemCertificateValidator.cs
 
+ReferenceSources/AutoWebProxyScriptEngine.cs
 ReferenceSources/AssertWrapper.cs
 ReferenceSources/CAPI.cs
 ReferenceSources/EnvironmentHelpers.cs
@@ -301,11 +297,11 @@ ReferenceSources/Internal.cs
 ReferenceSources/HttpSysSettings.cs
 ReferenceSources/Logging.cs
 ReferenceSources/NativeMethods.cs
+ReferenceSources/RequestCacheProtocol.cs
 ReferenceSources/SettingsSectionInternal.cs
 ReferenceSources/Socket.cs
 ReferenceSources/SR.cs
 ReferenceSources/SRCategoryAttribute.cs
-ReferenceSources/SystemNetworkCredential.cs
 ReferenceSources/Win32Exception.cs
 
 ../referencesource/System/regex/system/text/regularexpressions/Regex.cs
@@ -682,6 +678,7 @@ ReferenceSources/Win32Exception.cs
 
 ../referencesource/System/net/System/Net/_BufferOffsetSize.cs
 ../referencesource/System/net/System/Net/_Connection.cs
+../referencesource/System/net/System/Net/_emptywebproxy.cs
 ../referencesource/System/net/System/Net/_HeaderInfo.cs
 ../referencesource/System/net/System/Net/_HeaderInfoTable.cs
 ../referencesource/System/net/System/Net/_HTTPDateParse.cs
@@ -689,24 +686,32 @@ ReferenceSources/Win32Exception.cs
 ../referencesource/System/net/System/Net/_NetRes.cs
 ../referencesource/System/net/System/Net/_LazyAsyncResult.cs
 ../referencesource/System/net/System/Net/_LoggingObject.cs
+../referencesource/System/net/System/Net/_PooledStream.cs
+../referencesource/System/net/System/Net/_ProxyChain.cs
 ../referencesource/System/net/System/Net/_ScatterGatherBuffers.cs
+../referencesource/System/net/System/Net/_Semaphore.cs
+../referencesource/System/net/System/Net/_TimerThread.cs
+../referencesource/System/net/System/Net/_WebProxyDataBuilder.cs
 ../referencesource/System/net/System/Net/AuthenticationScheme.cs
 ../referencesource/System/net/System/Net/AuthenticationSchemeSelector.cs
 ../referencesource/System/net/System/Net/Authorization.cs
+../referencesource/System/net/System/Net/CredentialCache.cs
 ../referencesource/System/net/System/Net/cookie.cs
 ../referencesource/System/net/System/Net/cookiecollection.cs
 ../referencesource/System/net/System/Net/cookiecontainer.cs
 ../referencesource/System/net/System/Net/cookieexception.cs
+../referencesource/System/net/System/Net/connectionpool.cs
 ../referencesource/System/net/System/Net/DnsEndPoint.cs
 ../referencesource/System/net/System/Net/EndPoint.cs
 ../referencesource/System/net/System/Net/FtpStatusCode.cs
 ../referencesource/System/net/System/Net/filewebrequest.cs
 ../referencesource/System/net/System/Net/filewebresponse.cs
+../referencesource/System/net/System/Net/GlobalProxySelection.cs
 ../referencesource/System/net/System/Net/HttpListenerException.cs
+../referencesource/System/net/System/Net/HttpListenerRequestUriBuilder.cs
 ../referencesource/System/net/System/Net/HttpRequestHeader.cs
 ../referencesource/System/net/System/Net/HttpResponseHeader.cs
 ../referencesource/System/net/System/Net/HttpStatusCode.cs
-../referencesource/System/net/System/Net/HttpListenerRequestUriBuilder.cs
 ../referencesource/System/net/System/Net/HttpVersion.cs
 ../referencesource/System/net/System/Net/IAuthenticationModule.cs
 ../referencesource/System/net/System/Net/ICertificatePolicy.cs
@@ -717,6 +722,7 @@ ReferenceSources/Win32Exception.cs
 ../referencesource/System/net/System/Net/IPEndPoint.cs
 ../referencesource/System/net/System/Net/IPHostEntry.cs
 ../referencesource/System/net/System/Net/iwebproxy.cs
+../referencesource/System/net/System/Net/IWebProxyFinder.cs
 ../referencesource/System/net/System/Net/IWebRequestCreate.cs
 ../referencesource/System/net/System/Net/NetworkAccess.cs
 ../referencesource/System/net/System/Net/ProtocolViolationException.cs
@@ -731,12 +737,19 @@ ReferenceSources/Win32Exception.cs
 ../referencesource/System/net/System/Net/WebExceptionStatus.cs
 ../referencesource/System/net/System/Net/WebHeaderCollection.cs
 ../referencesource/System/net/System/Net/WebPermission.cs
+../referencesource/System/net/System/Net/webproxy.cs
 ../referencesource/System/net/System/Net/WebRequestMethods.cs
+../referencesource/System/net/System/Net/WebRequest.cs
 ../referencesource/System/net/System/Net/WebResponse.cs
 ../referencesource/System/net/System/Net/WebUtility.cs
 ../referencesource/System/net/System/Net/WriteStreamClosedEventArgs.cs
 
+../referencesource/System/net/System/Net/Cache/RequestCache.cs
+../referencesource/System/net/System/Net/Cache/RequestCacheEntry.cs
 ../referencesource/System/net/System/Net/Cache/RequestCachePolicy.cs
+../referencesource/System/net/System/Net/Cache/RequestCacheManager.cs
+
+../referencesource/System/net/System/Net/Configuration/DefaultProxySection.cs
 
 ../referencesource/System/net/System/Net/Sockets/IPProtectionLevel.cs
 ../referencesource/System/net/System/Net/Sockets/NetworkStream.cs
@@ -785,12 +798,15 @@ ReferenceSources/Win32Exception.cs
 ../referencesource/System/net/System/Net/NetworkInformation/nodetype.cs
 ../referencesource/System/net/System/Net/NetworkInformation/pingexception.cs
 
+../referencesource/System/sys/system/IO/ports/InternalResources.cs
+
 ../referencesource/System/sys/system/runtime/interopservices/DefaultParameterValueAttribute.cs
 ../referencesource/System/sys/system/runtime/interopservices/handlecollector.cs
 
 ../referencesource/System/sys/system/runtime/versioning/FrameworkName.cs
 
 ../referencesource/System/sys/system/threading/Barrier.cs
+../referencesource/System/sys/system/threading/semaphore.cs
 
 ../referencesource/System/security/system/security/Authentication/ExtendedProtection/TokenBinding.cs
 
diff --git a/mcs/class/System/mobile_static_System_test.dll.exclude.sources b/mcs/class/System/mobile_static_System_test.dll.exclude.sources
new file mode 100644 (file)
index 0000000..8f84347
--- /dev/null
@@ -0,0 +1,190 @@
+Microsoft.CSharp/CodeGeneratorFromCompileUnitTest.cs
+Microsoft.CSharp/CodeGeneratorFromExpressionTest.cs
+Microsoft.CSharp/CodeGeneratorFromNamespaceTest.cs
+Microsoft.CSharp/CodeGeneratorFromStatementTest.cs
+Microsoft.CSharp/CodeGeneratorFromTypeTest.cs
+Microsoft.CSharp/CodeGeneratorIdentifierTest.cs
+Microsoft.CSharp/CodeGeneratorTestBase.cs
+Microsoft.CSharp/CodeGeneratorTypeOutputTest.cs
+Microsoft.CSharp/CSharpCodeProviderCas.cs
+Microsoft.CSharp/CSharpCodeProviderTest.cs
+Microsoft.VisualBasic/CodeGeneratorFromBinaryOperatorTest.cs
+Microsoft.VisualBasic/CodeGeneratorFromCompileUnitTest.cs
+Microsoft.VisualBasic/CodeGeneratorFromExpressionTest.cs
+Microsoft.VisualBasic/CodeGeneratorFromNamespaceTest.cs
+Microsoft.VisualBasic/CodeGeneratorFromStatementTest.cs
+Microsoft.VisualBasic/CodeGeneratorFromTypeTest.cs
+Microsoft.VisualBasic/CodeGeneratorTestBase.cs
+Microsoft.VisualBasic/VBCodeProviderCas.cs
+Microsoft.VisualBasic/VBCodeProviderTest.cs
+System.CodeDom/CodeArgumentReferenceExpressionCas.cs
+System.CodeDom/CodeArgumentReferenceExpressionTest.cs
+System.CodeDom/CodeArrayCreateExpressionCas.cs
+System.CodeDom/CodeArrayCreateExpressionTest.cs
+System.CodeDom/CodeArrayIndexerExpressionCas.cs
+System.CodeDom/CodeAssignStatementCas.cs
+System.CodeDom/CodeAttachEventStatementCas.cs
+System.CodeDom/CodeAttachEventStatementTest.cs
+System.CodeDom/CodeAttributeArgumentCas.cs
+System.CodeDom/CodeAttributeArgumentCollectionCas.cs
+System.CodeDom/CodeAttributeArgumentCollectionTest.cs
+System.CodeDom/CodeAttributeArgumentTest.cs
+System.CodeDom/CodeAttributeDeclarationCas.cs
+System.CodeDom/CodeAttributeDeclarationCollectionCas.cs
+System.CodeDom/CodeAttributeDeclarationCollectionTest.cs
+System.CodeDom/CodeAttributeDeclarationTest.cs
+System.CodeDom/CodeBaseReferenceExpressionCas.cs
+System.CodeDom/CodeBinaryOperatorExpressionCas.cs
+System.CodeDom/CodeCastExpressionCas.cs
+System.CodeDom/CodeCastExpressionTest.cs
+System.CodeDom/CodeCatchClauseCas.cs
+System.CodeDom/CodeCatchClauseCollectionCas.cs
+System.CodeDom/CodeCatchClauseCollectionTest.cs
+System.CodeDom/CodeCatchClauseTest.cs
+System.CodeDom/CodeChecksumPragmaCas.cs
+System.CodeDom/CodeChecksumPragmaTest.cs
+System.CodeDom/CodeCommentStatementCas.cs
+System.CodeDom/CodeCommentStatementCollectionCas.cs
+System.CodeDom/CodeCommentStatementCollectionTest.cs
+System.CodeDom/CodeCompileUnitCas.cs
+System.CodeDom/CodeConditionStatementCas.cs
+System.CodeDom/CodeConstructorCas.cs
+System.CodeDom/CodeConstructorTest.cs
+System.CodeDom/CodeDefaultValueExpressionCas.cs
+System.CodeDom/CodeDefaultValueExpressionTest.cs
+System.CodeDom/CodeDelegateCreateExpressionCas.cs
+System.CodeDom/CodeDelegateCreateExpressionTest.cs
+System.CodeDom/CodeDelegateInvokeExpressionCas.cs
+System.CodeDom/CodeDirectionExpressionCas.cs
+System.CodeDom/CodeDirectiveCas.cs
+System.CodeDom/CodeDirectiveCollectionCas.cs
+System.CodeDom/CodeDirectiveCollectionTest.cs
+System.CodeDom/CodeEntryPointMethodCas.cs
+System.CodeDom/CodeEventReferenceExpressionCas.cs
+System.CodeDom/CodeEventReferenceExpressionTest.cs
+System.CodeDom/CodeExpressionCas.cs
+System.CodeDom/CodeExpressionCollectionCas.cs
+System.CodeDom/CodeExpressionCollectionTest.cs
+System.CodeDom/CodeExpressionStatementCas.cs
+System.CodeDom/CodeFieldReferenceExpressionCas.cs
+System.CodeDom/CodeGotoStatementCas.cs
+System.CodeDom/CodeGotoStatementTest.cs
+System.CodeDom/CodeIndexerExpressionCas.cs
+System.CodeDom/CodeIterationStatementCas.cs
+System.CodeDom/CodeLabeledStatementTest.cs
+System.CodeDom/CodeLinePragmaCas.cs
+System.CodeDom/CodeLinePragmaTest.cs
+System.CodeDom/CodeMemberEventCas.cs
+System.CodeDom/CodeMemberFieldCas.cs
+System.CodeDom/CodeMemberFieldTest.cs
+System.CodeDom/CodeMemberMethodCas.cs
+System.CodeDom/CodeMemberMethodTest.cs
+System.CodeDom/CodeMemberPropertyCas.cs
+System.CodeDom/CodeMemberPropertyTest.cs
+System.CodeDom/CodeMethodInvokeExpressionCas.cs
+System.CodeDom/CodeMethodInvokeExpressionTest.cs
+System.CodeDom/CodeMethodReferenceExpressionCas.cs
+System.CodeDom/CodeMethodReferenceExpressionTest.cs
+System.CodeDom/CodeMethodReturnStatementCas.cs
+System.CodeDom/CodeNamespaceCas.cs
+System.CodeDom/CodeNamespaceCollectionCas.cs
+System.CodeDom/CodeNamespaceCollectionTest.cs
+System.CodeDom/CodeNamespaceImportCas.cs
+System.CodeDom/CodeNamespaceImportCollectionCas.cs
+System.CodeDom/CodeNamespaceImportCollectionTest.cs
+System.CodeDom/CodeNamespaceImportTest.cs
+System.CodeDom/CodeNamespaceTest.cs
+System.CodeDom/CodeObjectCas.cs
+System.CodeDom/CodeObjectCreateExpressionCas.cs
+System.CodeDom/CodeObjectCreateExpressionTest.cs
+System.CodeDom/CodeParameterDeclarationExpressionCas.cs
+System.CodeDom/CodeParameterDeclarationExpressionCollectionCas.cs
+System.CodeDom/CodeParameterDeclarationExpressionCollectionTest.cs
+System.CodeDom/CodeParameterDeclarationExpressionTest.cs
+System.CodeDom/CodePrimitiveExpressionCas.cs
+System.CodeDom/CodePropertyReferenceExpressionCas.cs
+System.CodeDom/CodePropertyReferenceExpressionTest.cs
+System.CodeDom/CodePropertySetValueReferenceExpressionCas.cs
+System.CodeDom/CodeRegionDirectiveCas.cs
+System.CodeDom/CodeRegionDirectiveTest.cs
+System.CodeDom/CodeRemoveEventStatementCas.cs
+System.CodeDom/CodeRemoveEventStatementTest.cs
+System.CodeDom/CodeSnippetCompileUnitCas.cs
+System.CodeDom/CodeSnippetCompileUnitTest.cs
+System.CodeDom/CodeSnippetExpressionCas.cs
+System.CodeDom/CodeSnippetExpressionTest.cs
+System.CodeDom/CodeSnippetStatementCas.cs
+System.CodeDom/CodeSnippetStatementTest.cs
+System.CodeDom/CodeSnippetTypeMemberCas.cs
+System.CodeDom/CodeSnippetTypeMemberTest.cs
+System.CodeDom/CodeStatementCas.cs
+System.CodeDom/CodeStatementCollectionCas.cs
+System.CodeDom/CodeStatementCollectionTest.cs
+System.CodeDom/CodeThisReferenceExpressionCas.cs
+System.CodeDom/CodeThrowExceptionStatementCas.cs
+System.CodeDom/CodeTryCatchFinallyStatementCas.cs
+System.CodeDom/CodeTypeConstructorCas.cs
+System.CodeDom/CodeTypeConstructorTest.cs
+System.CodeDom/CodeTypeDeclarationCas.cs
+System.CodeDom/CodeTypeDeclarationCollectionCas.cs
+System.CodeDom/CodeTypeDeclarationCollectionTest.cs
+System.CodeDom/CodeTypeDelegateCas.cs
+System.CodeDom/CodeTypeDelegateTest.cs
+System.CodeDom/CodeTypeMemberCas.cs
+System.CodeDom/CodeTypeMemberCollectionCas.cs
+System.CodeDom/CodeTypeMemberCollectionTest.cs
+System.CodeDom/CodeTypeOfExpressionCas.cs
+System.CodeDom/CodeTypeOfExpressionTest.cs
+System.CodeDom/CodeTypeParameterCas.cs
+System.CodeDom/CodeTypeParameterCollectionTest.cs
+System.CodeDom/CodeTypeParameterTest.cs
+System.CodeDom/CodeTypeReferenceCas.cs
+System.CodeDom/CodeTypeReferenceCollectionCas.cs
+System.CodeDom/CodeTypeReferenceCollectionTest.cs
+System.CodeDom/CodeTypeReferenceExpressionCas.cs
+System.CodeDom/CodeTypeReferenceExpressionTest.cs
+System.CodeDom/CodeTypeReferenceTest.cs
+System.CodeDom/CodeVariableDeclarationStatementCas.cs
+System.CodeDom/CodeVariableDeclarationStatementTest.cs
+System.CodeDom/CodeVariableReferenceExpressionCas.cs
+System.CodeDom/CodeVariableReferenceExpressionTest.cs
+System.CodeDom.Compiler/CodeCompilerCas.cs
+System.CodeDom.Compiler/CodeDomProviderCas.cs
+System.CodeDom.Compiler/CodeGeneratorCas.cs
+System.CodeDom.Compiler/CodeGeneratorFromTypeTestBase.cs
+System.CodeDom.Compiler/CodeGeneratorGenerateFromCompileUnitTest.cs
+System.CodeDom.Compiler/CodeGeneratorOptionsCas.cs
+System.CodeDom.Compiler/CodeGeneratorOptionsTest.cs
+System.CodeDom.Compiler/CodeGeneratorTest.cs
+System.CodeDom.Compiler/CodeGeneratorTestBase.cs
+System.CodeDom.Compiler/CodeParserCas.cs
+System.CodeDom.Compiler/CompilerErrorCas.cs
+System.CodeDom.Compiler/CompilerErrorCollectionCas.cs
+System.CodeDom.Compiler/CompilerInfoCas.cs
+System.CodeDom.Compiler/CompilerParametersCas.cs
+System.CodeDom.Compiler/CompilerResultsCas.cs
+System.CodeDom.Compiler/ExecutorCas.cs
+System.CodeDom.Compiler/ExecutorTest.cs
+System.CodeDom.Compiler/GeneratedCodeAttributeCas.cs
+System.CodeDom.Compiler/GeneratedCodeAttributeTest.cs
+System.CodeDom.Compiler/IndentedTextWriterCas.cs
+System.CodeDom.Compiler/IndentedTextWriterTest.cs
+System.CodeDom.Compiler/TempFileCollectionCas.cs
+System.CodeDom.Compiler/TempFileCollectionTest.cs
+System.Configuration/ApplicationSettingsBaseTest.cs
+System.Configuration/ConfigurationExceptionTest.cs
+System.Configuration/ConfigXmlDocumentTest.cs
+System.Configuration/LocalFileSettingsProviderTest.cs
+System.Configuration/SettingElementTest.cs
+System.Configuration/SettingsBaseTest.cs
+System.Configuration/SettingsPropertyCollectionTest.cs
+System.Configuration/SettingsPropertyTest.cs
+System.Configuration/SettingsPropertyValueCollectionTest.cs
+System.Configuration/SettingsPropertyValueTest.cs
+System.Configuration.Provider
+System.Configuration.Provider/ProviderBaseTest.cs
+System.IO.Ports/SerialPortTest.cs
+System.Web/AspNetHostingPermissionAttributeCas.cs
+System.Web/AspNetHostingPermissionAttributeTest.cs
+System.Web/AspNetHostingPermissionCas.cs
+System.Web/AspNetHostingPermissionTest.cs
diff --git a/mcs/class/System/mobile_static_System_test.dll.excludes b/mcs/class/System/mobile_static_System_test.dll.excludes
deleted file mode 100644 (file)
index 8f84347..0000000
+++ /dev/null
@@ -1,190 +0,0 @@
-Microsoft.CSharp/CodeGeneratorFromCompileUnitTest.cs
-Microsoft.CSharp/CodeGeneratorFromExpressionTest.cs
-Microsoft.CSharp/CodeGeneratorFromNamespaceTest.cs
-Microsoft.CSharp/CodeGeneratorFromStatementTest.cs
-Microsoft.CSharp/CodeGeneratorFromTypeTest.cs
-Microsoft.CSharp/CodeGeneratorIdentifierTest.cs
-Microsoft.CSharp/CodeGeneratorTestBase.cs
-Microsoft.CSharp/CodeGeneratorTypeOutputTest.cs
-Microsoft.CSharp/CSharpCodeProviderCas.cs
-Microsoft.CSharp/CSharpCodeProviderTest.cs
-Microsoft.VisualBasic/CodeGeneratorFromBinaryOperatorTest.cs
-Microsoft.VisualBasic/CodeGeneratorFromCompileUnitTest.cs
-Microsoft.VisualBasic/CodeGeneratorFromExpressionTest.cs
-Microsoft.VisualBasic/CodeGeneratorFromNamespaceTest.cs
-Microsoft.VisualBasic/CodeGeneratorFromStatementTest.cs
-Microsoft.VisualBasic/CodeGeneratorFromTypeTest.cs
-Microsoft.VisualBasic/CodeGeneratorTestBase.cs
-Microsoft.VisualBasic/VBCodeProviderCas.cs
-Microsoft.VisualBasic/VBCodeProviderTest.cs
-System.CodeDom/CodeArgumentReferenceExpressionCas.cs
-System.CodeDom/CodeArgumentReferenceExpressionTest.cs
-System.CodeDom/CodeArrayCreateExpressionCas.cs
-System.CodeDom/CodeArrayCreateExpressionTest.cs
-System.CodeDom/CodeArrayIndexerExpressionCas.cs
-System.CodeDom/CodeAssignStatementCas.cs
-System.CodeDom/CodeAttachEventStatementCas.cs
-System.CodeDom/CodeAttachEventStatementTest.cs
-System.CodeDom/CodeAttributeArgumentCas.cs
-System.CodeDom/CodeAttributeArgumentCollectionCas.cs
-System.CodeDom/CodeAttributeArgumentCollectionTest.cs
-System.CodeDom/CodeAttributeArgumentTest.cs
-System.CodeDom/CodeAttributeDeclarationCas.cs
-System.CodeDom/CodeAttributeDeclarationCollectionCas.cs
-System.CodeDom/CodeAttributeDeclarationCollectionTest.cs
-System.CodeDom/CodeAttributeDeclarationTest.cs
-System.CodeDom/CodeBaseReferenceExpressionCas.cs
-System.CodeDom/CodeBinaryOperatorExpressionCas.cs
-System.CodeDom/CodeCastExpressionCas.cs
-System.CodeDom/CodeCastExpressionTest.cs
-System.CodeDom/CodeCatchClauseCas.cs
-System.CodeDom/CodeCatchClauseCollectionCas.cs
-System.CodeDom/CodeCatchClauseCollectionTest.cs
-System.CodeDom/CodeCatchClauseTest.cs
-System.CodeDom/CodeChecksumPragmaCas.cs
-System.CodeDom/CodeChecksumPragmaTest.cs
-System.CodeDom/CodeCommentStatementCas.cs
-System.CodeDom/CodeCommentStatementCollectionCas.cs
-System.CodeDom/CodeCommentStatementCollectionTest.cs
-System.CodeDom/CodeCompileUnitCas.cs
-System.CodeDom/CodeConditionStatementCas.cs
-System.CodeDom/CodeConstructorCas.cs
-System.CodeDom/CodeConstructorTest.cs
-System.CodeDom/CodeDefaultValueExpressionCas.cs
-System.CodeDom/CodeDefaultValueExpressionTest.cs
-System.CodeDom/CodeDelegateCreateExpressionCas.cs
-System.CodeDom/CodeDelegateCreateExpressionTest.cs
-System.CodeDom/CodeDelegateInvokeExpressionCas.cs
-System.CodeDom/CodeDirectionExpressionCas.cs
-System.CodeDom/CodeDirectiveCas.cs
-System.CodeDom/CodeDirectiveCollectionCas.cs
-System.CodeDom/CodeDirectiveCollectionTest.cs
-System.CodeDom/CodeEntryPointMethodCas.cs
-System.CodeDom/CodeEventReferenceExpressionCas.cs
-System.CodeDom/CodeEventReferenceExpressionTest.cs
-System.CodeDom/CodeExpressionCas.cs
-System.CodeDom/CodeExpressionCollectionCas.cs
-System.CodeDom/CodeExpressionCollectionTest.cs
-System.CodeDom/CodeExpressionStatementCas.cs
-System.CodeDom/CodeFieldReferenceExpressionCas.cs
-System.CodeDom/CodeGotoStatementCas.cs
-System.CodeDom/CodeGotoStatementTest.cs
-System.CodeDom/CodeIndexerExpressionCas.cs
-System.CodeDom/CodeIterationStatementCas.cs
-System.CodeDom/CodeLabeledStatementTest.cs
-System.CodeDom/CodeLinePragmaCas.cs
-System.CodeDom/CodeLinePragmaTest.cs
-System.CodeDom/CodeMemberEventCas.cs
-System.CodeDom/CodeMemberFieldCas.cs
-System.CodeDom/CodeMemberFieldTest.cs
-System.CodeDom/CodeMemberMethodCas.cs
-System.CodeDom/CodeMemberMethodTest.cs
-System.CodeDom/CodeMemberPropertyCas.cs
-System.CodeDom/CodeMemberPropertyTest.cs
-System.CodeDom/CodeMethodInvokeExpressionCas.cs
-System.CodeDom/CodeMethodInvokeExpressionTest.cs
-System.CodeDom/CodeMethodReferenceExpressionCas.cs
-System.CodeDom/CodeMethodReferenceExpressionTest.cs
-System.CodeDom/CodeMethodReturnStatementCas.cs
-System.CodeDom/CodeNamespaceCas.cs
-System.CodeDom/CodeNamespaceCollectionCas.cs
-System.CodeDom/CodeNamespaceCollectionTest.cs
-System.CodeDom/CodeNamespaceImportCas.cs
-System.CodeDom/CodeNamespaceImportCollectionCas.cs
-System.CodeDom/CodeNamespaceImportCollectionTest.cs
-System.CodeDom/CodeNamespaceImportTest.cs
-System.CodeDom/CodeNamespaceTest.cs
-System.CodeDom/CodeObjectCas.cs
-System.CodeDom/CodeObjectCreateExpressionCas.cs
-System.CodeDom/CodeObjectCreateExpressionTest.cs
-System.CodeDom/CodeParameterDeclarationExpressionCas.cs
-System.CodeDom/CodeParameterDeclarationExpressionCollectionCas.cs
-System.CodeDom/CodeParameterDeclarationExpressionCollectionTest.cs
-System.CodeDom/CodeParameterDeclarationExpressionTest.cs
-System.CodeDom/CodePrimitiveExpressionCas.cs
-System.CodeDom/CodePropertyReferenceExpressionCas.cs
-System.CodeDom/CodePropertyReferenceExpressionTest.cs
-System.CodeDom/CodePropertySetValueReferenceExpressionCas.cs
-System.CodeDom/CodeRegionDirectiveCas.cs
-System.CodeDom/CodeRegionDirectiveTest.cs
-System.CodeDom/CodeRemoveEventStatementCas.cs
-System.CodeDom/CodeRemoveEventStatementTest.cs
-System.CodeDom/CodeSnippetCompileUnitCas.cs
-System.CodeDom/CodeSnippetCompileUnitTest.cs
-System.CodeDom/CodeSnippetExpressionCas.cs
-System.CodeDom/CodeSnippetExpressionTest.cs
-System.CodeDom/CodeSnippetStatementCas.cs
-System.CodeDom/CodeSnippetStatementTest.cs
-System.CodeDom/CodeSnippetTypeMemberCas.cs
-System.CodeDom/CodeSnippetTypeMemberTest.cs
-System.CodeDom/CodeStatementCas.cs
-System.CodeDom/CodeStatementCollectionCas.cs
-System.CodeDom/CodeStatementCollectionTest.cs
-System.CodeDom/CodeThisReferenceExpressionCas.cs
-System.CodeDom/CodeThrowExceptionStatementCas.cs
-System.CodeDom/CodeTryCatchFinallyStatementCas.cs
-System.CodeDom/CodeTypeConstructorCas.cs
-System.CodeDom/CodeTypeConstructorTest.cs
-System.CodeDom/CodeTypeDeclarationCas.cs
-System.CodeDom/CodeTypeDeclarationCollectionCas.cs
-System.CodeDom/CodeTypeDeclarationCollectionTest.cs
-System.CodeDom/CodeTypeDelegateCas.cs
-System.CodeDom/CodeTypeDelegateTest.cs
-System.CodeDom/CodeTypeMemberCas.cs
-System.CodeDom/CodeTypeMemberCollectionCas.cs
-System.CodeDom/CodeTypeMemberCollectionTest.cs
-System.CodeDom/CodeTypeOfExpressionCas.cs
-System.CodeDom/CodeTypeOfExpressionTest.cs
-System.CodeDom/CodeTypeParameterCas.cs
-System.CodeDom/CodeTypeParameterCollectionTest.cs
-System.CodeDom/CodeTypeParameterTest.cs
-System.CodeDom/CodeTypeReferenceCas.cs
-System.CodeDom/CodeTypeReferenceCollectionCas.cs
-System.CodeDom/CodeTypeReferenceCollectionTest.cs
-System.CodeDom/CodeTypeReferenceExpressionCas.cs
-System.CodeDom/CodeTypeReferenceExpressionTest.cs
-System.CodeDom/CodeTypeReferenceTest.cs
-System.CodeDom/CodeVariableDeclarationStatementCas.cs
-System.CodeDom/CodeVariableDeclarationStatementTest.cs
-System.CodeDom/CodeVariableReferenceExpressionCas.cs
-System.CodeDom/CodeVariableReferenceExpressionTest.cs
-System.CodeDom.Compiler/CodeCompilerCas.cs
-System.CodeDom.Compiler/CodeDomProviderCas.cs
-System.CodeDom.Compiler/CodeGeneratorCas.cs
-System.CodeDom.Compiler/CodeGeneratorFromTypeTestBase.cs
-System.CodeDom.Compiler/CodeGeneratorGenerateFromCompileUnitTest.cs
-System.CodeDom.Compiler/CodeGeneratorOptionsCas.cs
-System.CodeDom.Compiler/CodeGeneratorOptionsTest.cs
-System.CodeDom.Compiler/CodeGeneratorTest.cs
-System.CodeDom.Compiler/CodeGeneratorTestBase.cs
-System.CodeDom.Compiler/CodeParserCas.cs
-System.CodeDom.Compiler/CompilerErrorCas.cs
-System.CodeDom.Compiler/CompilerErrorCollectionCas.cs
-System.CodeDom.Compiler/CompilerInfoCas.cs
-System.CodeDom.Compiler/CompilerParametersCas.cs
-System.CodeDom.Compiler/CompilerResultsCas.cs
-System.CodeDom.Compiler/ExecutorCas.cs
-System.CodeDom.Compiler/ExecutorTest.cs
-System.CodeDom.Compiler/GeneratedCodeAttributeCas.cs
-System.CodeDom.Compiler/GeneratedCodeAttributeTest.cs
-System.CodeDom.Compiler/IndentedTextWriterCas.cs
-System.CodeDom.Compiler/IndentedTextWriterTest.cs
-System.CodeDom.Compiler/TempFileCollectionCas.cs
-System.CodeDom.Compiler/TempFileCollectionTest.cs
-System.Configuration/ApplicationSettingsBaseTest.cs
-System.Configuration/ConfigurationExceptionTest.cs
-System.Configuration/ConfigXmlDocumentTest.cs
-System.Configuration/LocalFileSettingsProviderTest.cs
-System.Configuration/SettingElementTest.cs
-System.Configuration/SettingsBaseTest.cs
-System.Configuration/SettingsPropertyCollectionTest.cs
-System.Configuration/SettingsPropertyTest.cs
-System.Configuration/SettingsPropertyValueCollectionTest.cs
-System.Configuration/SettingsPropertyValueTest.cs
-System.Configuration.Provider
-System.Configuration.Provider/ProviderBaseTest.cs
-System.IO.Ports/SerialPortTest.cs
-System.Web/AspNetHostingPermissionAttributeCas.cs
-System.Web/AspNetHostingPermissionAttributeTest.cs
-System.Web/AspNetHostingPermissionCas.cs
-System.Web/AspNetHostingPermissionTest.cs
diff --git a/mcs/class/System/monodroid_System_test.dll.exclude.sources b/mcs/class/System/monodroid_System_test.dll.exclude.sources
new file mode 100644 (file)
index 0000000..1aea9da
--- /dev/null
@@ -0,0 +1,83 @@
+#include mobile_static_System_test.dll.exclude.sources
+#include monodroid_System_test.dll.new-exclude.sources
+Microsoft.Win32/IntranetZoneCredentialPolicyCas.cs
+Microsoft.Win32/IntranetZoneCredentialPolicyTest.cs
+Microsoft.Win32/PowerModeChangedEventArgsCas.cs
+Microsoft.Win32/SessionEndedEventArgsCas.cs
+Microsoft.Win32/SessionEndingEventArgsCas.cs
+Microsoft.Win32/SessionSwitchEventArgsCas.cs
+Microsoft.Win32/SessionSwitchEventArgsTest.cs
+Microsoft.Win32/SystemEventsCas.cs
+Microsoft.Win32/TimerElapsedEventArgsCas.cs
+Microsoft.Win32/UserPreferenceChangedEventArgsCas.cs
+Microsoft.Win32/UserPreferenceChangingEventArgsCas.cs
+System.Collections.Concurrent/CollectionStressTestHelper.cs
+System.Collections.Specialized/BitVector32Cas.cs
+System.Collections.Specialized/CollectionsUtilCas.cs
+System.Collections.Specialized/HybridDictionaryCas.cs
+System.Collections.Specialized/ListDictionaryCas.cs
+System.Collections.Specialized/NameObjectCollectionBaseCas.cs
+System.Collections.Specialized/NameValueCollectionCas.cs
+System.Collections.Specialized/OrderedDictionaryCas.cs
+System.Collections.Specialized/StringCollectionCas.cs
+System.Collections.Specialized/StringDictionaryCas.cs
+System.ComponentModel.Design.Serialization/InstanceDescriptorCas.cs
+System/FileStyleUriParserCas.cs
+System/FtpStyleUriParserCas.cs
+System/GenericUriParserCas.cs
+System/GopherStyleUriParserCas.cs
+System/HttpStyleUriParserCas.cs
+System.IO.Compression/DeflateStreamCas.cs
+System.IO.Compression/GZipStreamCas.cs
+System/LdapStyleUriParserCas.cs
+System.Net/DnsCas.cs
+System.Net/FileWebRequestCas.cs
+System.Net/HttpListener2Test.cs
+System.Net/HttpListenerRequestTest.cs
+System.Net/HttpWebRequestCas.cs
+System/NetPipeStyleUriParserCas.cs
+System.Net.Sockets/NetworkStreamCas.cs
+System.Net.Sockets/SocketCas.cs
+System.Net.Sockets/TcpClientCas.cs
+System/NetTcpStyleUriParserCas.cs
+System/NewsStyleUriParserCas.cs
+System.Security.Cryptography.X509Certificates/PublicKeyCas.cs
+System.Security.Cryptography.X509Certificates/X500DistinguishedNameCas.cs
+System.Security.Cryptography.X509Certificates/X509BasicConstraintsExtensionCas.cs
+System.Security.Cryptography.X509Certificates/X509CertificateCollectionCas.cs
+System.Security.Cryptography.X509Certificates/X509ChainCas.cs
+System.Security.Cryptography.X509Certificates/X509ChainPolicyCas.cs
+System.Security.Cryptography.X509Certificates/X509EnhancedKeyUsageExtensionCas.cs
+System.Security.Cryptography.X509Certificates/X509ExtensionCas.cs
+System.Security.Cryptography.X509Certificates/X509KeyUsageExtensionCas.cs
+System.Security.Cryptography.X509Certificates/X509StoreCas.cs
+System.Security.Cryptography.X509Certificates/X509SubjectKeyIdentifierExtensionCas.cs
+System.Security.Permissions/ResourcePermissionBaseCas.cs
+System.Security.Permissions/ResourcePermissionBaseEntryCas.cs
+System.Security.Permissions/ResourcePermissionBaseEntryTest.cs
+System.Security.Permissions/ResourcePermissionBaseTest.cs
+System.Security.Permissions/StorePermissionAttributeCas.cs
+System.Security.Permissions/StorePermissionAttributeTest.cs
+System.Security.Permissions/StorePermissionCas.cs
+System.Security.Permissions/StorePermissionTest.cs
+System.Text.RegularExpressions/CaptureCas.cs
+System.Text.RegularExpressions/CaptureCollectionCas.cs
+System.Text.RegularExpressions/GroupCas.cs
+System.Text.RegularExpressions/GroupCollectionCas.cs
+System.Text.RegularExpressions/MatchCas.cs
+System.Text.RegularExpressions/MatchCollectionCas.cs
+System.Text.RegularExpressions/RegexCas.cs
+System.Text.RegularExpressions/RegexCompilationInfoCas.cs
+System.Text.RegularExpressions/RegexRunnerCas.cs
+System.Text.RegularExpressions/RegexRunnerFactoryCas.cs
+System.Threading/SemaphoreCas.cs
+System.Threading/SemaphoreFullExceptionCas.cs
+System.Threading/ThreadExceptionEventArgsCas.cs
+System.Timers/ElapsedEventArgsCas.cs
+System.Timers/TimerCas.cs
+System.Timers/TimersDescriptionAttributeCas.cs
+System/UriBuilderCas.cs
+System/UriCas.cs
+System/UriFormatExceptionCas.cs
+System/UriParserCas.cs
+System/UriTypeConverterCas.cs
diff --git a/mcs/class/System/monodroid_System_test.dll.new-exclude.sources b/mcs/class/System/monodroid_System_test.dll.new-exclude.sources
new file mode 100644 (file)
index 0000000..5e78519
--- /dev/null
@@ -0,0 +1,2 @@
+System.Net/HttpWebRequestTest.cs
+System.Net.Sockets/SocketAcceptAsyncTest.cs
diff --git a/mcs/class/System/monodroid_System_test.dll.sources b/mcs/class/System/monodroid_System_test.dll.sources
new file mode 100644 (file)
index 0000000..3944a95
--- /dev/null
@@ -0,0 +1 @@
+#include System_test.dll.sources
index 0979b394b5ed97b77278359e7955c77d2dc4c89c..cff36539f3bee4d78e7a34495ad889df5509b2bd 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 5e065bd2ae51a181f27e6f3a28031a1f56c9f453..ed37cbc38ad5a2b1f4ca4ae9b79219d53b750ec1 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 842c1ed0ebe00b59e48bc1392671abaa8d8fb563..d3eaf78bc820a95b976ea944eaf6115929fe57d1 100644 (file)
@@ -6,7 +6,7 @@ LIBRARY = WindowsBase.dll
 LIB_REFS = System System.Xml
 LIB_MCS_FLAGS = -unsafe
 TEST_MCS_FLAGS = -unsafe
-TEST_LIB_REFS = WindowsBase System System.Xml System.Core
+TEST_LIB_REFS = WindowsBase System System.Xml System.Core System.IO.Compression
 
 ifeq (2.0, $(FRAMEWORK_VERSION))
 LIB_MCS_FLAGS += -d:NET_3_0
index 96ea9a5403b45bdae370068ca187d7763be6b3d8..e4b4ae11d2a1633aea6487a63fab392315db1c22 100644 (file)
@@ -457,6 +457,8 @@ namespace System.IO.Packaging {
 
                internal static void WriteRelationships (Dictionary <string, PackageRelationship> relationships, Stream stream)
                {
+                       stream.SetLength(0);
+
                        XmlDocument doc = new XmlDocument ();
                        XmlNamespaceManager manager = new XmlNamespaceManager (doc.NameTable);
                        manager.AddNamespace ("rel", RelationshipNamespace);
index 435e1d5ab7cfe656c637725b4d4c9739d3f5dfa3..783350b09344a6943326be5ae5eafa28a5e589b3 100644 (file)
@@ -95,8 +95,10 @@ namespace System.IO.Packaging {
                {
                        // Ensure that all the data has been read out of the package
                        // stream already. Otherwise we'll lose data when we recreate the zip
-                       foreach (ZipPackagePart part in Parts.Values)
-                               part.GetStream ().Dispose ();
+                       foreach (ZipPackagePart part in Parts.Values) {
+                               if (part.Package != null)
+                                       part.GetStream ().Dispose ();
+                       }
                        
                        // Empty the package stream
                        PackageStream.Position = 0;
@@ -107,6 +109,9 @@ namespace System.IO.Packaging {
 
                                // Write all the part streams
                                foreach (ZipPackagePart part in Parts.Values) {
+                                       if (part.Package == null)
+                                               continue;
+
                                        Stream partStream = part.GetStream ();
                                        partStream.Seek (0, SeekOrigin.Begin);
                                        
index 6ce92d31e57dddeea54db7eac175339197aa5b64..ade937eea58027764bfe61d863d9054b68346adf 100644 (file)
@@ -184,5 +184,33 @@ namespace MonoTests.System.IO.Packaging {
                                                         d.RelationshipType == node.Attributes["Type"].InnerText));\r
             }\r
         }\r
+\r
+        [Test]\r
+        public void CheckRelationshipDeletion ()\r
+        {\r
+            AddThreeRelationShips ();\r
+            package.Flush ();\r
+\r
+            foreach (PackageRelationship p in new List<PackageRelationship> (package.GetRelationships ()).Skip(1))\r
+                package.DeleteRelationship (p.Id);\r
+\r
+            PackagePart part = package.GetPart (new Uri ("/_rels/.rels", UriKind.Relative));\r
+            Assert.IsNotNull (package.GetPart (new Uri ("/_RELS/.RELS", UriKind.Relative)), "#0");\r
+            package.Flush ();\r
+            Assert.IsNotNull (part, "#1");\r
+\r
+            Stream stream = part.GetStream ();\r
+            Assert.IsTrue (stream.Length > 0, "#2a");\r
+\r
+            XmlDocument doc = new XmlDocument ();\r
+            XmlNamespaceManager manager = new XmlNamespaceManager (doc.NameTable);\r
+            manager.AddNamespace("rel", "http://schemas.openxmlformats.org/package/2006/relationships");\r
+            doc.Load (new StreamReader (stream));\r
+\r
+            Assert.IsNotNull (doc.SelectSingleNode ("/rel:Relationships", manager), "#2b");\r
+\r
+            XmlNodeList list = doc.SelectNodes ("/rel:Relationships/*", manager);\r
+            Assert.AreEqual (1, list.Count);\r
+        }\r
     }\r
 }\r
index 933449052f315ffeeae6104c5434135423bf1793..9a1aa2ea4fb7006c4dae06c4b1b1a4bea1a2d3b6 100644 (file)
@@ -27,6 +27,7 @@
 using System;\r
 using System.Collections.Generic;\r
 using System.IO;\r
+using System.IO.Compression;\r
 using System.IO.Packaging;\r
 using System.Linq;\r
 using System.Text;\r
@@ -116,7 +117,7 @@ namespace MonoTests.System.IO.Packaging {
             package = Package.Open (path);\r
             package.Close ();\r
             package = Package.Open (path);\r
-        }\r
+        } \r
                \r
                [Test]\r
                public void Close_FileStreamNotClosed ()\r
@@ -416,5 +417,27 @@ namespace MonoTests.System.IO.Packaging {
             File.Create (path).Close ();\r
             package = Package.Open (path, FileMode.OpenOrCreate, FileAccess.Write);\r
         }\r
+\r
+        [Test]\r
+        public void Check_ZipDateTime ()\r
+        {\r
+            using (var zipStream = new FileStream (path, FileMode.OpenOrCreate, FileAccess.ReadWrite))\r
+            using (package = Package.Open (zipStream, FileMode.OpenOrCreate)) {\r
+                var part = package.CreatePart (new Uri ("/test", UriKind.Relative), "test/type");\r
+                using (var stream = part.GetStream ())\r
+                    stream.Write (new byte [1024 * 1024], 0, 1024 * 1024);\r
+            }\r
+\r
+            using (var stream = new FileStream (path, FileMode.Open, FileAccess.Read))\r
+            using (var archive = new ZipArchive(stream))\r
+            {                \r
+                foreach (var entry in archive.Entries)\r
+                {\r
+                    Assert.AreEqual (DateTime.Now.Year, entry.LastWriteTime.Year);\r
+                    Assert.AreEqual (DateTime.Now.Month, entry.LastWriteTime.Month);\r
+                    Assert.AreEqual (DateTime.Now.Day, entry.LastWriteTime.Day);\r
+                }\r
+            }\r
+        }           \r
     }\r
 }\r
index 9fc0613bfec6525b5e9b0d06dd7f2ac215afeec6..5ac7164723c0f5473c203026edc0d7e2748e3e89 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 2cbea32a40ce4174ddd8a89b55f8975cf11584f9..2a81a73959bba6ddcf3595874bb9651989261160 100644 (file)
@@ -5,9 +5,11 @@
 //
 
 using System;
+using System.Runtime.InteropServices;
 
 namespace zipsharp
 {
+       [StructLayoutAttribute (LayoutKind.Sequential)]
        struct ZipFileInfo
        {
                ZipTime date;
@@ -38,7 +40,7 @@ namespace zipsharp
                public ZipFileInfo (DateTime fileTime)
                {
                        date = new ZipTime (fileTime);
-                       dosDate = new IntPtr ((int)fileTime.ToFileTime ());
+                       dosDate = IntPtr.Zero;
                        internalFileAttributes = IntPtr.Zero;
                        externalFileAttributes = IntPtr.Zero;
                }
index 2736df9410d31eafd67219677f04fbe3f186166c..e2c3abb66ca539a39524f6c8f9406f9b83755020 100644 (file)
@@ -25,13 +25,13 @@ namespace zipsharp
                        minute = (uint) time.Minute;
                        hour = (uint) time.Hour;
                        day = (uint) time.Day;
-                       month = (uint) time.Month;
+                       month = (uint) time.Month - 1;
                        year = (uint) time.Year;
                }
 
                public DateTime Date
                {
-                       get { return new DateTime ((int) year, (int) month, (int) day, (int) hour, (int) minute, (int) second); }
+                       get { return new DateTime ((int) year, (int) month + 1, (int) day, (int) hour, (int) minute, (int) second); }
                }
        }
 }
index bedcf1af0c14a5bb94af6c4dc4bfc29dc8fc19a8..f577efcd5ca871464b7ed8ca65b028a35086fd98 100644 (file)
@@ -41,14 +41,78 @@ using System.Runtime.Serialization;
 
 namespace System
 {
+       // Contains information about the type which is expensive to compute
+       [StructLayout (LayoutKind.Sequential)]
+       internal class MonoTypeInfo {
+               // this is the displayed form: special characters
+               // ,+*&*[]\ in the identifier portions of the names
+               // have been escaped with a leading backslash (\)
+               public string full_name;
+               public MonoCMethod default_ctor;
+       }
+
+       [StructLayout (LayoutKind.Sequential)]
        partial class RuntimeType
        {
+               [NonSerialized]
+               MonoTypeInfo type_info;
+
                internal Object GenericCache;
 
-               internal virtual MonoCMethod GetDefaultConstructor ()
+               internal RuntimeType (Object obj)
+               {
+                       throw new NotImplementedException ();
+               }
+
+               internal MonoCMethod GetDefaultConstructor ()
+               {
+                       MonoCMethod ctor = null;
+
+                       if (type_info == null)
+                               type_info = new MonoTypeInfo ();
+                       else
+                               ctor = type_info.default_ctor;
+
+                       if (ctor == null) {
+                               var ctors = GetConstructors (BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.DeclaredOnly);
+
+                               for (int i = 0; i < ctors.Length; ++i) {
+                                       if (ctors [i].GetParametersCount () == 0) {
+                                               type_info.default_ctor = ctor = (MonoCMethod) ctors [i];
+                                               break;
+                                       }
+                               }
+                       }
+
+                       return ctor;
+               }
+
+               [MethodImplAttribute(MethodImplOptions.InternalCall)]
+               extern MethodInfo GetCorrespondingInflatedMethod (MethodInfo generic);
+
+               [MethodImplAttribute(MethodImplOptions.InternalCall)]
+               extern ConstructorInfo GetCorrespondingInflatedConstructor (ConstructorInfo generic);
+
+               internal override MethodInfo GetMethod (MethodInfo fromNoninstanciated)
+                {
+                       if (fromNoninstanciated == null)
+                               throw new ArgumentNullException ("fromNoninstanciated");
+                        return GetCorrespondingInflatedMethod (fromNoninstanciated);
+                }
+
+               internal override ConstructorInfo GetConstructor (ConstructorInfo fromNoninstanciated)
                {
-                       // TODO: Requires MonoType
-                       throw new NotSupportedException ();
+                       if (fromNoninstanciated == null)
+                               throw new ArgumentNullException ("fromNoninstanciated");
+                        return GetCorrespondingInflatedConstructor (fromNoninstanciated);
+               }
+
+               internal override FieldInfo GetField (FieldInfo fromNoninstanciated)
+               {
+                       /* create sensible flags from given FieldInfo */
+                       BindingFlags flags = fromNoninstanciated.IsStatic ? BindingFlags.Static : BindingFlags.Instance;
+                       flags |= fromNoninstanciated.IsPublic ? BindingFlags.Public : BindingFlags.NonPublic;
+                       return GetField (fromNoninstanciated.Name, flags);
                }
 
                string GetDefaultMemberName ()
@@ -586,12 +650,6 @@ namespace System
                        get;
                }
 
-               public override string FullName {
-                       get {
-                               throw new NotImplementedException ();
-                       }
-               }
-
                public extern override string Name {
                        [MethodImplAttribute(MethodImplOptions.InternalCall)]
                        get;
@@ -624,5 +682,32 @@ namespace System
                        get { return get_core_clr_security_level () == 1; }
                }
 #endif
+
+               public override int GetHashCode()
+               {
+                       Type t = UnderlyingSystemType;
+                       if (t != null && t != this)
+                               return t.GetHashCode ();
+                       return (int)_impl.Value;
+               }
+
+               public override string FullName {
+                       get {
+                               string fullName;
+                               // This doesn't need locking
+                               if (type_info == null)
+                                       type_info = new MonoTypeInfo ();
+                               if ((fullName = type_info.full_name) == null)
+                                       fullName = type_info.full_name = getFullName (true, false);
+
+                               return fullName;
+                       }
+               }
+
+               internal override bool IsUserType {
+                       get {
+                               return false;
+                       }
+               }
        }
 }
index 34051bd8368e1e1cebe60a5e72d0aa6ad65a4a76..921cf8b2dd67f51cb7c69d80259589791a65f3d9 100644 (file)
@@ -128,9 +128,11 @@ namespace System.Reflection {
 
                 if (!suppressSecurityChecks)
                 {
+#if !DISABLE_CAS_USE
 #pragma warning disable 618
                     new SecurityPermission(SecurityPermissionFlag.ControlEvidence).Demand();
 #pragma warning restore 618
+#endif
                 }
             }
 
index 04c0c5670863215cc7f35d8bec6d2db80fca9b72..c93233dfffb57af19d0eaa9cc7092a2125e01739 100644 (file)
@@ -438,7 +438,7 @@ namespace System.Reflection {
                        foreach (Type type in methodInstantiation) {
                                if (type == null)
                                        throw new ArgumentNullException ();
-                               if (!(type is MonoType))
+                               if (!(type is RuntimeType))
                                        hasUserType = true;
                        }
 
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/ArrayWithOffset.cs b/mcs/class/corlib/System.Runtime.InteropServices/ArrayWithOffset.cs
deleted file mode 100644 (file)
index 1ad70d3..0000000
+++ /dev/null
@@ -1,89 +0,0 @@
-//
-// System.Runtime.InteropServices.ArrayWithOffset.cs
-//
-// Author:
-//   Miguel de Icaza (miguel@ximian.com)
-//
-// (C) Novell, 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;
-
-namespace System.Runtime.InteropServices {
-
-       [Serializable]
-       [ComVisible (true)]
-       public struct ArrayWithOffset {
-               object array;
-               int offset;
-
-               public ArrayWithOffset (object array, int offset)
-               {
-                       this.array = array;
-                       this.offset = offset;
-               }
-
-               public override bool Equals (object obj)
-               {
-                       if (obj == null)
-                               return false;
-                       if (!(obj is ArrayWithOffset))
-                               return false;
-                       ArrayWithOffset other = (ArrayWithOffset) obj;
-
-                       return (other.array == array && other.offset == offset);
-               }
-
-               public bool Equals (ArrayWithOffset obj)
-               {
-                       return obj.array == array && obj.offset == offset;
-               }
-
-               public static bool operator == (ArrayWithOffset a, ArrayWithOffset b)
-               {
-                       return a.Equals (b);
-               }
-
-               public static bool operator != (ArrayWithOffset a, ArrayWithOffset b)
-               {
-                       return !a.Equals (b);
-               }
-
-               public override int GetHashCode ()
-               {
-                       return offset;
-               }
-
-               public object GetArray ()
-               {
-                       return array;
-               }                               
-
-               public int GetOffset ()
-               {
-                       return offset;
-               }                               
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/AssemblyRegistrationFlags.cs b/mcs/class/corlib/System.Runtime.InteropServices/AssemblyRegistrationFlags.cs
deleted file mode 100644 (file)
index 244e727..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-//
-// System.Runtime.InteropServices.AssemblyRegistrationFlags.cs
-//
-// Author:
-//   Kevin Winchester (kwin@ns.sympatico.ca)
-//
-// (C) 2002 Kevin Winchester
-//
-
-//
-// 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.
-//
-
-namespace System.Runtime.InteropServices
-{
-       [Flags]
-       [ComVisible(true)]
-       public enum AssemblyRegistrationFlags {
-               None = 0,
-               SetCodeBase,
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/BStrWrapper.cs b/mcs/class/corlib/System.Runtime.InteropServices/BStrWrapper.cs
deleted file mode 100644 (file)
index 5f392b8..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-//
-// System.Runtime.InteropServices.BStrWrapper
-//
-// Author:
-//   Kazuki Oikawa  (kazuki@panicode.com)
-//
-
-using System;
-
-namespace System.Runtime.InteropServices
-{
-       [Serializable]
-       [ComVisible (true)]
-       public sealed class BStrWrapper
-       {
-               string _value;
-
-               public BStrWrapper (string value)
-               {
-                       _value = value;
-               }
-               
-               public BStrWrapper (object value)
-               {
-                       _value = (string)value;
-               }
-
-               public string WrappedObject { get { return _value; } }
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/COMException.cs b/mcs/class/corlib/System.Runtime.InteropServices/COMException.cs
deleted file mode 100644 (file)
index f7ad9af..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// COMException.cs - COM Exception
-//
-// Author:
-//     Sebastien Pouliot  <sebastien@ximian.com>
-//
-// (C) 2002 Motus Technologies Inc. (http://www.motus.com)
-// Copyright (C) 2004, 2008 Novell, Inc (http://www.novell.com)
-//
-// Permission is hereby granted, free of charge, to any person obtaining
-// a copy of this software and associated documentation files (the
-// "Software"), to deal in the Software without restriction, including
-// without limitation the rights to use, copy, modify, merge, publish,
-// distribute, sublicense, and/or sell copies of the Software, and to
-// permit persons to whom the Software is furnished to do so, subject to
-// the following conditions:
-// 
-// The above copyright notice and this permission notice shall be
-// included in all copies or substantial portions of the Software.
-// 
-// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
-// EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
-// MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
-// NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
-// LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
-// OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
-// WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-//
-
-using System.Runtime.Serialization;
-
-namespace System.Runtime.InteropServices {
-
-[Serializable]
-[ComVisible (true)]
-public class COMException : ExternalException {
-
-       public COMException () 
-               : base () {}
-
-       public COMException (string message) 
-               : base (message) {}
-
-       public COMException (string message, Exception inner) 
-               : base (message, inner) {}
-
-       public COMException (string message, int errorCode) 
-               : base (message, errorCode) {}
-
-       protected COMException (SerializationInfo info, StreamingContext context) 
-               : base (info, context) {}
-
-       public override string ToString ()
-       {
-               return String.Format (
-                       "{0} (0x{1:x}): {2} {3}{4}{5}",
-                       GetType (), HResult, Message, InnerException == null ? String.Empty : InnerException.ToString (),
-                       Environment.NewLine, StackTrace != null ? StackTrace : String.Empty);
-       }
-} 
-
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/CallingConvention.cs b/mcs/class/corlib/System.Runtime.InteropServices/CallingConvention.cs
deleted file mode 100644 (file)
index 4dab193..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-// CallingConvention.cs
-//
-// This code was automatically generated from
-// ECMA CLI XML Library Specification.
-// Generator: libgen.xsl [1.0; (C) Sergey Chaban (serge@wildwestsoftware.com)]
-// Created: Fri, 7 Sep 2001 16:33:29 UTC
-// Source file: AllTypes.xml
-// URL: http://msdn.microsoft.com/net/ecma/AllTypes.xml
-//
-// (C) 2001 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;
-
-namespace System.Runtime.InteropServices {
-
-       [Serializable]
-       [ComVisible (true)]
-       public enum CallingConvention {
-               Winapi = 1,
-               Cdecl = 2,
-               StdCall = 3,
-               ThisCall = 4,
-               FastCall = 5,
-       } 
-
-} // System.Runtime.InteropServices
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/CharSet.cs b/mcs/class/corlib/System.Runtime.InteropServices/CharSet.cs
deleted file mode 100644 (file)
index 565380a..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-// CharSet.cs
-//
-// This code was automatically generated from
-// ECMA CLI XML Library Specification.
-// Generator: libgen.xsl [1.0; (C) Sergey Chaban (serge@wildwestsoftware.com)]
-// Created: Fri, 7 Sep 2001 16:33:35 UTC
-// Source file: AllTypes.xml
-// URL: http://msdn.microsoft.com/net/ecma/AllTypes.xml
-//
-// (C) 2001 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;
-
-namespace System.Runtime.InteropServices {
-
-       [Serializable]
-       [ComVisible (true)]
-       public enum CharSet {
-               None = 1,
-               Ansi = 2,
-               Unicode = 3,
-               Auto = 4,
-       } 
-
-} // System.Runtime.InteropServices
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/ComMemberType.cs b/mcs/class/corlib/System.Runtime.InteropServices/ComMemberType.cs
deleted file mode 100644 (file)
index 480d18a..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-
-//
-// 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.
-//
-
-// System.Runtime.InteropServices/ComMemberType.cs
-//
-// Paolo Molaro (lupus@ximian.com)
-//
-// (C) 2002 Ximian, Inc.
-
-using System;
-
-namespace System.Runtime.InteropServices
-{
-       [Serializable]
-       [ComVisible (true)]
-       public enum ComMemberType {
-               Method  = 0,
-               PropGet = 1,
-               PropSet = 2
-       }
-}
-
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/CriticalHandle.cs b/mcs/class/corlib/System.Runtime.InteropServices/CriticalHandle.cs
deleted file mode 100644 (file)
index ce50aff..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-//
-// System.Runtime.InteropServices.CriticalHandle
-//
-// Author:
-//   Kazuki Oikawa  (kazuki@panicode.com)
-//
-
-
-using System;
-using System.Runtime.ConstrainedExecution;
-using System.Runtime.Serialization;
-
-namespace System.Runtime.InteropServices
-{
-       public abstract class CriticalHandle : CriticalFinalizerObject, IDisposable
-       {
-               protected IntPtr handle;
-               bool _disposed = false;
-
-               [ReliabilityContract (Consistency.WillNotCorruptState, Cer.MayFail)]
-               protected CriticalHandle (IntPtr invalidHandleValue)
-               {
-                       handle = invalidHandleValue;
-               }
-
-               [ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
-               ~CriticalHandle ()
-               {
-                       Dispose (false);
-               }
-
-               [ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
-               public void Close ()
-               {
-                       Dispose (true);
-               }
-
-               [ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
-               public void Dispose ()
-               {
-                       Dispose (true);
-               }
-
-               [ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
-               protected virtual void Dispose (bool disposing)
-               {
-                       if (_disposed)
-                               return;
-
-                       if (!IsInvalid){
-                               if (!_disposed && !ReleaseHandle ()) {
-                                       GC.SuppressFinalize (this);
-                               } else {
-                                       // Failed in release...
-                               }
-                       }
-                       _disposed = true;
-               }
-
-               [ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
-               protected abstract bool ReleaseHandle ();
-
-               [ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
-               protected void SetHandle (IntPtr handle)
-               {
-                       this.handle = handle;
-               }
-
-               [ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
-               public void SetHandleAsInvalid()
-               {
-                       _disposed = true;
-               }
-
-               public bool IsClosed {
-                       [ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
-                       get { return _disposed; }
-               }
-
-               public abstract bool IsInvalid {
-                       [ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
-                       get;
-               }
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/CurrencyWrapper.cs b/mcs/class/corlib/System.Runtime.InteropServices/CurrencyWrapper.cs
deleted file mode 100644 (file)
index 5460b16..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-//
-// System.Runtime.InteropServices.CurrencyWrapper.cs
-//
-// Author:
-//   Andreas Nahr (ClassDevelopment@A-SoftTech.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;
-
-namespace System.Runtime.InteropServices
-{
-       [Serializable]
-       [ComVisible (true)]
-       public sealed class CurrencyWrapper
-       {
-               Decimal currency;
-
-               public CurrencyWrapper (decimal obj)
-               {
-                       currency = obj;
-               }
-
-               public CurrencyWrapper (object obj)
-               {
-                       if (obj.GetType() != typeof(Decimal))
-                               throw new ArgumentException ("obj has to be a Decimal type");
-                       currency = (Decimal)obj;
-               }
-
-               public decimal WrappedObject {
-                       get { return currency; }
-               }
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/DispatchWrapper.cs b/mcs/class/corlib/System.Runtime.InteropServices/DispatchWrapper.cs
deleted file mode 100644 (file)
index dfc5a2a..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-//
-// System.Runtime.InteropServices.DispatchWrapper.cs
-//
-// Author:
-//   Andreas Nahr (ClassDevelopment@A-SoftTech.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.
-//
-
-#if !FULL_AOT_RUNTIME
-using System;
-
-namespace System.Runtime.InteropServices
-{
-       [Serializable]
-       [ComVisible (true)]
-       public sealed class DispatchWrapper
-       {
-               object wrappedObject;
-
-               public DispatchWrapper (object obj)
-               {
-                       Marshal.GetIDispatchForObject (obj);
-                       wrappedObject = obj;
-               }
-
-               public object WrappedObject {
-                       get { return wrappedObject; }
-               }
-       }
-}
-#endif
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/ErrorWrapper.cs b/mcs/class/corlib/System.Runtime.InteropServices/ErrorWrapper.cs
deleted file mode 100644 (file)
index 4bf947a..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-//
-// System.Runtime.InteropServices.ErrorWrapper.cs
-//
-// Author:
-//   Andreas Nahr (ClassDevelopment@A-SoftTech.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.
-//
-
-#if !FULL_AOT_RUNTIME
-using System;
-
-namespace System.Runtime.InteropServices
-{
-       [Serializable]
-       [ComVisible (true)]
-       public sealed class ErrorWrapper
-       {
-               int errorCode;
-
-               public ErrorWrapper (Exception e)
-               {
-                       this.errorCode = Marshal.GetHRForException (e);
-               }
-
-               public ErrorWrapper (int errorCode)
-               {
-                       this.errorCode = errorCode;
-               }
-
-               public ErrorWrapper (object errorCode)
-               {
-                       if (errorCode.GetType() != typeof(int))
-                               throw new ArgumentException ("errorCode has to be an int type");
-                       this.errorCode = (int)errorCode;
-               }
-
-               public int ErrorCode {
-                       get { return errorCode; }
-               }
-       }
-}
-#endif
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/ExternalException.cs b/mcs/class/corlib/System.Runtime.InteropServices/ExternalException.cs
deleted file mode 100644 (file)
index f149ed3..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-//
-// System.Runtime.InteropServices.ExternalException.cs
-//
-// Author:
-//   Miguel De Icaza (miguel@ximian.com)
-//
-// (C) 2001 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.Serialization;
-using System.Globalization;
-
-namespace System.Runtime.InteropServices
-{
-       [Serializable]
-       [ComVisible (true)]
-       public class ExternalException : SystemException
-       {
-               public ExternalException ()
-                       : base (Locale.GetText ("External exception"))
-               {
-                       HResult = -2147467259;
-               }
-
-               public ExternalException (string message)
-                       : base (message)
-               {
-                       HResult = -2147467259;
-               }
-
-               protected ExternalException(SerializationInfo info, StreamingContext context)
-                       : base (info, context) {
-               }
-
-               public ExternalException (string message, Exception inner)
-                       : base (message, inner)
-               {
-                       HResult = -2147467259;
-               }
-
-               public ExternalException (string message, int errorCode)
-                       : base (message)
-               {
-                       HResult = errorCode;
-               }
-
-               public virtual int ErrorCode {
-                       get {
-                               return HResult;
-                       }
-               }
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/HandleRef.cs b/mcs/class/corlib/System.Runtime.InteropServices/HandleRef.cs
deleted file mode 100644 (file)
index d61d3bc..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-//
-// System.Runtime.InteropServices.HandleRef
-//
-// Author:
-//   Tim Coleman (tim@timcoleman.com)
-//
-// Copyright (C) 2003 Tim Coleman
-
-//
-// 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;
-
-namespace System.Runtime.InteropServices {
-       [ComVisible (true)]
-       public struct HandleRef {
-
-               #region Fields
-
-               object wrapper;
-               IntPtr handle;
-
-               #endregion // Fields
-
-               #region Constructors
-
-               public HandleRef (object wrapper, IntPtr handle)
-               {
-                       this.wrapper = wrapper;
-                       this.handle = handle;
-               }
-
-               #endregion // Constructors
-
-               #region Properties
-
-               public IntPtr Handle {
-                       get { return handle; }
-               }
-
-               public object Wrapper {
-                       get { return wrapper; }
-               }
-
-               #endregion // Properties
-
-               #region Type Conversions
-
-               public static explicit operator IntPtr (HandleRef value)
-               {
-                       return value.Handle;
-               }
-               
-               #endregion // Type Conversions
-               public static IntPtr ToIntPtr(HandleRef value)
-               {
-                       return value.Handle; 
-                       // Why did MS add a function for this?
-               }
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/ICustomAdapter.cs b/mcs/class/corlib/System.Runtime.InteropServices/ICustomAdapter.cs
deleted file mode 100644 (file)
index 6ad1e35..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-//
-// System.Runtime.InteropServices.ICustomAdapter.cs
-//
-// Author:
-//   Kevin Winchester (kwin@ns.sympatico.ca)
-//
-// (C) 2002 Kevin Winchester
-//
-
-//
-// 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.
-//
-
-namespace System.Runtime.InteropServices {
-
-       [ComVisible (true)]
-       public interface ICustomAdapter {
-               [return: MarshalAs (UnmanagedType.IUnknown)]
-               object GetUnderlyingObject ();
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/ICustomFactory.cs b/mcs/class/corlib/System.Runtime.InteropServices/ICustomFactory.cs
deleted file mode 100644 (file)
index 2f22d28..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-//
-// System.Runtime.InteropServices.ICustomFactory.cs
-//
-// Author:
-//   Kevin Winchester (kwin@ns.sympatico.ca)
-//
-// (C) 2002 Kevin Winchester
-//
-
-//
-// 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.
-//
-
-namespace System.Runtime.InteropServices {
-
-       [ComVisible (true)]
-       public interface ICustomFactory {
-               MarshalByRefObject CreateInstance (Type serverType);
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/ICustomMarshaler.cs b/mcs/class/corlib/System.Runtime.InteropServices/ICustomMarshaler.cs
deleted file mode 100644 (file)
index 629a976..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// System.Runtime.InteropServices.ICustomMarshaler.cs
-//
-// Author:
-//   Kevin Winchester (kwin@ns.sympatico.ca)
-//
-// (C) 2002 Kevin Winchester
-//
-
-//
-// 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.
-//
-
-namespace System.Runtime.InteropServices {
-
-       [ComVisible (true)]
-       public interface ICustomMarshaler {
-               void CleanUpManagedData (object ManagedObj);
-               void CleanUpNativeData (IntPtr pNativeData);
-               int GetNativeDataSize ();
-               IntPtr MarshalManagedToNative (object ManagedObj);
-               object MarshalNativeToManaged (IntPtr pNativeData);
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/IRegistrationServices.cs b/mcs/class/corlib/System.Runtime.InteropServices/IRegistrationServices.cs
deleted file mode 100644 (file)
index 415f2a9..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-//
-// System.Runtime.InteropServices.IRegistrationServices.cs
-//
-// Author:
-//   Kevin Winchester (kwin@ns.sympatico.ca)
-//
-// (C) 2002 Kevin Winchester
-//
-
-//
-// 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;
-using System.Reflection;
-using System.Security.Permissions;
-namespace System.Runtime.InteropServices {
-
-       [ComVisible(true)]
-       [Guid("CCBD682C-73A5-4568-B8B0-C7007E11ABA2")]
-       public interface IRegistrationServices {
-               Guid GetManagedCategoryGuid ();
-               [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
-               string GetProgIdForType (Type type);
-
-               [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
-               Type[] GetRegistrableTypesInAssembly (Assembly assembly);
-
-               [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
-               bool RegisterAssembly (Assembly assembly, AssemblyRegistrationFlags flags);
-
-               [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
-               void RegisterTypeForComClients (Type type, ref Guid g);
-               
-               bool TypeRepresentsComType (Type type);
-               
-               [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
-               bool TypeRequiresRegistration (Type type);
-
-               [SecurityPermission(SecurityAction.LinkDemand, Flags=SecurityPermissionFlag.UnmanagedCode)]
-               bool UnregisterAssembly (Assembly assembly);
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/InvalidComObjectException.cs b/mcs/class/corlib/System.Runtime.InteropServices/InvalidComObjectException.cs
deleted file mode 100644 (file)
index c484ed7..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-//
-// System.Runtime.InteropServices.InvalidComObjectException.cs
-//
-// Author:
-//   Andreas Nahr (ClassDevelopment@A-SoftTech.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;
-using System.Runtime.Serialization;
-
-namespace System.Runtime.InteropServices
-{
-       [ComVisible(true)]
-       [Serializable]
-       public class InvalidComObjectException : SystemException
-       {
-               private const int ErrorCode = -2146233049; // = 0x80131527
-
-               public InvalidComObjectException ()
-                       : base (Locale.GetText ("Invalid COM object is used"))
-               {
-                       this.HResult = ErrorCode;
-               }
-
-               public InvalidComObjectException (string message)
-                       : base (message)
-               {
-                       this.HResult = ErrorCode;
-               }
-
-               public InvalidComObjectException (string message, Exception inner)
-                       : base (message, inner)
-               {
-                       this.HResult = ErrorCode;
-               }
-
-               protected InvalidComObjectException (SerializationInfo info, StreamingContext context)
-                       : base (info, context)
-               {
-               }
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/InvalidOleVariantTypeException.cs b/mcs/class/corlib/System.Runtime.InteropServices/InvalidOleVariantTypeException.cs
deleted file mode 100644 (file)
index d280bf4..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-//
-// System.Runtime.InteropServices.InvalidOleVariantTypeException.cs
-//
-// Author:
-//   Andreas Nahr (ClassDevelopment@A-SoftTech.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;
-using System.Runtime.Serialization;
-
-namespace System.Runtime.InteropServices
-{
-       [ComVisible(true)]
-       [Serializable]
-       public class InvalidOleVariantTypeException : SystemException
-       {
-               private const int ErrorCode = -2146233039; // = 0x80131531
-
-               public InvalidOleVariantTypeException ()
-                       : base (Locale.GetText ("Found native variant type cannot be marshalled to managed code"))
-               {
-                       this.HResult = ErrorCode;
-               }
-
-               public InvalidOleVariantTypeException (string message)
-                       : base (message)
-               {
-                       this.HResult = ErrorCode;
-               }
-
-               public InvalidOleVariantTypeException (string message, Exception inner)
-                       : base (message, inner)
-               {
-                       this.HResult = ErrorCode;
-               }
-
-               protected InvalidOleVariantTypeException (SerializationInfo info, StreamingContext context)
-                       : base (info, context)
-               {
-               }
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/LayoutKind.cs b/mcs/class/corlib/System.Runtime.InteropServices/LayoutKind.cs
deleted file mode 100644 (file)
index 25fe51b..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-// LayoutKind.cs
-//
-// This code was automatically generated from
-// ECMA CLI XML Library Specification.
-// Generator: libgen.xsl [1.0; (C) Sergey Chaban (serge@wildwestsoftware.com)]
-// Created: Fri, 7 Sep 2001 16:33:48 UTC
-// Source file: AllTypes.xml
-// URL: http://msdn.microsoft.com/net/ecma/AllTypes.xml
-//
-// (C) 2001 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.
-//
-
-
-namespace System.Runtime.InteropServices {
-
-       [ComVisible(true)]
-       [Serializable]
-       public enum LayoutKind {
-               Sequential = 0,
-               Explicit = 2,
-               Auto = 3
-       }
-       
-} 
index 24f15e3f980437e7877e372bf84a63afb6220ffb..a1b028b08c17a975da156186da5cb736e74ed47d 100644 (file)
@@ -1664,5 +1664,9 @@ namespace System.Runtime.InteropServices
                        
                        return GetFunctionPointerForDelegateInternal ((Delegate)(object)d);
                }
+
+               internal static void SetLastWin32Error (int error)
+               {
+               }
        }
 }
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/MarshalDirectiveException.cs b/mcs/class/corlib/System.Runtime.InteropServices/MarshalDirectiveException.cs
deleted file mode 100644 (file)
index 13c9c15..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-//
-// System.Runtime.InteropServices.MarshalDirectiveException.cs
-//
-// Author:
-//   Andreas Nahr (ClassDevelopment@A-SoftTech.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;
-using System.Runtime.Serialization;
-
-namespace System.Runtime.InteropServices
-{
-       [ComVisible(true)]
-       [Serializable]
-       public class MarshalDirectiveException : SystemException
-       {
-               private const int ErrorCode = -2146233035; // = 0x80131535
-
-               public MarshalDirectiveException ()
-                       : base (Locale.GetText ("Unsupported MarshalAsAttribute found"))
-               {
-                       this.HResult = ErrorCode;
-               }
-
-               public MarshalDirectiveException (string message)
-                       : base (message)
-               {
-                       this.HResult = ErrorCode;
-               }
-
-               public MarshalDirectiveException (string message, Exception inner)
-                       : base (message, inner)
-               {
-                       this.HResult = ErrorCode;
-               }
-
-               protected MarshalDirectiveException (SerializationInfo info, StreamingContext context)
-                       : base (info, context)
-               {
-               }
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/ObjectCreationDelegate.cs b/mcs/class/corlib/System.Runtime.InteropServices/ObjectCreationDelegate.cs
deleted file mode 100644 (file)
index 92dbc2f..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-//
-// System.Runtime.InteropServices.ObjectCreationDelegate.cs
-//
-// Author:
-//   Miguel de Icaza (miguel@ximian.com)
-//
-// (C) Novell, 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;
-
-namespace System.Runtime.InteropServices {
-
-       [ComVisible(true)]
-       public delegate IntPtr ObjectCreationDelegate (IntPtr aggregator);
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/SEHException.cs b/mcs/class/corlib/System.Runtime.InteropServices/SEHException.cs
deleted file mode 100644 (file)
index e3547cb..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-//
-// System.Runtime.InteropServices.SEHException.cs
-//
-// Authors:
-//    Gonzalo Paniagua Javier <gonzalo@ximian.com>
-//
-// (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.Serialization;
-
-namespace System.Runtime.InteropServices
-{
-       [ComVisible(true)]      
-       [Serializable]
-       public class SEHException : ExternalException
-       {
-               public SEHException ()
-               {
-               }
-
-               public SEHException (string message)
-                       : base (message)
-               {
-               }
-
-               public SEHException (string message, Exception inner)
-                       : base (message, inner)
-               {
-               }
-
-               protected SEHException (SerializationInfo info, StreamingContext context)
-                       : base (info, context)
-               {
-               }
-
-               public virtual bool CanResume ()
-               {
-                       return false;
-               }
-       }
-}
-
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/SafeArrayRankMismatchException.cs b/mcs/class/corlib/System.Runtime.InteropServices/SafeArrayRankMismatchException.cs
deleted file mode 100644 (file)
index c712d91..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-//
-// System.Runtime.InteropServices.SafeArrayRankMismatchException.cs
-//
-// Author:
-//   Andreas Nahr (ClassDevelopment@A-SoftTech.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;
-using System.Runtime.Serialization;
-
-namespace System.Runtime.InteropServices
-{
-       [ComVisible(true)]
-       [Serializable]
-       public class SafeArrayRankMismatchException : SystemException
-       {
-               private const int ErrorCode = -2146233032; // = 0x80131538
-
-               public SafeArrayRankMismatchException ()
-                       : base (Locale.GetText ("The incoming SAVEARRAY does not match the rank of the expected managed signature"))
-               {
-                       this.HResult = ErrorCode;
-               }
-
-               public SafeArrayRankMismatchException (string message)
-                       : base (message)
-               {
-                       this.HResult = ErrorCode;
-               }
-
-               public SafeArrayRankMismatchException (string message, Exception inner)
-                       : base (message, inner)
-               {
-                       this.HResult = ErrorCode;
-               }
-
-               protected SafeArrayRankMismatchException (SerializationInfo info, StreamingContext context)
-                       : base (info, context)
-               {
-               }
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/SafeArrayTypeMismatchException.cs b/mcs/class/corlib/System.Runtime.InteropServices/SafeArrayTypeMismatchException.cs
deleted file mode 100644 (file)
index e23c5f6..0000000
+++ /dev/null
@@ -1,65 +0,0 @@
-//
-// System.Runtime.InteropServices.SafeArrayTypeMismatchException.cs
-//
-// Author:
-//   Andreas Nahr (ClassDevelopment@A-SoftTech.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;
-using System.Runtime.Serialization;
-
-namespace System.Runtime.InteropServices
-{
-       [ComVisible(true)]
-       [Serializable]
-       public class SafeArrayTypeMismatchException : SystemException
-       {
-               private const int ErrorCode = -2146233037; // = 0x80131533
-
-               public SafeArrayTypeMismatchException ()
-                       : base (Locale.GetText ("The incoming SAVEARRAY does not match the expected managed signature"))
-               {
-                       this.HResult = ErrorCode;
-               }
-
-               public SafeArrayTypeMismatchException (string message)
-                       : base (message)
-               {
-                       this.HResult = ErrorCode;
-               }
-
-               public SafeArrayTypeMismatchException (string message, Exception inner)
-                       : base (message, inner)
-               {
-                       this.HResult = ErrorCode;
-               }
-
-               protected SafeArrayTypeMismatchException (SerializationInfo info, StreamingContext context)
-                       : base (info, context)
-               {
-               }
-       }
-}
index 305c087a70237b42be089727c7f74099d3cdc16c..b5b59a1ae81ffb3f37822fd47ba5619f08d7469a 100644 (file)
@@ -227,18 +227,5 @@ namespace System.Runtime.InteropServices
                                        ReleaseHandle ();
                        }
                }
-
-               /*
-                * Implement this abstract method in your derived class to specify how to
-                * free the handle. Be careful not write any code that's subject to faults
-                * in this method (the runtime will prepare the infrastructure for you so
-                * that no jit allocations etc. will occur, but don't allocate memory unless
-                * you can deal with the failure and still free the handle).
-                * The boolean returned should be true for success and false if the runtime
-                * should fire a SafeHandleCriticalFailure MDA (CustomerDebugProbe) if that
-                * MDA is enabled.
-                */
-               [ReliabilityContract (Consistency.WillNotCorruptState, Cer.Success)]
-               protected abstract bool ReleaseHandle ();
        }
 }
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/UnknownWrapper.cs b/mcs/class/corlib/System.Runtime.InteropServices/UnknownWrapper.cs
deleted file mode 100644 (file)
index ae5dda0..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-//
-// System.Runtime.InteropServices.UnknownWrapper.cs
-//
-// Author:
-//   Andreas Nahr (ClassDevelopment@A-SoftTech.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.
-//
-
-namespace System.Runtime.InteropServices
-{
-       [Serializable, ComVisible(true)]
-       public sealed class UnknownWrapper
-       {
-               private object InternalObject;
-
-               public UnknownWrapper (object obj)
-               {
-                       InternalObject = obj;
-               }
-
-               public object WrappedObject {
-                       get { return InternalObject; } 
-               }
-       }
-}
diff --git a/mcs/class/corlib/System.Runtime.InteropServices/VariantWrapper.cs b/mcs/class/corlib/System.Runtime.InteropServices/VariantWrapper.cs
deleted file mode 100644 (file)
index 984cd37..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-//
-// System.Runtime.InteropServices.VariantWrapper.cs
-//
-// Author:
-//   Gert Driesen (drieseng@users.sourceforge.net)
-//
-// (C) Novell, 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;
-
-namespace System.Runtime.InteropServices
-{
-       [Serializable]
-       public sealed class VariantWrapper
-       {
-               private object _wrappedObject;
-
-               public VariantWrapper (object obj)
-               {
-                       _wrappedObject = obj;
-               }
-
-               public object WrappedObject
-               {
-                       get
-                       {
-                               return _wrappedObject;
-                       }
-               }
-       }
-}
index bc424ce5e2d7d40c6d6a12cc4aa88eec2f7eb76f..1b35fe1ee90b75337e05ce72f68a2e9017a9bc7f 100644 (file)
@@ -477,7 +477,7 @@ namespace System.Runtime.Remoting
                public static bool IsMethodOverloaded(IMethodMessage msg)
                {
                        const BindingFlags bfinst = BindingFlags.NonPublic | BindingFlags.Public | BindingFlags.Instance;
-                       MonoType type = (MonoType) msg.MethodBase.DeclaringType;
+                       RuntimeType type = (RuntimeType) msg.MethodBase.DeclaringType;
                        return type.GetMethodsByName (msg.MethodName, bfinst, false, type).Length > 1;
                }
 
index 15fbb4ad39029df6e511b002241ab9ebc47a0124..9a9a6aaa34e842c3fd6318319c64e4093e2d0200 100644 (file)
@@ -52,7 +52,11 @@ namespace System.Security {
                {
                }
 
+#if MOBILE && DISABLE_CAS_USE
+               [Obsolete ("CAS support is removed by linker", true)]
+#else
                [MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
+#endif
                public void Assert ()
                {
                        new PermissionSet (this).Assert ();
@@ -60,6 +64,9 @@ namespace System.Security {
 
                public abstract IPermission Copy ();
 
+#if MOBILE && DISABLE_CAS_USE
+               [Obsolete ("CAS support is removed by linker", true)]
+#endif
                public void Demand ()
                {
                        // note: here we're sure it's a CAS demand
@@ -70,7 +77,11 @@ namespace System.Security {
                        new PermissionSet (this).CasOnlyDemand (3);
                }
 
+#if MOBILE && DISABLE_CAS_USE
+               [Obsolete ("CAS support is removed by linker", true)]
+#else
                [MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
+#endif
                public void Deny ()
                {
                        new PermissionSet (this).Deny ();
@@ -114,13 +125,21 @@ namespace System.Security {
                        return null;
                }
 
+#if MOBILE && DISABLE_CAS_USE
+               [Obsolete ("CAS support is removed by linker", true)]
+#else
                [MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
+#endif
                public void PermitOnly ()
                {
                        new PermissionSet (this).PermitOnly ();
                }
 
+#if MOBILE && DISABLE_CAS_USE
+               [Obsolete ("CAS support is removed by linker", true)]
+#else
                [MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
+#endif
                public static void RevertAll ()
                {
                        if (!SecurityManager.SecurityEnabled)
@@ -128,7 +147,11 @@ namespace System.Security {
                        throw new NotImplementedException ();
                }
 
+#if MOBILE && DISABLE_CAS_USE
+               [Obsolete ("CAS support is removed by linker", true)]
+#else
                [MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
+#endif
                public static void RevertAssert ()
                {
                        if (!SecurityManager.SecurityEnabled)
@@ -136,7 +159,11 @@ namespace System.Security {
                        throw new NotImplementedException ();
                }
 
+#if MOBILE && DISABLE_CAS_USE
+               [Obsolete ("CAS support is removed by linker", true)]
+#else
                [MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
+#endif
                public static void RevertDeny ()
                {
                        if (!SecurityManager.SecurityEnabled)
@@ -144,7 +171,11 @@ namespace System.Security {
                        throw new NotImplementedException ();
                }
 
+#if MOBILE && DISABLE_CAS_USE
+               [Obsolete ("CAS support is removed by linker", true)]
+#else
                [MonoTODO ("CAS support is experimental (and unsupported). Imperative mode is not implemented.")]
+#endif
                public static void RevertPermitOnly ()
                {
                        if (!SecurityManager.SecurityEnabled)
index 54cc0c1b3607e186cd7fa80511c13b32f6fb082f..605d4dad1a9e31c4d0fd9947c10aa4372502a4b0 100644 (file)
@@ -625,7 +625,9 @@ namespace System.Security {
                // FIXME what's it doing here? There's probably a reason this was added here.
                static public void RevertAssert ()
                {
+#if !DISABLE_CAS_USE
                        CodeAccessPermission.RevertAssert ();
+#endif
                }
 
                // internal
index 0952e5528fc7a39b92ed8a268c67f53bd94fc6f6..fd5e734534ef56ad965b2fc8621ab86df4206507 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 = 147;
+               private const int mono_corlib_version = 149;
 #pragma warning restore 169
 
                [ComVisible (true)]
index 76b5b15e0417f6caa8d12149a8569c9e83d6eca3..8894ec98c98a6508329ec496e6dd3248269c1208 100644 (file)
@@ -49,14 +49,14 @@ namespace System
                [ThreadStatic]
                static Dictionary<Type, AttributeUsageAttribute> usage_cache;
 
-               /* Treat as user types all corlib types extending System.Type that are not MonoType and TypeBuilder */
+               /* Treat as user types all corlib types extending System.Type that are not RuntimeType and TypeBuilder */
                static bool IsUserCattrProvider (object obj)
                {
                        Type type = obj as Type;
 #if !FULL_AOT_RUNTIME
-                       if ((type is MonoType) || (type is TypeBuilder))
+                       if ((type is RuntimeType) || (type is TypeBuilder))
 #else
-                       if (type is MonoType)
+                       if (type is RuntimeType)
 #endif
                                return false;
                        if ((obj is Type))
index 0fd8fa7ec75a560f46db6323a72c2fb252bb92d3..f99efb2b7b5b524483c62255adea1614d940676e 100644 (file)
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
 
-using System.Collections.Generic;
-using System.Globalization;
-using System.Reflection;
-using System.Runtime.InteropServices;
-using System.Runtime.CompilerServices;
-using System.Runtime.Serialization;
-using System.Security;
-using System.Diagnostics.Contracts;
-using System.Threading;
-using System.Diagnostics;
-using System.Security.Permissions;
-using System.Runtime.Remoting.Activation;
-using System.Runtime;
-
 namespace System
 {
-       // Contains information about the type which is expensive to compute
-       [StructLayout (LayoutKind.Sequential)]
-       internal class MonoTypeInfo {
-               // this is the displayed form: special characters
-               // ,+*&*[]\ in the identifier portions of the names
-               // have been escaped with a leading backslash (\)
-               public string full_name;
-               public MonoCMethod default_ctor;
-       }
-
-       [Serializable]
-       [StructLayout (LayoutKind.Sequential)]
-       class MonoType : RuntimeType, ISerializable
+       // Dummy type kept because lots of external code uses
+       // this to check whenever it is running on mono.
+       sealed class MonoType : RuntimeType
        {
-               [NonSerialized]
-               MonoTypeInfo type_info;
-
-               [MethodImplAttribute(MethodImplOptions.InternalCall)]
-               private static extern void type_from_obj (MonoType type, Object obj);
-               
-               internal MonoType (Object obj)
-               {
-                       // this should not be used - lupus
-                       type_from_obj (this, obj);
-                       
-                       throw new NotImplementedException ();
-               }
-
-               internal override MonoCMethod GetDefaultConstructor ()
+               private MonoType ()
                {
-                       MonoCMethod ctor = null;
-                       
-                       if (type_info == null)
-                               type_info = new MonoTypeInfo ();
-                       else
-                               ctor = type_info.default_ctor;
-
-                       if (ctor == null) {
-                               var ctors = GetConstructors (BindingFlags.Public | BindingFlags.Instance | BindingFlags.NonPublic | BindingFlags.DeclaredOnly);
-
-                               for (int i = 0; i < ctors.Length; ++i) {
-                                       if (ctors [i].GetParametersCount () == 0) {
-                                               type_info.default_ctor = ctor = (MonoCMethod) ctors [i];
-                                               break;
-                                       }
-                               }
-                       }
-
-                       return ctor;
-               }
-
-               [MethodImplAttribute(MethodImplOptions.InternalCall)]
-               extern MethodInfo GetCorrespondingInflatedMethod (MethodInfo generic);
-
-               [MethodImplAttribute(MethodImplOptions.InternalCall)]
-               extern ConstructorInfo GetCorrespondingInflatedConstructor (ConstructorInfo generic);
-
-               internal override MethodInfo GetMethod (MethodInfo fromNoninstanciated)
-                {
-                       if (fromNoninstanciated == null)
-                               throw new ArgumentNullException ("fromNoninstanciated");
-                        return GetCorrespondingInflatedMethod (fromNoninstanciated);
-                }
-
-               internal override ConstructorInfo GetConstructor (ConstructorInfo fromNoninstanciated)
-               {
-                       if (fromNoninstanciated == null)
-                               throw new ArgumentNullException ("fromNoninstanciated");
-                        return GetCorrespondingInflatedConstructor (fromNoninstanciated);
-               }
-
-               internal override FieldInfo GetField (FieldInfo fromNoninstanciated)
-               {
-                       /* create sensible flags from given FieldInfo */
-                       BindingFlags flags = fromNoninstanciated.IsStatic ? BindingFlags.Static : BindingFlags.Instance;
-                       flags |= fromNoninstanciated.IsPublic ? BindingFlags.Public : BindingFlags.NonPublic;
-                       return GetField (fromNoninstanciated.Name, flags);
-               }
-
-               public override int GetHashCode()
-               {
-                       Type t = UnderlyingSystemType;
-                       if (t != null && t != this)
-                               return t.GetHashCode ();
-                       return (int)_impl.Value;
-               }
-
-               public override string FullName {
-                       get {
-                               string fullName;
-                               // This doesn't need locking
-                               if (type_info == null)
-                                       type_info = new MonoTypeInfo ();
-                               if ((fullName = type_info.full_name) == null)
-                                       fullName = type_info.full_name = getFullName (true, false);
-
-                               return fullName;
-                       }
-               }
-
-               internal override bool IsUserType {
-                       get {
-                               return false;
-                       }
                }
        }
 }
index 479e867f5016a6fb66aca5ba7fb37274cd0fcc88..eb6c42f097648ff77d290c66f24e2a600768da87 100644 (file)
@@ -62,7 +62,7 @@ namespace System
                        if (info == null)
                                throw new ArgumentNullException ("info");
 
-                       MonoType mt = ((MonoType) info.GetValue ("TypeObj", typeof (MonoType)));
+                       RuntimeType mt = ((RuntimeType) info.GetValue ("TypeObj", typeof (RuntimeType)));
                        value = mt.TypeHandle.Value;
                        if (value == IntPtr.Zero)
                                throw new SerializationException (Locale.GetText ("Insufficient state."));
@@ -82,7 +82,7 @@ namespace System
                        if (value == IntPtr.Zero)
                                throw new SerializationException ("Object fields may not be properly initialized");
 
-                       info.AddValue ("TypeObj", Type.GetTypeHandle (this), typeof (MonoType));
+                       info.AddValue ("TypeObj", Type.GetTypeHandle (this), typeof (RuntimeType));
                }
 
                [ReliabilityContractAttribute (Consistency.WillNotCorruptState, Cer.Success)]
index 065914a2ed460b40f0f220d2c8e1f47597cb6b39..3fd0d19d994722d588906d74bcf6215acca4c184 100644 (file)
@@ -7,6 +7,8 @@
 // (C) 2004 Motus Technologies Inc. (http://www.motus.com)
 //
 
+#if !DISABLE_CAS_USE
+
 using NUnit.Framework;
 using System;
 using System.Security;
@@ -89,3 +91,5 @@ namespace MonoTests.System.Security {
                }
        }
 }
+
+#endif
index f4ecfb5d46f925eb2286e39817eeefdfe7879532..a75d5d6b8a5e16bc202c0511a268e36525f47c53 100644 (file)
@@ -25,7 +25,7 @@
 // OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
 // WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
 //
-
+#if !DISABLE_CAS_USE
 
 using System;
 using System.Security;
@@ -168,3 +168,4 @@ namespace MonoCasTests.System.Threading {
        }
 }
 
+#endif
\ No newline at end of file
index e532913ff24a2632ef221276cea3ef03e1d96367..a869f7191f7daf9d8ba55795b459e8f909b117a2 100644 (file)
@@ -109,7 +109,7 @@ namespace MonoTests.System.Threading
                        }
 
                        // check a class in mscorlib to determine if we're running on Mono
-                       if (Type.GetType ("System.MonoType", false) != null)
+                       if (Type.GetType ("Mono.Runtime", false) != null)
                                is_mono = true;
                }
 
index 107cb2c9638be7ceb538fa20e3a1896dabc1acb2..95f0db7329cb36a446b037c41d2f4f6a1347bf06 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Library</OutputType>\r
     <NoWarn>612,618,1635,1699</NoWarn>\r
     <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
     <Compile Include="..\referencesource\mscorlib\system\runtime\exceptionservices\corruptingexceptioncommon.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\exceptionservices\exceptionnotification.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\exceptionservices\exceptionservicescommon.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\arraywithoffset.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\attributes.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\bstrwrapper.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\callingconvention.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\charset.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\comexception.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\commembertype.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\ComTypes\ibindctx.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\ComTypes\iconnectionpoint.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\ComTypes\iconnectionpointcontainer.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\ComTypes\itypeinfo2.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\ComTypes\itypelib.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\ComTypes\itypelib2.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\criticalhandle.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\currencywrapper.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\dispatchwrapper.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\errorwrapper.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\expando\iexpando.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\externalexception.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\handleref.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\icustomadapter.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\icustomfactory.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\icustommarshaler.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\icustomqueryinterface.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\invalidcomobjectexception.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\invalidolevarianttypeexception.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\iregistrationservices.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\layoutkind.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\marshaldirectiveexception.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\objectcreationdelegate.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\runtimeenvironment.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\safearrayrankmismatchexception.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\safearraytypemismatchexception.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\safehandle.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\sehexception.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\ucomienumconnections.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\unknownwrapper.cs" />\r
+    <Compile Include="..\referencesource\mscorlib\system\runtime\interopservices\variantWrapper.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\NgenServicingAttributes.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\remoting\callcontext.cs" />\r
     <Compile Include="..\referencesource\mscorlib\system\runtime\serialization\deserializationeventhandler.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\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\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
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 76f25a22e35de24c0879a6f022c921f3828eda03..a3a002f7cb0cd43effe25a5dd82308730850de6d 100644 (file)
@@ -338,66 +338,41 @@ System.Runtime.InteropServices/_SignatureHelper.cs
 System.Runtime.InteropServices/_Thread.cs
 System.Runtime.InteropServices/_Type.cs
 System.Runtime.InteropServices/_TypeBuilder.cs
-System.Runtime.InteropServices/ArrayWithOffset.cs
-System.Runtime.InteropServices/AssemblyRegistrationFlags.cs
 System.Runtime.InteropServices/BIND_OPTS.cs
 System.Runtime.InteropServices/BINDPTR.cs
-System.Runtime.InteropServices/BStrWrapper.cs
 System.Runtime.InteropServices/CALLCONV.cs
-System.Runtime.InteropServices/CallingConvention.cs
-System.Runtime.InteropServices/CharSet.cs
-System.Runtime.InteropServices/COMException.cs
-System.Runtime.InteropServices/ComMemberType.cs
-System.Runtime.InteropServices/CriticalHandle.cs
-System.Runtime.InteropServices/CurrencyWrapper.cs
 System.Runtime.InteropServices/DESCKIND.cs
-System.Runtime.InteropServices/DispatchWrapper.cs
 System.Runtime.InteropServices/DISPPARAMS.cs
 System.Runtime.InteropServices/ELEMDESC.cs
-System.Runtime.InteropServices/ErrorWrapper.cs
 System.Runtime.InteropServices/EXCEPINFO.cs
 System.Runtime.InteropServices/ExporterEventKind.cs
 System.Runtime.InteropServices/ExtensibleClassFactory.cs
-System.Runtime.InteropServices/ExternalException.cs
 System.Runtime.InteropServices/FILETIME.cs
 System.Runtime.InteropServices/FUNCDESC.cs
 System.Runtime.InteropServices/FUNCFLAGS.cs
 System.Runtime.InteropServices/FUNCKIND.cs
 System.Runtime.InteropServices/GCHandle.cs
 System.Runtime.InteropServices/GCHandleType.cs
-System.Runtime.InteropServices/HandleRef.cs
-System.Runtime.InteropServices/ICustomAdapter.cs
-System.Runtime.InteropServices/ICustomFactory.cs
-System.Runtime.InteropServices/ICustomMarshaler.cs
 System.Runtime.InteropServices/IDLDESC.cs
 System.Runtime.InteropServices/IDLFLAG.cs
 System.Runtime.InteropServices/IErrorInfo.cs
 System.Runtime.InteropServices/IMPLTYPEFLAGS.cs
 System.Runtime.InteropServices/INVOKEKIND.cs
-System.Runtime.InteropServices/IRegistrationServices.cs
 System.Runtime.InteropServices/ITypeLibConverter.cs
 System.Runtime.InteropServices/ITypeLibExporterNameProvider.cs
 System.Runtime.InteropServices/ITypeLibExporterNotifySink.cs
 System.Runtime.InteropServices/ITypeLibImporterNotifySink.cs
 System.Runtime.InteropServices/ImporterEventKind.cs
-System.Runtime.InteropServices/InvalidComObjectException.cs
-System.Runtime.InteropServices/InvalidOleVariantTypeException.cs
 System.Runtime.InteropServices/LIBFLAGS.cs
-System.Runtime.InteropServices/LayoutKind.cs
 System.Runtime.InteropServices/ManagedErrorInfo.cs
 System.Runtime.InteropServices/Marshal.cs
 System.Runtime.InteropServices/MarshalAsAttribute.cs
-System.Runtime.InteropServices/MarshalDirectiveException.cs
-System.Runtime.InteropServices/ObjectCreationDelegate.cs
 System.Runtime.InteropServices/PARAMDESC.cs
 System.Runtime.InteropServices/PARAMFLAG.cs
 System.Runtime.InteropServices/RegistrationClassContext.cs
 System.Runtime.InteropServices/RegistrationConnectionType.cs
-System.Runtime.InteropServices/SEHException.cs
 System.Runtime.InteropServices/STATSTG.cs
 System.Runtime.InteropServices/RegistrationServices.cs
-System.Runtime.InteropServices/SafeArrayRankMismatchException.cs
-System.Runtime.InteropServices/SafeArrayTypeMismatchException.cs
 System.Runtime.InteropServices/SafeBuffer.cs
 System.Runtime.InteropServices/SafeHandle.cs
 System.Runtime.InteropServices/SYSKIND.cs
@@ -423,10 +398,8 @@ System.Runtime.InteropServices/UCOMIStream.cs
 System.Runtime.InteropServices/UCOMITypeComp.cs
 System.Runtime.InteropServices/UCOMITypeInfo.cs
 System.Runtime.InteropServices/UCOMITypeLib.cs
-System.Runtime.InteropServices/UnknownWrapper.cs
 System.Runtime.InteropServices/VARDESC.cs
 System.Runtime.InteropServices/VARFLAGS.cs
-System.Runtime.InteropServices/VariantWrapper.cs
 
 System.Runtime.InteropServices.WindowsRuntime/DefaultInterfaceAttribute.cs
 System.Runtime.InteropServices.WindowsRuntime/DesignerNamespaceResolveEventArgs.cs
@@ -1287,10 +1260,37 @@ ReferenceSources/SecurityContext.cs
 ../referencesource/mscorlib/system/runtime/exceptionservices/exceptionnotification.cs
 ../referencesource/mscorlib/system/runtime/exceptionservices/exceptionservicescommon.cs
 
+../referencesource/mscorlib/system/runtime/interopservices/arraywithoffset.cs
 ../referencesource/mscorlib/system/runtime/interopservices/attributes.cs
+../referencesource/mscorlib/system/runtime/interopservices/bstrwrapper.cs
+../referencesource/mscorlib/system/runtime/interopservices/callingconvention.cs
+../referencesource/mscorlib/system/runtime/interopservices/charset.cs
+../referencesource/mscorlib/system/runtime/interopservices/comexception.cs
+../referencesource/mscorlib/system/runtime/interopservices/commembertype.cs
+../referencesource/mscorlib/system/runtime/interopservices/criticalhandle.cs
+../referencesource/mscorlib/system/runtime/interopservices/currencywrapper.cs
+../referencesource/mscorlib/system/runtime/interopservices/dispatchwrapper.cs
+../referencesource/mscorlib/system/runtime/interopservices/errorwrapper.cs
+../referencesource/mscorlib/system/runtime/interopservices/externalexception.cs
+../referencesource/mscorlib/system/runtime/interopservices/handleref.cs
+../referencesource/mscorlib/system/runtime/interopservices/icustomadapter.cs
+../referencesource/mscorlib/system/runtime/interopservices/icustomfactory.cs
+../referencesource/mscorlib/system/runtime/interopservices/icustommarshaler.cs
+../referencesource/mscorlib/system/runtime/interopservices/icustomqueryinterface.cs
+../referencesource/mscorlib/system/runtime/interopservices/invalidcomobjectexception.cs
+../referencesource/mscorlib/system/runtime/interopservices/invalidolevarianttypeexception.cs
+../referencesource/mscorlib/system/runtime/interopservices/iregistrationservices.cs
+../referencesource/mscorlib/system/runtime/interopservices/layoutkind.cs
+../referencesource/mscorlib/system/runtime/interopservices/marshaldirectiveexception.cs
+../referencesource/mscorlib/system/runtime/interopservices/objectcreationdelegate.cs
 ../referencesource/mscorlib/system/runtime/interopservices/runtimeenvironment.cs
+../referencesource/mscorlib/system/runtime/interopservices/safearrayrankmismatchexception.cs
+../referencesource/mscorlib/system/runtime/interopservices/safearraytypemismatchexception.cs
 ../referencesource/mscorlib/system/runtime/interopservices/safehandle.cs
+../referencesource/mscorlib/system/runtime/interopservices/sehexception.cs
 ../referencesource/mscorlib/system/runtime/interopservices/ucomienumconnections.cs
+../referencesource/mscorlib/system/runtime/interopservices/unknownwrapper.cs
+../referencesource/mscorlib/system/runtime/interopservices/variantWrapper.cs
 
 ../referencesource/mscorlib/system/runtime/interopservices/ComTypes/ibindctx.cs
 ../referencesource/mscorlib/system/runtime/interopservices/ComTypes/iconnectionpoint.cs
diff --git a/mcs/class/corlib/corlib_cmp.dll.excludes b/mcs/class/corlib/corlib_cmp.dll.excludes
deleted file mode 100644 (file)
index 1ad6431..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-System/Object.cs
-System/ValueType.cs
-System/Enum.cs
-System/Delegate.cs
-System/MulticastDelegate.cs
-System.Runtime.CompilerServices/RuntimeHelpers.cs
-System/Decimal.cs
-System/DecimalFormatter.cs
diff --git a/mcs/class/corlib/mobile_static_corlib_test.dll.exclude.sources b/mcs/class/corlib/mobile_static_corlib_test.dll.exclude.sources
new file mode 100644 (file)
index 0000000..eb17a10
--- /dev/null
@@ -0,0 +1,131 @@
+Microsoft.Win32/RegistryKeyTest.cs
+System.Diagnostics.Contracts/ContractAssertTest.cs
+System.Diagnostics.Contracts/ContractAssumeTest.cs
+System.Diagnostics.Contracts/ContractCollectionMethodsTest.cs
+System.Diagnostics.Contracts/ContractHelperTest.cs
+System.Diagnostics.Contracts/ContractMarkerMethodsTest.cs
+System.Diagnostics.Contracts/ContractMustUseRewriterTest.cs
+System.Diagnostics.Contracts/Helpers/RunAgainstReferenceAttribute.cs
+System.Diagnostics.Contracts/Helpers/TestContractBase.cs
+System.Reflection.Emit/AssemblyBuilderAccessTest.cs
+System.Reflection.Emit/AssemblyBuilderTest.cs
+System.Reflection.Emit/ConstructorBuilderTest.cs
+System.Reflection.Emit/ConstructorOnTypeBuilderInstTest.cs
+System.Reflection.Emit/CustomAttributeBuilderTest.cs
+System.Reflection.Emit/DerivedTypesTest.cs
+System.Reflection.Emit/DynamicILInfoTest.cs
+System.Reflection.Emit/DynamicMethodTest.cs
+System.Reflection.Emit/EnumBuilderTest.cs
+System.Reflection.Emit/EventBuilderTest.cs
+System.Reflection.Emit/FieldBuilderTest.cs
+System.Reflection.Emit/GenericTypeParameterBuilderTest.cs
+System.Reflection.Emit/ILGeneratorTest.cs
+System.Reflection.Emit/MethodBuilderTest.cs
+System.Reflection.Emit/MethodBuilderTestIL.cs
+System.Reflection.Emit/MethodOnTypeBuilderInstTest.cs
+System.Reflection.Emit/MethodRentalCas.cs
+System.Reflection.Emit/MethodRentalTest.cs
+System.Reflection.Emit/ModuleBuilderTest.cs
+System.Reflection.Emit/ParameterBuilderTest.cs
+System.Reflection.Emit/PropertyBuilderTest.cs
+System.Reflection.Emit/SignatureHelperTest.cs
+System.Reflection.Emit/TypeBuilderTest.cs
+System.Runtime.Remoting/ContextTest.cs
+System.Runtime.Remoting/RemotingConfigurationTest.cs
+System.Runtime.Remoting/RemotingServicesTest.cs
+System.Runtime.Remoting/SoapServicesTest.cs
+System.Runtime.Remoting/SynchronizationAttributeTest.cs
+System.Runtime.Remoting.Channels/ChannelServicesTest.cs
+System.Runtime.Remoting.Contexts/SynchronizationAttributeTest.cs
+System.Runtime.Remoting.Messaging/CallContextTest.cs
+System.Runtime.Remoting.Metadata.W3cXsd2001/SoapHexBinaryTest.cs
+System.Security.AccessControl/AuthorizationRuleTest.cs
+System.Security.AccessControl/CommonAceTest.cs
+System.Security.AccessControl/CommonAclTest.cs
+System.Security.AccessControl/CommonObjectSecurityTest.cs
+System.Security.AccessControl/CommonSecurityDescriptorTest.cs
+System.Security.AccessControl/CryptoKeyAccessRuleTest.cs
+System.Security.AccessControl/DirectoryObjectSecurityTest.cs
+System.Security.AccessControl/DirectorySecurityTest.cs
+System.Security.AccessControl/DiscretionaryAclTest.cs
+System.Security.AccessControl/EventWaitHandleSecurityTest.cs
+System.Security.AccessControl/FileSecurityTest.cs
+System.Security.AccessControl/MutexAccessRuleTest.cs
+System.Security.AccessControl/MutexSecurityTest.cs
+System.Security.AccessControl/ObjectAceTest.cs
+System.Security.AccessControl/ObjectSecurity_TTest.cs
+System.Security.AccessControl/ObjectSecurityTest.cs
+System.Security.AccessControl/RawAclTest.cs
+System.Security.AccessControl/RawSecurityDescriptorTest.cs
+System.Security.AccessControl/RegistrySecurityTest.cs
+System.Security.AccessControl/SystemAclTest.cs
+System.Security.Permissions/CodeAccessSecurityAttributeTest.cs
+System.Security.Permissions/EnvironmentPermissionAttributeTest.cs
+System.Security.Permissions/EnvironmentPermissionTest.cs
+System.Security.Permissions/FileDialogPermissionAttributeTest.cs
+System.Security.Permissions/FileDialogPermissionTest.cs
+System.Security.Permissions/FileIOPermissionAttributeTest.cs
+System.Security.Permissions/FileIOPermissionTest.cs
+System.Security.Permissions/GacIdentityPermissionAttributeTest.cs
+System.Security.Permissions/GacIdentityPermissionTest.cs
+System.Security.Permissions/HostProtectionAttributeTest.cs
+System.Security.Permissions/IBuiltInPermissionTest.cs
+System.Security.Permissions/IsolatedStorageFilePermissionAttributeTest.cs
+System.Security.Permissions/IsolatedStorageFilePermissionTest.cs
+System.Security.Permissions/IsolatedStoragePermissionAttributeTest.cs
+System.Security.Permissions/KeyContainerPermissionAttributeTest.cs
+System.Security.Permissions/PermissionSetAttributeTest.cs
+System.Security.Permissions/PrincipalPermissionAttributeTest.cs
+System.Security.Permissions/PrincipalPermissionTest.cs
+System.Security.Permissions/PublisherIdentityPermissionAttributeTest.cs
+System.Security.Permissions/PublisherIdentityPermissionTest.cs
+System.Security.Permissions/ReflectionPermissionAttributeTest.cs
+System.Security.Permissions/ReflectionPermissionTest.cs
+System.Security.Permissions/RegistryPermissionAttributeTest.cs
+System.Security.Permissions/RegistryPermissionTest.cs
+System.Security.Permissions/SecurityAttributeTest.cs
+System.Security.Permissions/SecurityPermissionAttributeTest.cs
+System.Security.Permissions/SecurityPermissionTest.cs
+System.Security.Permissions/SiteIdentityPermissionAttributeTest.cs
+System.Security.Permissions/SiteIdentityPermissionTest.cs
+System.Security.Permissions/StrongNameIdentityPermissionAttributeTest.cs
+System.Security.Permissions/StrongNameIdentityPermissionTest.cs
+System.Security.Permissions/StrongNamePublicKeyBlobTest.cs
+System.Security.Permissions/UIPermissionAttributeTest.cs
+System.Security.Permissions/UIPermissionTest.cs
+System.Security.Permissions/UrlIdentityPermissionAttributeTest.cs
+System.Security.Permissions/UrlIdentityPermissionTest.cs
+System.Security.Permissions/ZoneIdentityPermissionAttributeTest.cs
+System.Security.Permissions/ZoneIdentityPermissionTest.cs
+System.Security.Policy/AllMembershipConditionTest.cs
+System.Security.Policy/ApplicationDirectoryMembershipConditionTest.cs
+System.Security.Policy/ApplicationDirectoryTest.cs
+System.Security.Policy/ApplicationMembershipConditionTest.cs
+System.Security.Policy/ApplicationSecurityManagerCas.cs
+System.Security.Policy/ApplicationSecurityManagerTest.cs
+System.Security.Policy/ApplicationTrustTest.cs
+System.Security.Policy/CodeGroupTest.cs
+System.Security.Policy/DomainApplicationMembershipConditionTest.cs
+System.Security.Policy/EvidenceTest.cs
+System.Security.Policy/FileCodeGroupTest.cs
+System.Security.Policy/FirstMatchCodeGroupTest.cs
+System.Security.Policy/GacMembershipConditionTest.cs
+System.Security.Policy/GacTest.cs
+System.Security.Policy/HashMembershipConditionTest.cs
+System.Security.Policy/HashTest.cs
+System.Security.Policy/IBuiltInEvidenceTest.cs
+System.Security.Policy/NetCodeGroupTest.cs
+System.Security.Policy/PermissionRequestEvidenceTest.cs
+System.Security.Policy/PolicyLevelTest.cs
+System.Security.Policy/PolicyStatementTest.cs
+System.Security.Policy/PublisherMembershipConditionTest.cs
+System.Security.Policy/PublisherTest.cs
+System.Security.Policy/SiteMembershipConditionTest.cs
+System.Security.Policy/SiteTest.cs
+System.Security.Policy/StrongNameMembershipConditionTest.cs
+System.Security.Policy/StrongNameTest.cs
+System.Security.Policy/UnionCodeGroupTest.cs
+System.Security.Policy/UrlMembershipConditionTest.cs
+System.Security.Policy/UrlTest.cs
+System.Security.Policy/ZoneMembershipConditionTest.cs
+System.Security.Policy/ZoneTest.cs
diff --git a/mcs/class/corlib/mobile_static_corlib_test.dll.excludes b/mcs/class/corlib/mobile_static_corlib_test.dll.excludes
deleted file mode 100644 (file)
index eb17a10..0000000
+++ /dev/null
@@ -1,131 +0,0 @@
-Microsoft.Win32/RegistryKeyTest.cs
-System.Diagnostics.Contracts/ContractAssertTest.cs
-System.Diagnostics.Contracts/ContractAssumeTest.cs
-System.Diagnostics.Contracts/ContractCollectionMethodsTest.cs
-System.Diagnostics.Contracts/ContractHelperTest.cs
-System.Diagnostics.Contracts/ContractMarkerMethodsTest.cs
-System.Diagnostics.Contracts/ContractMustUseRewriterTest.cs
-System.Diagnostics.Contracts/Helpers/RunAgainstReferenceAttribute.cs
-System.Diagnostics.Contracts/Helpers/TestContractBase.cs
-System.Reflection.Emit/AssemblyBuilderAccessTest.cs
-System.Reflection.Emit/AssemblyBuilderTest.cs
-System.Reflection.Emit/ConstructorBuilderTest.cs
-System.Reflection.Emit/ConstructorOnTypeBuilderInstTest.cs
-System.Reflection.Emit/CustomAttributeBuilderTest.cs
-System.Reflection.Emit/DerivedTypesTest.cs
-System.Reflection.Emit/DynamicILInfoTest.cs
-System.Reflection.Emit/DynamicMethodTest.cs
-System.Reflection.Emit/EnumBuilderTest.cs
-System.Reflection.Emit/EventBuilderTest.cs
-System.Reflection.Emit/FieldBuilderTest.cs
-System.Reflection.Emit/GenericTypeParameterBuilderTest.cs
-System.Reflection.Emit/ILGeneratorTest.cs
-System.Reflection.Emit/MethodBuilderTest.cs
-System.Reflection.Emit/MethodBuilderTestIL.cs
-System.Reflection.Emit/MethodOnTypeBuilderInstTest.cs
-System.Reflection.Emit/MethodRentalCas.cs
-System.Reflection.Emit/MethodRentalTest.cs
-System.Reflection.Emit/ModuleBuilderTest.cs
-System.Reflection.Emit/ParameterBuilderTest.cs
-System.Reflection.Emit/PropertyBuilderTest.cs
-System.Reflection.Emit/SignatureHelperTest.cs
-System.Reflection.Emit/TypeBuilderTest.cs
-System.Runtime.Remoting/ContextTest.cs
-System.Runtime.Remoting/RemotingConfigurationTest.cs
-System.Runtime.Remoting/RemotingServicesTest.cs
-System.Runtime.Remoting/SoapServicesTest.cs
-System.Runtime.Remoting/SynchronizationAttributeTest.cs
-System.Runtime.Remoting.Channels/ChannelServicesTest.cs
-System.Runtime.Remoting.Contexts/SynchronizationAttributeTest.cs
-System.Runtime.Remoting.Messaging/CallContextTest.cs
-System.Runtime.Remoting.Metadata.W3cXsd2001/SoapHexBinaryTest.cs
-System.Security.AccessControl/AuthorizationRuleTest.cs
-System.Security.AccessControl/CommonAceTest.cs
-System.Security.AccessControl/CommonAclTest.cs
-System.Security.AccessControl/CommonObjectSecurityTest.cs
-System.Security.AccessControl/CommonSecurityDescriptorTest.cs
-System.Security.AccessControl/CryptoKeyAccessRuleTest.cs
-System.Security.AccessControl/DirectoryObjectSecurityTest.cs
-System.Security.AccessControl/DirectorySecurityTest.cs
-System.Security.AccessControl/DiscretionaryAclTest.cs
-System.Security.AccessControl/EventWaitHandleSecurityTest.cs
-System.Security.AccessControl/FileSecurityTest.cs
-System.Security.AccessControl/MutexAccessRuleTest.cs
-System.Security.AccessControl/MutexSecurityTest.cs
-System.Security.AccessControl/ObjectAceTest.cs
-System.Security.AccessControl/ObjectSecurity_TTest.cs
-System.Security.AccessControl/ObjectSecurityTest.cs
-System.Security.AccessControl/RawAclTest.cs
-System.Security.AccessControl/RawSecurityDescriptorTest.cs
-System.Security.AccessControl/RegistrySecurityTest.cs
-System.Security.AccessControl/SystemAclTest.cs
-System.Security.Permissions/CodeAccessSecurityAttributeTest.cs
-System.Security.Permissions/EnvironmentPermissionAttributeTest.cs
-System.Security.Permissions/EnvironmentPermissionTest.cs
-System.Security.Permissions/FileDialogPermissionAttributeTest.cs
-System.Security.Permissions/FileDialogPermissionTest.cs
-System.Security.Permissions/FileIOPermissionAttributeTest.cs
-System.Security.Permissions/FileIOPermissionTest.cs
-System.Security.Permissions/GacIdentityPermissionAttributeTest.cs
-System.Security.Permissions/GacIdentityPermissionTest.cs
-System.Security.Permissions/HostProtectionAttributeTest.cs
-System.Security.Permissions/IBuiltInPermissionTest.cs
-System.Security.Permissions/IsolatedStorageFilePermissionAttributeTest.cs
-System.Security.Permissions/IsolatedStorageFilePermissionTest.cs
-System.Security.Permissions/IsolatedStoragePermissionAttributeTest.cs
-System.Security.Permissions/KeyContainerPermissionAttributeTest.cs
-System.Security.Permissions/PermissionSetAttributeTest.cs
-System.Security.Permissions/PrincipalPermissionAttributeTest.cs
-System.Security.Permissions/PrincipalPermissionTest.cs
-System.Security.Permissions/PublisherIdentityPermissionAttributeTest.cs
-System.Security.Permissions/PublisherIdentityPermissionTest.cs
-System.Security.Permissions/ReflectionPermissionAttributeTest.cs
-System.Security.Permissions/ReflectionPermissionTest.cs
-System.Security.Permissions/RegistryPermissionAttributeTest.cs
-System.Security.Permissions/RegistryPermissionTest.cs
-System.Security.Permissions/SecurityAttributeTest.cs
-System.Security.Permissions/SecurityPermissionAttributeTest.cs
-System.Security.Permissions/SecurityPermissionTest.cs
-System.Security.Permissions/SiteIdentityPermissionAttributeTest.cs
-System.Security.Permissions/SiteIdentityPermissionTest.cs
-System.Security.Permissions/StrongNameIdentityPermissionAttributeTest.cs
-System.Security.Permissions/StrongNameIdentityPermissionTest.cs
-System.Security.Permissions/StrongNamePublicKeyBlobTest.cs
-System.Security.Permissions/UIPermissionAttributeTest.cs
-System.Security.Permissions/UIPermissionTest.cs
-System.Security.Permissions/UrlIdentityPermissionAttributeTest.cs
-System.Security.Permissions/UrlIdentityPermissionTest.cs
-System.Security.Permissions/ZoneIdentityPermissionAttributeTest.cs
-System.Security.Permissions/ZoneIdentityPermissionTest.cs
-System.Security.Policy/AllMembershipConditionTest.cs
-System.Security.Policy/ApplicationDirectoryMembershipConditionTest.cs
-System.Security.Policy/ApplicationDirectoryTest.cs
-System.Security.Policy/ApplicationMembershipConditionTest.cs
-System.Security.Policy/ApplicationSecurityManagerCas.cs
-System.Security.Policy/ApplicationSecurityManagerTest.cs
-System.Security.Policy/ApplicationTrustTest.cs
-System.Security.Policy/CodeGroupTest.cs
-System.Security.Policy/DomainApplicationMembershipConditionTest.cs
-System.Security.Policy/EvidenceTest.cs
-System.Security.Policy/FileCodeGroupTest.cs
-System.Security.Policy/FirstMatchCodeGroupTest.cs
-System.Security.Policy/GacMembershipConditionTest.cs
-System.Security.Policy/GacTest.cs
-System.Security.Policy/HashMembershipConditionTest.cs
-System.Security.Policy/HashTest.cs
-System.Security.Policy/IBuiltInEvidenceTest.cs
-System.Security.Policy/NetCodeGroupTest.cs
-System.Security.Policy/PermissionRequestEvidenceTest.cs
-System.Security.Policy/PolicyLevelTest.cs
-System.Security.Policy/PolicyStatementTest.cs
-System.Security.Policy/PublisherMembershipConditionTest.cs
-System.Security.Policy/PublisherTest.cs
-System.Security.Policy/SiteMembershipConditionTest.cs
-System.Security.Policy/SiteTest.cs
-System.Security.Policy/StrongNameMembershipConditionTest.cs
-System.Security.Policy/StrongNameTest.cs
-System.Security.Policy/UnionCodeGroupTest.cs
-System.Security.Policy/UrlMembershipConditionTest.cs
-System.Security.Policy/UrlTest.cs
-System.Security.Policy/ZoneMembershipConditionTest.cs
-System.Security.Policy/ZoneTest.cs
diff --git a/mcs/class/corlib/monodroid_corlib_test.dll.exclude.sources b/mcs/class/corlib/monodroid_corlib_test.dll.exclude.sources
new file mode 100644 (file)
index 0000000..48e7f04
--- /dev/null
@@ -0,0 +1,53 @@
+#include monodroid_corlib_test.dll.new-exclude.sources
+Microsoft.Win32/RegistryKeyTest.cs
+System/ActivatorCas.cs
+System/AppDomainCas.cs
+System/BadImageFormatExceptionCas.cs
+System/ConsoleCas.cs
+System.Diagnostics/StackFrameCas.cs
+System.Diagnostics/StackTraceCas.cs
+System/EnvironmentCas.cs
+System/ExceptionCas.cs
+System.IO/DirectoryCas.cs
+System.IO/FileLoadExceptionCas.cs
+System.IO/FileNotFoundExceptionCas.cs
+System.IO/FileStreamCas.cs
+System.IO.IsolatedStorage/IsolatedStorageFileCas.cs
+System.IO.IsolatedStorage/IsolatedStorageFileStreamCas.cs
+System.IO/PathCas.cs
+System.IO/StreamCas.cs
+System/MarshalByRefObjectCas.cs
+System.Reflection/AssemblyCas.cs
+System.Reflection/AssemblyNameCas.cs
+System.Reflection.Emit/MethodRentalCas.cs
+System.Reflection/ModuleCas.cs
+System.Reflection/StrongNameKeyPairCas.cs
+System.Reflection/VisibilityTest.cs
+System.Resources/ResourceReaderCas.cs
+System.Resources/ResourceSetCas.cs
+System.Runtime.CompilerServices/RuntimeWrappedExceptionCas.cs
+System.Runtime.InteropServices/RuntimeEnvironmentCas.cs
+System/RuntimeMethodHandleCas.cs
+System.Runtime.Serialization.Formatters.Binary/BinaryFormatterCas.cs
+System.Runtime.Versioning/ResourceConsumptionAttributeCas.cs
+System.Runtime.Versioning/ResourceExposureAttributeCas.cs
+System.Runtime.Versioning/VersioningHelperCas.cs
+System.Security.AccessControl/DirectorySecurityTest.cs
+System.Security.AccessControl/EventWaitHandleSecurityTest.cs
+System.Security.AccessControl/FileSecurityTest.cs
+System.Security/CodeAccessPermissionCas.cs
+System.Security.Cryptography/CryptoAPITransformCas.cs
+System.Security.Cryptography/CryptoConfigCas.cs
+System.Security.Cryptography.X509Certificates/X509CertificateCas.cs
+System.Security/PermissionSetCas.cs
+System.Security.Policy/ApplicationSecurityManagerCas.cs
+System.Security/SecureStringCas.cs
+System.Security/SecurityContextCas.cs
+System.Security/SecurityExceptionCas.cs
+System.Security/SecurityManagerCas.cs
+System.Threading/CompressedStackCas.cs
+System.Threading/ExecutionContextCas.cs
+System.Threading/MutexCas.cs
+System.Threading/ThreadCas.cs
+System.Threading/WaitHandleCas.cs
+System/TypedReferenceCas.cs
diff --git a/mcs/class/corlib/monodroid_corlib_test.dll.new-exclude.sources b/mcs/class/corlib/monodroid_corlib_test.dll.new-exclude.sources
new file mode 100644 (file)
index 0000000..90b0082
--- /dev/null
@@ -0,0 +1,28 @@
+System/DateTimeOffsetTestCoreFx.cs
+System.Diagnostics.Contracts/ContractAssertTest.cs
+System.Diagnostics.Contracts/ContractCollectionMethodsTest.cs
+System.Diagnostics.Contracts/ContractHelperTest.cs
+System.Diagnostics.Contracts/ContractMustUseRewriterTest.cs
+System.IO/DirectoryTest.cs
+System.Reflection.Emit/MethodBuilderTestIL.cs
+System.Security.AccessControl/AuthorizationRuleTest.cs
+System.Security.AccessControl/CommonAceTest.cs
+System.Security.AccessControl/CommonAclTest.cs
+System.Security.AccessControl/CommonObjectSecurityTest.cs
+System.Security.AccessControl/CommonSecurityDescriptorTest.cs
+System.Security.AccessControl/CryptoKeyAccessRuleTest.cs
+System.Security.AccessControl/DirectoryObjectSecurityTest.cs
+System.Security.AccessControl/DiscretionaryAclTest.cs
+System.Security.AccessControl/MutexAccessRuleTest.cs
+System.Security.AccessControl/MutexSecurityTest.cs
+System.Security.AccessControl/ObjectAceTest.cs
+System.Security.AccessControl/ObjectSecurityTest.cs
+System.Security.AccessControl/ObjectSecurity_TTest.cs
+System.Security.AccessControl/RawAclTest.cs
+System.Security.AccessControl/RawSecurityDescriptorTest.cs
+System.Security.AccessControl/RegistrySecurityTest.cs
+System.Security.AccessControl/SystemAclTest.cs
+System.Security.Claims/ClaimsIdentityTest.cs
+System.Security.Claims/ClaimsPrincipalTest.cs
+System.Security/CodeAccessPermissionTest.cs
+System/TimeZoneTest.cs
diff --git a/mcs/class/corlib/monodroid_corlib_test.dll.sources b/mcs/class/corlib/monodroid_corlib_test.dll.sources
new file mode 100644 (file)
index 0000000..011effe
--- /dev/null
@@ -0,0 +1 @@
+#include corlib_test.dll.sources
index 00b8965193ab03510d13d0363c8d049d70b44a1a..114d68896c5a6de9edfadb80ac938174fc1c6f42 100644 (file)
@@ -9,6 +9,7 @@
     <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
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \r
   </Target>\r
   -->\r
   <PropertyGroup>\r
-    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+$(ProjectDir)\..\..\jay\jay -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Monodoc.Ecma\EcmaUrlParser.jay > $(ProjectDir)\Monodoc.Ecma\EcmaUrlParser.cs
+
+
     </PreBuildEvent>\r
     <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+$(ProjectDir)\..\..\jay\jay -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Monodoc.Ecma\EcmaUrlParser.jay > $(ProjectDir)\Monodoc.Ecma\EcmaUrlParser.cs
+
 \r
     </PreBuildEvent>\r
-\r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
-\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
index 6938ce280f6ea9405ff25143a7b96177a50c076b..8aaea747afdf79cf6b6d60efdfdd31ea8408f805 100644 (file)
@@ -166,15 +166,19 @@ namespace System.ComponentModel.Design {
                     else if(!resourceAssembly.IsDynamic) { // EscapedCodeBase won't be supported by emitted assemblies anyway
                         Debug.WriteLineIf(RuntimeLicenseContextSwitch.TraceVerbose,"resourceAssembly is not null");
                         string fileName;
+#if !DISABLE_CAS_USE
                         FileIOPermission perm = new FileIOPermission(PermissionState.Unrestricted);
                         perm.Assert();
+#endif
                         try
                         {
                             fileName = GetLocalPath(resourceAssembly.EscapedCodeBase);
                         }
                         finally
                         {
+#if !DISABLE_CAS_USE
                             CodeAccessPermission.RevertAssert();
+#endif
                         }
                         fileName = Path.GetFileName(fileName); // we don't want to use FileInfo here... it requests FileIOPermission that we
                         // might now have... see VSWhidbey 527758
index d1927650d7f655b549f9d0143578694722d4d241..198f982db9c73f74a80beb4919dd0311dbfb230d 100644 (file)
@@ -101,11 +101,15 @@ using System.Configuration;
             {
                 if (s_CacheConfigSettings == null)
                 {
+#if MONO
+                    var settings = new RequestCachingSectionInternal();
+#else
                     RequestCachingSectionInternal settings = RequestCachingSectionInternal.GetSection();
 
                     s_DefaultGlobalBinding = new RequestCacheBinding (settings.DefaultCache, settings.DefaultHttpValidator, settings.DefaultCachePolicy);
                     s_DefaultHttpBinding = new RequestCacheBinding (settings.DefaultCache, settings.DefaultHttpValidator, settings.DefaultHttpCachePolicy);
                     s_DefaultFtpBinding = new RequestCacheBinding (settings.DefaultCache, settings.DefaultFtpValidator, settings.DefaultFtpCachePolicy);
+#endif
 
                     s_CacheConfigSettings = settings;
                 }
@@ -113,6 +117,22 @@ using System.Configuration;
         }
     }
 
+#if MONO
+    class RequestCacheValidator
+    {
+        public object CreateValidator ()
+        {
+            throw new NotImplementedException ();
+        }
+    }
+
+    class RequestCachingSectionInternal
+    {
+        // TODO: Implement
+        public readonly bool DisableAllCaching = true;
+    }
+#endif
+
     //
     //
     internal class RequestCacheBinding  {
index 13b735ef54e69e2dd038e17d30d4b352a4943e9b..cee3b6b2eb85a755c5891f1878b577424263d1ae 100644 (file)
@@ -17,7 +17,7 @@ namespace System.Net.Configuration
     using System.Security.Principal;
     using System.ComponentModel;
 
-
+#if !MONO
     public sealed class DefaultProxySection : ConfigurationSection
     {
         public DefaultProxySection()
@@ -134,9 +134,10 @@ namespace System.Net.Configuration
             base.Reset(defaultElement);
         }
     }
-
+#endif
     internal sealed class DefaultProxySectionInternal
     {
+#if !MONO
         [SecurityPermission(SecurityAction.Assert, Flags=SecurityPermissionFlag.ControlPrincipal)]
         internal DefaultProxySectionInternal(DefaultProxySection section)
         {
@@ -274,6 +275,50 @@ namespace System.Net.Configuration
                 this.webProxy.Credentials = SystemNetworkCredential.defaultCredential;
             }
         }
+#else
+
+        static IWebProxy GetDefaultProxy_UsingOldMonoCode()
+        {
+#if CONFIGURATION_DEP
+            DefaultProxySection sec = ConfigurationManager.GetSection ("system.net/defaultProxy") as DefaultProxySection;
+            WebProxy p;
+            
+            if (sec == null)
+                return GetSystemWebProxy ();
+            
+            ProxyElement pe = sec.Proxy;
+            
+            if ((pe.UseSystemDefault != ProxyElement.UseSystemDefaultValues.False) && (pe.ProxyAddress == null)) {
+                IWebProxy proxy = GetSystemWebProxy ();
+                
+                if (!(proxy is WebProxy))
+                    return proxy;
+                
+                p = (WebProxy) proxy;
+            } else
+                p = new WebProxy ();
+            
+            if (pe.ProxyAddress != null)
+                p.Address = pe.ProxyAddress;
+            
+            if (pe.BypassOnLocal != ProxyElement.BypassOnLocalValues.Unspecified)
+                p.BypassProxyOnLocal = (pe.BypassOnLocal == ProxyElement.BypassOnLocalValues.True);
+                
+            foreach(BypassElement elem in sec.BypassList)
+                p.BypassArrayList.Add(elem.Address);
+            
+            return p;
+#else
+            return GetSystemWebProxy ();
+#endif
+        }
+
+        static IWebProxy GetSystemWebProxy()
+        {
+            return System.Net.WebProxy.CreateDefaultProxy ();
+        }
+
+#endif
 
         internal static object ClassSyncObject
         {
@@ -292,6 +337,11 @@ namespace System.Net.Configuration
         {
             lock (DefaultProxySectionInternal.ClassSyncObject)
             {
+#if MONO
+                var res = new DefaultProxySectionInternal();
+                res.webProxy = GetDefaultProxy_UsingOldMonoCode ();
+                return res;
+#else
                 DefaultProxySection section = PrivilegedConfigurationManager.GetSection(ConfigurationStrings.DefaultProxySectionPath) as DefaultProxySection;
                 if (section == null)
                     return null;
@@ -306,6 +356,7 @@ namespace System.Net.Configuration
 
                     throw new ConfigurationErrorsException(SR.GetString(SR.net_config_proxy), exception);
                 }
+#endif
             }
         }
 
index 0df18d001be64a92f9fb759b5f5837e3e05b53c8..d405ca3f657cead1e92f6d19d15248f07e0edd43 100644 (file)
@@ -302,7 +302,9 @@ namespace System.Net {
             get {
                 //This check will not allow to use local user credentials at will.
                 //Hence the username will not be exposed to the network
+#if !DISABLE_CAS_USE
                 new EnvironmentPermission(EnvironmentPermissionAccess.Read, "USERNAME").Demand();
+#endif
                 return SystemNetworkCredential.defaultCredential;
             }
         }
@@ -311,7 +313,9 @@ namespace System.Net {
             get {
                 //This check will not allow to use local user credentials at will.
                 //Hence the username will not be exposed to the network
+#if !DISABLE_CAS_USE
                 new EnvironmentPermission(EnvironmentPermissionAccess.Read, "USERNAME").Demand();
+#endif
                 return SystemNetworkCredential.defaultCredential;
             }
         }
index 10dc8ecfd041a6d45227801b00f950d7217d8ad2..99e10caeaa1084dc04139ada3160e32697f25ead 100644 (file)
@@ -24,6 +24,7 @@ namespace System.Net {
     using System.Net.NetworkInformation;
     using System.Runtime.Serialization;
     using Microsoft.Win32;
+    using System.Collections.Generic;
 
     internal static class IntPtrHelper {
         /*
@@ -142,7 +143,9 @@ namespace System.Net {
 
         private static void DemandCallback(object state)
         {
+#if !DISABLE_CAS_USE
             ((CodeAccessPermission) state).Demand();
+#endif
         }
 
         // This is for checking if a hostname probably refers to this machine without going to DNS.
@@ -172,7 +175,6 @@ namespace System.Net {
         private static volatile IPAddress[] _LocalAddresses;
         private static object _LocalAddressesLock;
 
-#if MONO_NOT_IMPLEMENTED
 #if !FEATURE_PAL
 
         private static volatile NetworkAddressChangePolled s_AddressChange;
@@ -285,6 +287,19 @@ namespace System.Net {
         }
 
 #else // !FEATURE_PAL
+
+        internal static bool IsAddressLocal(IPAddress ipAddress) {
+            IPAddress[] localAddresses = NclUtilities.LocalAddresses;
+            for (int i = 0; i < localAddresses.Length; i++)
+            {
+                if (ipAddress.Equals(localAddresses[i], false))
+                {
+                    return true;
+                }
+            }
+            return false;
+        }
+
         private const int HostNameBufferLength = 256;
         internal static string _LocalDomainName;
 
@@ -293,6 +308,9 @@ namespace System.Net {
         //
         private static IPHostEntry GetLocalHost()
         {
+#if MONO
+            return Dns.GetHostByName (Dns.GetHostName ());
+#else
             //
             // IPv6 Changes: If IPv6 is enabled, we can't simply use the
             //               old IPv4 gethostbyname(null). Instead we need
@@ -335,6 +353,7 @@ namespace System.Net {
 
                 return Dns.NativeToHostEntry(nativePointer);
             }
+#endif
 
         } // GetLocalHost
 
@@ -400,7 +419,6 @@ namespace System.Net {
             }
         }
 #endif // !FEATURE_PAL
-#endif
 
         private static object LocalAddressesLock
         {
index 5f594fdd2cf4b770c4c169802eb739d7e6718468..9fbc8b428b32bfe951fbf2d1f89cb839eb924374 100644 (file)
@@ -8,7 +8,9 @@ namespace System.Net.NetworkInformation
     {
         /// Returns objects that describe the network interfaces on the local computer.
         public static NetworkInterface[] GetAllNetworkInterfaces(){
+#if !DISABLE_CAS_USE
             (new NetworkInformationPermission(NetworkInformationAccess.Read)).Demand();
+#endif
             return SystemNetworkInterface.GetNetworkInterfaces();
         }
 
index 7f71c4ba8a9ced6e7eb6529f75ba36d20569829f..bc5f6484d5d149999c471b31faa6597629d56dac 100644 (file)
@@ -93,7 +93,9 @@ namespace System.Net {
                 return m_BindIPEndPointDelegate;
             }
             set {
+#if !DISABLE_CAS_USE
                 ExceptionHelper.InfrastructurePermission.Demand();
+#endif
                 m_BindIPEndPointDelegate = value;
             }
         }
@@ -458,11 +460,13 @@ namespace System.Net {
                     throw new NotSupportedException(SR.GetString(SR.net_servicePointAddressNotSupportedInHostMode));
                 }
 
+#if !DISABLE_CAS_USE
                 // Don't let low-trust apps discover the proxy information.
                 if (m_ProxyServicePoint)
                 {
                     ExceptionHelper.WebPermissionUnrestricted.Demand();
                 }
+#endif
 
                 return m_Address;
             }
index 1135be0891ca83a298461452d401ac4bb9d550f3..8567a6861f23536a6ae894576ebfb6a071ceb293 100644 (file)
@@ -4,6 +4,9 @@
 // </copyright>
 //------------------------------------------------------------------------------
 
+#if MONO
+#undef FEATURE_PAL
+#endif
 namespace System.Net {
     using System.Collections;
     using System.Collections.Generic;
@@ -53,6 +56,7 @@ namespace System.Net {
         private  AuthenticationLevel m_AuthenticationLevel;
         private  TokenImpersonationLevel m_ImpersonationLevel;
 #endif
+
         private RequestCachePolicy      m_CachePolicy;
         private RequestCacheProtocol    m_CacheProtocol;
         private RequestCacheBinding     m_CacheBinding;
@@ -361,7 +365,9 @@ namespace System.Net {
                 throw new ArgumentNullException("creator");
             }
 
+#if !DISABLE_CAS_USE
             ExceptionHelper.WebPermissionUnrestricted.Demand();
+#endif
 
             // Lock this object, then walk down PrefixList looking for a place to
             // to insert this prefix.
@@ -523,7 +529,11 @@ namespace System.Net {
                     lock (InternalSyncObject) {
                         if (s_PrefixList == null) {
                             GlobalLog.Print("WebRequest::Initialize(): calling ConfigurationManager.GetSection()");
+#if MONO
+                            s_PrefixList = PopulatePrefixList ();
+#else
                             s_PrefixList = WebRequestModulesSectionInternal.GetSection().WebRequestModules;
+#endif
                         }
                     }
                 }
@@ -535,6 +545,30 @@ namespace System.Net {
             }
         }
 
+#if MONO
+        static ArrayList PopulatePrefixList ()
+        {
+            var res = new ArrayList();
+
+#if MOBILE || !CONFIGURATION_DEP
+            IWebRequestCreate http = new HttpRequestCreator ();
+            res.Add(new WebRequestPrefixElement("http", http));
+            res.Add(new WebRequestPrefixElement("https", http));
+            res.Add(new WebRequestPrefixElement("file", new FileWebRequestCreator ()));
+            res.Add(new WebRequestPrefixElement("ftp", new FtpRequestCreator ()));
+#else
+            object cfg = ConfigurationManager.GetSection ("system.net/webRequestModules");
+            WebRequestModulesSection s = cfg as WebRequestModulesSection;
+            if (s != null) {
+                foreach (WebRequestModuleElement el in s.WebRequestModules)
+                    res.Add (new WebRequestPrefixElement(el.Prefix, el.Type));
+            }
+#endif
+            return res;
+        }
+#endif
+
+
         // constructors
 
         /// <devdoc>
@@ -588,8 +622,10 @@ namespace System.Net {
                 return RequestCacheManager.GetBinding(string.Empty).Policy;
             }
             set {
+#if !DISABLE_CAS_USE
                 // This is a replacement of RequestCachePermission demand since we are not including the latest in the product.
                 ExceptionHelper.WebPermissionUnrestricted.Demand();
+#endif
 
                 RequestCacheBinding binding = RequestCacheManager.GetBinding(string.Empty);
                 RequestCacheManager.SetBinding(string.Empty, new RequestCacheBinding(binding.Cache, binding.Validator, value));
@@ -975,7 +1011,7 @@ namespace System.Net {
             }
         }
 
-
+#if !MONO
         // Methods to retrieve the context of the "reading phase" and of the "writing phase" of the request.
         // Each request type can define what goes into what phase.  Typically, the writing phase corresponds to
         // GetRequestStream() and the reading phase to GetResponse(), but if there's no request body, both phases
@@ -996,7 +1032,7 @@ namespace System.Net {
         {
             throw ExceptionHelper.MethodNotImplementedException;
         }
-
+#endif
 
         //
         //
@@ -1072,13 +1108,17 @@ namespace System.Net {
         {
             get
             {
+#if !DISABLE_CAS_USE
                 ExceptionHelper.WebPermissionUnrestricted.Demand();
+#endif
                 return InternalDefaultWebProxy;
             }
 
             set
             {
+#if !DISABLE_CAS_USE
                 ExceptionHelper.WebPermissionUnrestricted.Demand();
+#endif
                 InternalDefaultWebProxy = value;
             }
         }
@@ -1088,13 +1128,20 @@ namespace System.Net {
         //
         public static IWebProxy GetSystemWebProxy()
         {
+#if !DISABLE_CAS_USE
             ExceptionHelper.WebPermissionUnrestricted.Demand();
+#endif
             return InternalGetSystemWebProxy();
         }
 
         internal static IWebProxy InternalGetSystemWebProxy()
         {
+#if MONO
+            // FIXME: Need to break mobile internal API
+            return WebProxy.CreateDefaultProxy();
+#else
             return new WebProxyWrapperOpaque(new WebProxy(true));
+#endif
         }
 
         //
@@ -1162,7 +1209,7 @@ namespace System.Net {
             }
         }
 
-
+#if !MONO
         //
         internal void SetupCacheProtocol(Uri uri)
         {
@@ -1242,5 +1289,6 @@ namespace System.Net {
                 s_EtwFireEndGetRequestStream(this, success, synchronous);
             }
         }
+#endif
     } // class WebRequest
 } // namespace System.Net
index 4d289ac7bc974be051af38c24b23102e412ac5a3..0365206cf5fb0949bdd7a36532f5726277e84b37 100644 (file)
@@ -20,8 +20,13 @@ namespace System.Net
     {
         internal Semaphore(int initialCount, int maxCount) : base() {
             lock (this) {
+#if MONO
+                int errorCode;
+                Handle = System.Threading.Semaphore.CreateSemaphore_internal(initialCount, maxCount, null, out errorCode);
+#else
                 // 
                 Handle = UnsafeNclNativeMethods.CreateSemaphore(IntPtr.Zero, initialCount, maxCount, IntPtr.Zero);
+#endif
             }
         }
 
@@ -36,14 +41,19 @@ namespace System.Net
 */
 
         internal bool ReleaseSemaphore() {
-#if DEBUG        
+#if MONO
+            int previousCount;
+            return System.Threading.Semaphore.ReleaseSemaphore_internal (Handle, 1, out previousCount);
+#else
+#if DEBUG
             int previousCount;
             bool success = UnsafeNclNativeMethods.ReleaseSemaphore(Handle, 1, out previousCount);        
             GlobalLog.Print("ReleaseSemaphore#"+ValidationHelper.HashString(this)+" success:"+success+" previousCount:"+previousCount.ToString());
             return success;
 #else            
             return UnsafeNclNativeMethods.ReleaseSemaphore(Handle, 1, IntPtr.Zero);
-#endif            
+#endif
+#endif
         }
 
         /*
index 059e88d5bcde16c8e502e603def82720c600ed11..c75a7136694cc52e0e2a78f7a3675fb631d843df 100644 (file)
@@ -182,7 +182,9 @@ namespace System.Net {
 
         static TimerThread() {
             s_ThreadEvents = new WaitHandle[] { s_ThreadShutdownEvent, s_ThreadReadyEvent };
+#if MONO_FEATURE_MULTIPLE_APPDOMAINS
             AppDomain.CurrentDomain.DomainUnload += new EventHandler(OnDomainUnload);
+#endif
         }
 
         /// <summary>
index ca05e1355e561793915794b0bdb735542ee2df37..dc7fdb26301b4cf69be900eb6bfd5857bb92cb6c 100644 (file)
@@ -414,7 +414,9 @@ namespace System.Net {
         /// </devdoc>
         [Obsolete("This method has been deprecated. Please use the proxy selected for you by default. http://go.microsoft.com/fwlink/?linkid=14202")]
         public static WebProxy GetDefaultProxy() {
+#if !DISABLE_CAS_USE
             ExceptionHelper.WebPermissionUnrestricted.Demand();
+#endif
             return new WebProxy(true);
         }
 
@@ -435,7 +437,9 @@ namespace System.Net {
             if (useRegistry) {
                 // just make the proxy advanced, don't populate with any settings
                 // note - this will happen in the context of the user performing the deserialization (their proxy settings get read)
+#if !DISABLE_CAS_USE
                 ExceptionHelper.WebPermissionUnrestricted.Demand();
+#endif
                 UnsafeUpdateFromRegistry();
                 return;
             }
@@ -497,6 +501,28 @@ namespace System.Net {
             }
         }
 
+#if MONO
+        public static IWebProxy CreateDefaultProxy ()
+        {
+#if MONOTOUCH
+            return Mono.Net.CFNetwork.GetDefaultProxy ();
+#elif MONODROID
+            // Return the system web proxy.  This only works for ICS+.
+            var data = AndroidPlatform.GetDefaultProxy ();
+            if (data != null)
+                return data;
+#else
+            if (Platform.IsMacOS) {
+                var data = Mono.Net.CFNetwork.GetDefaultProxy ();
+                if (data != null)
+                    return data;
+            }
+#endif
+
+            return new WebProxy (true);
+        }
+#endif
+
         // This constructor is used internally to make WebProxies that read their state from the registry.
         // 
         internal WebProxy(bool enableAutoproxy)
@@ -515,7 +541,7 @@ namespace System.Net {
         internal void UnsafeUpdateFromRegistry() {
             GlobalLog.Assert(!_UseRegistry, "WebProxy#{0}::UnsafeUpdateFromRegistry()|_UseRegistry ScriptEngine#{1}", ValidationHelper.HashString(this), ValidationHelper.HashString(m_ScriptEngine));
             _UseRegistry = true;
-#if !FEATURE_PAL
+#if !FEATURE_PAL || !MOBILE
             ScriptEngine = new AutoWebProxyScriptEngine(this, true);
             WebProxyData webProxyData = ScriptEngine.GetWebProxyData();
 
index 69fcc04a1eafc1b79bb484f7ad806712e6adc5a2..df2d72e1f830bd7cc0a9e1dabf166261c089e47d 100644 (file)
@@ -172,7 +172,9 @@ namespace System.Text.RegularExpressions {
 #endif
             }
             finally {
+#if !DISABLE_CAS_USE 
                 CodeAccessPermission.RevertAssert();
+#endif
             }
         }
 
@@ -202,7 +204,9 @@ namespace System.Text.RegularExpressions {
                 factory = c.FactoryInstanceFromCode(code, options);
             }
             finally {
+#if !DISABLE_CAS_USE
                 CodeAccessPermission.RevertAssert();
+#endif
             }
             return factory;
         }
@@ -243,7 +247,9 @@ namespace System.Text.RegularExpressions {
                     c.GenerateRegexType(pattern, options, fullname, regexes[i].IsPublic, code, tree, factory, mTimeout);
                 }
                 finally {
+#if !DISABLE_CAS_USE
                     CodeAccessPermission.RevertAssert();
+#endif
                 }
             }
         
@@ -3081,7 +3087,9 @@ namespace System.Text.RegularExpressions {
                 }
             }
             finally {
+#if !DISABLE_CAS_USE
                 CodeAccessPermission.RevertAssert();
+#endif
             }
         }
 
index 4d181e8c220ef641b32877061806d212cd3454a4..973773d29467b190eb5bc811cf07ab5f8f843ee4 100644 (file)
@@ -34,6 +34,7 @@ namespace System.IO.Ports
 #endif
         internal static String GetMessage(int errorCode) 
         {
+#if !MONO
             StringBuilder sb = new StringBuilder(512);
             int result = SafeNativeMethods.FormatMessage(NativeMethods.FORMAT_MESSAGE_IGNORE_INSERTS |
                 NativeMethods.FORMAT_MESSAGE_FROM_SYSTEM | NativeMethods.FORMAT_MESSAGE_ARGUMENT_ARRAY,
@@ -47,6 +48,7 @@ namespace System.IO.Ports
                 return s;
             }
             else 
+#endif
             {
                 return SR.GetString(SR.IO_UnknownError, errorCode);
             }
index 9a77cc0a64c37fb9de42a1f2f129bfefeb83a55a..360a55fa534abd5beff1d34fff8ac7d2a233e1c9 100644 (file)
@@ -1,3 +1,6 @@
+#if MONO
+#undef FEATURE_PAL
+#endif
 // ==++==
 // 
 //   Copyright (c) Microsoft Corporation.  All rights reserved.
@@ -21,6 +24,7 @@ namespace System.Threading
 #endif
     using System.Runtime.Versioning;
     using System.Runtime.ConstrainedExecution;
+    using System.Runtime.CompilerServices;
 
 
     [HostProtection(Synchronization=true, ExternalThreading=true)]
@@ -66,11 +70,19 @@ namespace System.Threading
             {
                 throw new ArgumentException(SR.GetString(SR.Argument_WaitHandleNameTooLong));
             }
+
+#if MONO
+            int errorCode;
+            var myHandle = new SafeWaitHandle (CreateSemaphore_internal (initialCount, maximumCount, name, out errorCode), true);
+#else
             SafeWaitHandle   myHandle = SafeNativeMethods.CreateSemaphore(null, initialCount, maximumCount, name);
+#endif
             
             if (myHandle.IsInvalid)
             {
+#if !MONO
                 int errorCode = Marshal.GetLastWin32Error(); 
+#endif
 
                 if(null != name && 0 != name.Length && NativeMethods.ERROR_INVALID_HANDLE == errorCode)
                     throw new WaitHandleCannotBeOpenedException(SR.GetString(SR.WaitHandleCannotBeOpenedException_InvalidHandle,name));
@@ -119,6 +131,11 @@ namespace System.Threading
                 throw new ArgumentException(SR.GetString(SR.Argument_WaitHandleNameTooLong));
             }
             SafeWaitHandle   myHandle;
+
+#if MONO
+            int errorCode;
+            myHandle = new SafeWaitHandle (CreateSemaphore_internal (initialCount, maximumCount, name, out errorCode), true);
+#else
 #if !FEATURE_PAL && !FEATURE_NETCORE
             // For ACL's, get the security descriptor from the SemaphoreSecurity.
             if (semaphoreSecurity != null) {
@@ -137,7 +154,9 @@ namespace System.Threading
 #if !FEATURE_PAL && !FEATURE_NETCORE
             }
 #endif
+
             int errorCode = Marshal.GetLastWin32Error();
+#endif
             if (myHandle.IsInvalid)
             {
                 if(null != name && 0 != name.Length && NativeMethods.ERROR_INVALID_HANDLE == errorCode)
@@ -259,7 +278,14 @@ namespace System.Threading
             }
 
             result = null;
+#if MOBILE
+            throw new NotSupportedException ();
+#else
 
+#if MONO
+            int errorCode;
+            var myHandle = new SafeWaitHandle (OpenSemaphore_internal (name, rights, out errorCode), true);
+#else
             //Pass false to OpenSemaphore to prevent inheritedHandles
 #if FEATURE_PAL || FEATURE_NETCORE
             const int SYNCHRONIZE            = 0x00100000;
@@ -268,11 +294,14 @@ namespace System.Threading
             SafeWaitHandle myHandle = SafeNativeMethods.OpenSemaphore(SEMAPHORE_MODIFY_STATE | SYNCHRONIZE, false, name);
 #else
             SafeWaitHandle myHandle = SafeNativeMethods.OpenSemaphore((int) rights, false, name);
+#endif
 #endif
             
             if (myHandle.IsInvalid)
             {
+#if !MONO
                 int errorCode = Marshal.GetLastWin32Error();
+#endif
 
                 if (NativeMethods.ERROR_FILE_NOT_FOUND == errorCode || NativeMethods.ERROR_INVALID_NAME == errorCode)
                     return OpenExistingResult.NameNotFound;
@@ -285,6 +314,7 @@ namespace System.Threading
             }
             result = new Semaphore(myHandle);
             return OpenExistingResult.Success;
+#endif
         }
 
 
@@ -318,7 +348,11 @@ namespace System.Threading
             //   the semaphore's count to exceed the maximum count set when Semaphore was created
             //Non-Zero return 
 
+#if MONO
+            if (!ReleaseSemaphore_internal(Handle, releaseCount, out previousCount))
+#else
             if (!SafeNativeMethods.ReleaseSemaphore(SafeWaitHandle, releaseCount, out previousCount))
+#endif
             {
                 throw new SemaphoreFullException();
             }
@@ -342,6 +376,19 @@ namespace System.Threading
             semaphoreSecurity.Persist(SafeWaitHandle);
         }
 #endif
+
+#if MONO
+        [MethodImplAttribute(MethodImplOptions.InternalCall)]
+        internal static extern IntPtr CreateSemaphore_internal (
+            int initialCount, int maximumCount, string name, out int errorCode);
+
+        [MethodImplAttribute(MethodImplOptions.InternalCall)]
+        internal static extern bool ReleaseSemaphore_internal (
+            IntPtr handle, int releaseCount, out int previousCount);
+
+        [MethodImplAttribute (MethodImplOptions.InternalCall)]
+        private static extern IntPtr OpenSemaphore_internal (string name, SemaphoreRights rights, out int errorCode);
+#endif
     }
 }
 
index 6f5e71e5eefde5f2c6a02b2b3c3a1c0952f226e9..f3cd61e2702157660b2e4507680d7e91da8e817d 100644 (file)
@@ -989,6 +989,7 @@ namespace System {
         [System.Security.SecurityCritical]  // auto-generated
         internal virtual String InternalToString()
         {
+#if !DISABLE_CAS_USE
             try 
             {
 #pragma warning disable 618
@@ -1001,6 +1002,7 @@ namespace System {
                 //under normal conditions there should be no exceptions
                 //however if something wrong happens we still can call the usual ToString
             }
+#endif
 
             // Get the current stack trace string.  On CoreCLR we don't bother
             // to try and include file/line-number information because all AppDomains
index 176fef96c62f09214d81dfd1d262182e3f8501a0..5e3d732b8e237f2a3852d83b798ff2b15eb6bea3 100644 (file)
@@ -5028,10 +5028,12 @@ namespace System
             return obj == (object)this;
         }
 
+#if !MONO
         public override int GetHashCode() 
         {
             return RuntimeHelpers.GetHashCode(this);
         }
+#endif
 
 #if !FEATURE_CORECLR
         public static bool operator ==(RuntimeType left, RuntimeType right)
index d6e858960bacb34dc2967830bc6cc2ffac59f49c..73778f3f4b142bf427734ef93fc793657594113e 100644 (file)
@@ -65,10 +65,22 @@ namespace System.Runtime.InteropServices {
             return !(a == b);
         }
 
+#if MONO
+        int CalculateCount()
+        {
+            Array a = m_array as Array;
+            if (a == null)
+                throw new ArgumentException ();
+
+            var total = a.Rank * a.Length;
+            return total - m_offset;
+        }
+#else
         [System.Security.SecurityCritical]  // auto-generated
         [ResourceExposure(ResourceScope.None)]
         [MethodImplAttribute(MethodImplOptions.InternalCall)]
         private extern int CalculateCount();
+#endif
     
         private Object m_array;
         private int    m_offset;
index 308fa38c8402310674d4975f921b155f0bb13651..2c6793f0d15d829aa75937612390bf595ff8e12d 100644 (file)
@@ -206,10 +206,16 @@ public abstract class CriticalHandle : CriticalFinalizerObject, IDisposable
         GC.SuppressFinalize(this);
     }
 
+#if MONO
+    static void FireCustomerDebugProbe()
+    {
+    }
+#else
     [ResourceExposure(ResourceScope.None)]
     [MethodImplAttribute(MethodImplOptions.InternalCall)]
     [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
     private extern void FireCustomerDebugProbe();
+#endif
 
     [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
     protected void SetHandle(IntPtr handle) {
index 3f9b3d38879c29f281cbb8c4b9f71aea6bd577f5..50740031b6196b51f4c4a4759f13bea1b1674cd7 100644 (file)
@@ -12,7 +12,7 @@
 **
 **
 =============================================================================*/
-
+#if !FULL_AOT_RUNTIME
 namespace System.Runtime.InteropServices {
    
     using System;
@@ -51,3 +51,4 @@ namespace System.Runtime.InteropServices {
         private Object m_WrappedObject;
     }
 }
+#endif
\ No newline at end of file
index 694412fd471faf0fd6eb03a415363e7e944e1393..0cf3823868c81c51fd13aeeb4f37ca1b889574ca 100644 (file)
@@ -12,7 +12,7 @@
 **
 **
 =============================================================================*/
-
+#if !FULL_AOT_RUNTIME
 namespace System.Runtime.InteropServices {
    
     using System;
@@ -54,3 +54,4 @@ namespace System.Runtime.InteropServices {
         private int m_ErrorCode;
     }
 }
+#endif
\ No newline at end of file
index 6536f3c77d2dc5806656871a48c6a1d35d654b26..c7610dc3687bf40644b2c6e3645a7ecdb5398ae9 100644 (file)
@@ -276,7 +276,7 @@ public abstract partial class SafeHandle : CriticalFinalizerObject, IDisposable
     [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
     [MethodImplAttribute(MethodImplOptions.InternalCall)]
     public extern void SetHandleAsInvalid();
-
+#endif
     // Implement this abstract method in your derived class to specify how to
     // free the handle. Be careful not write any code that's subject to faults
     // in this method (the runtime will prepare the infrastructure for you so
@@ -287,7 +287,7 @@ public abstract partial class SafeHandle : CriticalFinalizerObject, IDisposable
     // MDA is enabled.
     [ReliabilityContract(Consistency.WillNotCorruptState, Cer.Success)]
     protected abstract bool ReleaseHandle();
-
+#if !MONO
     // Add a reason why this handle should not be relinquished (i.e. have
     // ReleaseHandle called on it). This method has dangerous in the name since
     // it must always be used carefully (e.g. called within a CER) to avoid
diff --git a/mcs/ilasm/ilasm-net_4_x.csproj b/mcs/ilasm/ilasm-net_4_x.csproj
new file mode 100644 (file)
index 0000000..cf8834c
--- /dev/null
@@ -0,0 +1,185 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D32B01EF-8E8D-41C1-848D-6DAEAA3FCA6C}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>ilasm</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="codegen\Assembly.cs" />\r
+    <Compile Include="codegen\BaseClassRef.cs" />\r
+    <Compile Include="codegen\BaseGenericTypeRef.cs" />\r
+    <Compile Include="codegen\BaseMethodRef.cs" />\r
+    <Compile Include="codegen\BaseTypeRef.cs" />\r
+    <Compile Include="codegen\BranchInstr.cs" />\r
+    <Compile Include="codegen\CalliInstr.cs" />\r
+    <Compile Include="codegen\CatchBlock.cs" />\r
+    <Compile Include="codegen\CodeGen.cs" />\r
+    <Compile Include="codegen\CustomAttr.cs" />\r
+    <Compile Include="codegen\DataDef.cs" />\r
+    <Compile Include="codegen\DebuggingInfo.cs" />\r
+    <Compile Include="codegen\DeclSecurity.cs" />\r
+    <Compile Include="codegen\EmitByteInstr.cs" />\r
+    <Compile Include="codegen\EventDef.cs" />\r
+    <Compile Include="codegen\ExternFieldRef.cs" />\r
+    <Compile Include="codegen\ExternMethodRef.cs" />\r
+    <Compile Include="codegen\ExternTable.cs" />\r
+    <Compile Include="codegen\ExternTypeRef.cs" />\r
+    <Compile Include="codegen\FaultBlock.cs" />\r
+    <Compile Include="codegen\FeatureAttr.cs" />\r
+    <Compile Include="codegen\FieldDef.cs" />\r
+    <Compile Include="codegen\FieldInstr.cs" />\r
+    <Compile Include="codegen\FieldRef.cs" />\r
+    <Compile Include="codegen\FileRef.cs" />\r
+    <Compile Include="codegen\FilterBlock.cs" />\r
+    <Compile Include="codegen\FinallyBlock.cs" />\r
+    <Compile Include="codegen\GenericArguments.cs" />\r
+    <Compile Include="codegen\GenericMethodRef.cs" />\r
+    <Compile Include="codegen\GenericMethodSig.cs" />\r
+    <Compile Include="codegen\GenericParameters.cs" />\r
+    <Compile Include="codegen\GenericParamRef.cs" />\r
+    <Compile Include="codegen\GenericTypeInst.cs" />\r
+    <Compile Include="codegen\GlobalFieldRef.cs" />\r
+    <Compile Include="codegen\GlobalMethodRef.cs" />\r
+    <Compile Include="codegen\HandlerBlock.cs" />\r
+    <Compile Include="codegen\IFieldRef.cs" />\r
+    <Compile Include="codegen\IInstr.cs" />\r
+    <Compile Include="codegen\InstrTable.cs" />\r
+    <Compile Include="codegen\IntInstr.cs" />\r
+    <Compile Include="codegen\ISehClause.cs" />\r
+    <Compile Include="codegen\LabelInfo.cs" />\r
+    <Compile Include="codegen\LdcInstr.cs" />\r
+    <Compile Include="codegen\LdstrInstr.cs" />\r
+    <Compile Include="codegen\LdtokenInstr.cs" />\r
+    <Compile Include="codegen\Local.cs" />\r
+    <Compile Include="codegen\MethodDef.cs" />\r
+    <Compile Include="codegen\MethodInstr.cs" />\r
+    <Compile Include="codegen\MethodPointerTypeRef.cs" />\r
+    <Compile Include="codegen\MethodRef.cs" />\r
+    <Compile Include="codegen\MiscInstr.cs" />\r
+    <Compile Include="codegen\ModifiableType.cs" />\r
+    <Compile Include="codegen\Module.cs" />\r
+    <Compile Include="codegen\ParamDef.cs" />\r
+    <Compile Include="codegen\PeapiTypeRef.cs" />\r
+    <Compile Include="codegen\Permission.cs" />\r
+    <Compile Include="codegen\PermissionMember.cs" />\r
+    <Compile Include="codegen\PermissionSet.cs" />\r
+    <Compile Include="codegen\PrimitiveTypeRef.cs" />\r
+    <Compile Include="codegen\PropertyDef.cs" />\r
+    <Compile Include="codegen\Sentinel.cs" />\r
+    <Compile Include="codegen\SimpInstr.cs" />\r
+    <Compile Include="codegen\SwitchInstr.cs" />\r
+    <Compile Include="codegen\TryBlock.cs" />\r
+    <Compile Include="codegen\TypeDef.cs" />\r
+    <Compile Include="codegen\TypeInstr.cs" />\r
+    <Compile Include="codegen\TypeManager.cs" />\r
+    <Compile Include="codegen\TypeRef.cs" />\r
+    <Compile Include="codegen\TypeSpecFieldRef.cs" />\r
+    <Compile Include="codegen\TypeSpecMethodRef.cs" />\r
+    <Compile Include="Driver.cs" />\r
+    <Compile Include="parser\ScannerAdapter.cs" />\r
+    <Compile Include="Report.cs" />\r
+    <Compile Include="scanner\ILReader.cs" />\r
+    <Compile Include="scanner\ILTables.cs" />\r
+    <Compile Include="scanner\ILToken.cs" />\r
+    <Compile Include="scanner\ILTokenizer.cs" />\r
+    <Compile Include="scanner\ILTokenizingException.cs" />\r
+    <Compile Include="scanner\InstrToken.cs" />\r
+    <Compile Include="scanner\ITokenStream.cs" />\r
+    <Compile Include="scanner\Location.cs" />\r
+    <Compile Include="scanner\NumberHelper.cs" />\r
+    <Compile Include="scanner\StringHelper.cs" />\r
+    <Compile Include="scanner\StringHelperBase.cs" />\r
+    <Compile Include="ILParser.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+$(ProjectDir)\..\jay\jay -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\parser\ILParser.jay > $(ProjectDir)\ILParser.cs
+
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+$(ProjectDir)\..\jay\jay -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\parser\ILParser.jay > $(ProjectDir)\ILParser.cs
+
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../class/PEAPI/PEAPI-net_4_x.csproj">\r
+      <Project>{34443C71-09F1-4F21-ABB4-82822376F74F}</Project>\r
+      <Name>PEAPI-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../class/Mono.CompilerServices.SymbolWriter/Mono.CompilerServices.SymbolWriter-net_4_x.csproj">\r
+      <Project>{88177C4B-894F-485D-B95A-44199C06BE9F}</Project>\r
+      <Name>Mono.CompilerServices.SymbolWriter-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../class/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="../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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index bcf7ddffa21cd928e8b8a6cbfb811c2735940f7f..ceeff52fcfe7475c13f120cce8e6ec060224912c 100644 (file)
@@ -2383,7 +2383,7 @@ namespace Mono.CSharp
                        var ifaces = PartialContainer.Interfaces;
                        if (ifaces != null) {
                                foreach (TypeSpec t in ifaces){
-                                       if (t == mb.InterfaceType)
+                                       if (t == mb.InterfaceType || t == null)
                                                return true;
 
                                        var expanded_base = t.Interfaces;
index 99759aac984fc441816824303b28c8c9a0879d25..cd7ce1ac68fe34b998cd241d6f2d6783873866ea 100644 (file)
@@ -2523,7 +2523,6 @@ namespace Mono.CSharp
 
                int TokenizePragmaWarningIdentifier (ref int c, ref bool identifier)
                {
-
                        if ((c >= '0' && c <= '9') || is_identifier_start_character (c)) {
                                int number;
 
@@ -2588,6 +2587,9 @@ namespace Mono.CSharp
                                while (c == ' ' || c == '\t')
                                        c = get_char ();
 
+                               if (c == '\n' || c == UnicodeLS || c == UnicodePS)
+                                       advance_line ();
+
                                return number;
                        }
 
index 63d6367309d7150bc430e8da642c61072b66a955..127df271c794c073834a48f79eb922e6c569c6da 100644 (file)
@@ -4482,8 +4482,8 @@ namespace Mono.CSharp {
                                        //
                                        // Uwrap delegate from Expression<T>
                                        //
-                                       q = TypeManager.GetTypeArguments (q)[0];
-                                       p = TypeManager.GetTypeArguments (p)[0];
+                                       q = TypeManager.GetTypeArguments (q) [0];
+                                       p = TypeManager.GetTypeArguments (p) [0];
                                }
 
                                var p_m = Delegate.GetInvokeMethod (p);
@@ -4510,10 +4510,10 @@ namespace Mono.CSharp {
                                // if p has a return type Y, and q is void returning, then C1 is the better conversion.
                                //
                                if (q.Kind == MemberKind.Void) {
-                                       return p.Kind != MemberKind.Void ? 1: 0;
+                                       return p.Kind != MemberKind.Void ? 1 : 0;
                                }
 
-                               var am = (AnonymousMethodExpression) a.Expr;
+                               var am = (AnonymousMethodExpression)a.Expr;
 
                                //
                                // When anonymous method is an asynchronous, and P has a return type Task<Y1>, and Q has a return type Task<Y2>
@@ -4521,8 +4521,8 @@ namespace Mono.CSharp {
                                //
                                if (p.IsGenericTask || q.IsGenericTask) {
                                        if (am.Block.IsAsync && p.IsGenericTask && q.IsGenericTask) {
-                                               q = q.TypeArguments[0];
-                                               p = p.TypeArguments[0];
+                                               q = q.TypeArguments [0];
+                                               p = p.TypeArguments [0];
                                        }
                                }
 
@@ -4548,11 +4548,63 @@ namespace Mono.CSharp {
                        if (argument_type == q)
                                return 2;
 
-                       //
-                       // The parameters are identicial and return type is not void, use better type conversion
-                       // on return type to determine better one
-                       //
-                       return BetterTypeConversion (ec, p, q);
+                       return IsBetterConversionTarget (ec, p, q);
+               }
+
+               static int IsBetterConversionTarget (ResolveContext rc, TypeSpec p, TypeSpec q)
+               {
+                       if ((p.Kind == MemberKind.Delegate || p.IsExpressionTreeType) && (q.Kind == MemberKind.Delegate || q.IsExpressionTreeType)) {
+
+                               if (p.Kind != MemberKind.Delegate) {
+                                       p = TypeManager.GetTypeArguments (p) [0];
+                               }
+
+                               if (q.Kind != MemberKind.Delegate) {
+                                       q = TypeManager.GetTypeArguments (q) [0];
+                               }
+
+                               var p_m = Delegate.GetInvokeMethod (p);
+                               var q_m = Delegate.GetInvokeMethod (q);
+
+                               p = p_m.ReturnType;
+                               q = q_m.ReturnType;
+
+                               //
+                               // if p is void returning, and q has a return type Y, then C2 is the better conversion.
+                               //
+                               if (p.Kind == MemberKind.Void) {
+                                       return q.Kind != MemberKind.Void ? 2 : 0;
+                               }
+
+                               //
+                               // if p has a return type Y, and q is void returning, then C1 is the better conversion.
+                               //
+                               if (q.Kind == MemberKind.Void) {
+                                       return p.Kind != MemberKind.Void ? 1 : 0;
+                               }
+
+                               return IsBetterConversionTarget (rc, p, q);
+                       }
+
+                       if (p.IsGenericTask && q.IsGenericTask) {
+                               q = q.TypeArguments [0];
+                               p = p.TypeArguments [0];
+                               return IsBetterConversionTarget (rc, p, q);
+                       }
+
+                       if (p.IsNullableType) {
+                               p = Nullable.NullableInfo.GetUnderlyingType (p);
+                               if (!BuiltinTypeSpec.IsPrimitiveType (p))
+                                       return 0;
+                       }
+
+                       if (q.IsNullableType) {
+                               q = Nullable.NullableInfo.GetUnderlyingType (q);
+                               if (!BuiltinTypeSpec.IsPrimitiveType (q))
+                                       return 0;
+                       }
+
+                       return BetterTypeConversion (rc, p, q);
                }
 
                //
@@ -4625,8 +4677,6 @@ namespace Mono.CSharp {
                                return 1;
                        }
 
-                       // FIXME: handle lifted operators
-
                        // TODO: this is expensive
                        Expression p_tmp = new EmptyExpression (p);
                        Expression q_tmp = new EmptyExpression (q);
index 1d781cde60f12caa2af4b5f9a35b1496bde53ea1..1190d549eb4fb10ef015db52f72d52f68fd2c1c6 100644 (file)
@@ -257,7 +257,7 @@ namespace Mono.CSharp
                        this.importer = importer;
                        domain = new Universe (UniverseOptions.MetadataOnly | UniverseOptions.ResolveMissingMembers | 
                                UniverseOptions.DisableFusion | UniverseOptions.DecodeVersionInfoAttributeBlobs |
-                               UniverseOptions.DeterministicOutput);
+                               UniverseOptions.DeterministicOutput | UniverseOptions.DisableDefaultAssembliesLookup);
                        
                        domain.AssemblyResolve += AssemblyReferenceResolver;
                        loaded_names = new List<Tuple<AssemblyName, string, Assembly>> ();
diff --git a/mcs/mcs/mcs-net_4_5.csproj b/mcs/mcs/mcs-net_4_5.csproj
deleted file mode 100644 (file)
index 8f2825a..0000000
+++ /dev/null
@@ -1,147 +0,0 @@
-<?xml version="1.0" encoding="utf-8"?>\r
-<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
-  <PropertyGroup>\r
-    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
-    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
-    <ProductVersion>9.0.30729</ProductVersion>\r
-    <SchemaVersion>2.0</SchemaVersion>\r
-    <ProjectGuid>{96874A7F-2F4E-4900-B812-1A61610DECE3}</ProjectGuid>\r
-    <OutputType>Library</OutputType>\r
-    <NoWarn>1699</NoWarn>\r
-    <OutputPath>bin\Debug\mcs-net_4_5</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>DEBUG;TRACE;STATIC;NO_SYMBOL_WRITER;NO_AUTHENTICODE;NET_4_0;NET_4_5;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;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_5.csproj">\r
-      <Project>{33BF0182-AC5C-464C-995B-C9CFE74E1A95}</Project>\r
-      <Name>corlib-net_4_5</Name>\r
-    </ProjectReference>\r
-  </ItemGroup>\r
-  <ItemGroup>\r
-    <Folder Include="Properties\" />\r
-  </ItemGroup>\r
-</Project>\r
-
index d2218ea0c6b3f60e9cc637af6010ab6a909c35cc..46bedb4861240da0ed221219b55b8388781c1602 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>Exe</OutputType>\r
     <NoWarn>1699</NoWarn>\r
     <OutputPath>bin\Debug\mcs-net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-bin\Debug\mcs-net_4_x</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     <NoStdLib>True</NoStdLib>\r
     \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 Condition=" '$(OS)' != 'Windows_NT' ">
+$(ProjectDir)\..\jay\jay -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\cs-parser.jay > $(ProjectDir)\cs-parser.cs
+
+
     </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
+$(ProjectDir)\..\jay\jay -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\cs-parser.jay > $(ProjectDir)\cs-parser.cs\r
 \r
-    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">\r
 \r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
     </PostBuildEvent>\r
     <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
 \r
diff --git a/mcs/nunit24/ClientUtilities/util/nunit.util-net_4_x.csproj b/mcs/nunit24/ClientUtilities/util/nunit.util-net_4_x.csproj
new file mode 100644 (file)
index 0000000..23eed1d
--- /dev/null
@@ -0,0 +1,166 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{52B1E1ED-1F77-4AEC-9CB2-141B8795949F}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>nunit.util</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;MONO;StronglyNamedAssembly;NET_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>MONO;StronglyNamedAssembly;NET_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="..\..\CommonAssemblyInfo.cs" />\r
+    <Compile Include="AggregatingTestRunner.cs" />\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="AssemblyItem.cs" />\r
+    <Compile Include="AssemblyList.cs" />\r
+    <Compile Include="AssemblyWatcher.cs" />\r
+    <Compile Include="CategoryExpression.cs" />\r
+    <Compile Include="CategoryManager.cs" />\r
+    <Compile Include="CommandLineOptions.cs" />\r
+    <Compile Include="ConsoleWriter.cs" />\r
+    <Compile Include="ISettings.cs" />\r
+    <Compile Include="ITestEvents.cs" />\r
+    <Compile Include="ITestLoader.cs" />\r
+    <Compile Include="MemorySettingsStorage.cs" />\r
+    <Compile Include="MultipleTestDomainRunner.cs" />\r
+    <Compile Include="NUnitProject.cs" />\r
+    <Compile Include="NUnitRegistry.cs" />\r
+    <Compile Include="PathUtils.cs" />\r
+    <Compile Include="ProcessRunner.cs" />\r
+    <Compile Include="ProjectConfig.cs" />\r
+    <Compile Include="ProjectConfigCollection.cs" />\r
+    <Compile Include="ProjectFormatException.cs" />\r
+    <Compile Include="ProxyTestRunner.cs" />\r
+    <Compile Include="RecentFileEntry.cs" />\r
+    <Compile Include="RecentFiles.cs" />\r
+    <Compile Include="RecentFilesCollection.cs" />\r
+    <Compile Include="RegistrySettingsStorage.cs" />\r
+    <Compile Include="RemoteTestAgent.cs" />\r
+    <Compile Include="ResultSummarizer.cs" />\r
+    <Compile Include="ServerBase.cs" />\r
+    <Compile Include="ServerUtilities.cs" />\r
+    <Compile Include="Services.cs" />\r
+    <Compile Include="Services\AddinManager.cs" />\r
+    <Compile Include="Services\AddinRegistry.cs" />\r
+    <Compile Include="Services\DomainManager.cs" />\r
+    <Compile Include="Services\RecentFilesService.cs" />\r
+    <Compile Include="Services\ServiceManager.cs" />\r
+    <Compile Include="Services\SettingsService.cs" />\r
+    <Compile Include="Services\TestAgency.cs" />\r
+    <Compile Include="Services\TestAgentManager.cs" />\r
+    <Compile Include="SettingsGroup.cs" />\r
+    <Compile Include="SettingsStorage.cs" />\r
+    <Compile Include="StackTraceFilter.cs" />\r
+    <Compile Include="SummaryVisitor.cs" />\r
+    <Compile Include="TestAgent.cs" />\r
+    <Compile Include="TestDomain.cs" />\r
+    <Compile Include="TestEventArgs.cs" />\r
+    <Compile Include="TestEventDispatcher.cs" />\r
+    <Compile Include="TestExceptionHandler.cs" />\r
+    <Compile Include="TestLoader.cs" />\r
+    <Compile Include="TestObserver.cs" />\r
+    <Compile Include="TestResultItem.cs" />\r
+    <Compile Include="TestServer.cs" />\r
+    <Compile Include="VSProject.cs" />\r
+    <Compile Include="VSProjectConfig.cs" />\r
+    <Compile Include="VSProjectConfigCollection.cs" />\r
+    <Compile Include="XmlResultTransform.cs" />\r
+    <Compile Include="XmlResultVisitor.cs" />\r
+    <Compile Include="XmlSettingsStorage.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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="../../NUnitCore/core/nunit.core-net_4_x.csproj">\r
+      <Project>{257D35DE-7F06-42BA-B82E-734991FFE949}</Project>\r
+      <Name>nunit.core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../NUnitCore/interfaces/nunit.core.interfaces-net_4_x.csproj">\r
+      <Project>{A950C3AB-D62D-4B20-BFB8-5671DE20E535}</Project>\r
+      <Name>nunit.core.interfaces-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.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="../../../class/System.Runtime.Remoting/System.Runtime.Remoting-net_4_x.csproj">\r
+      <Project>{F19F77AE-1A81-4676-BAB8-6C1DA243A961}</Project>\r
+      <Name>System.Runtime.Remoting-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="Transform.resx">\r
+      <LogicalName>NUnit.Util.Transform.resources</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/nunit24/ConsoleRunner/nunit-console-exe/nunit-console-net_4_x.csproj b/mcs/nunit24/ConsoleRunner/nunit-console-exe/nunit-console-net_4_x.csproj
new file mode 100644 (file)
index 0000000..83cb560
--- /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>{4FB9199D-D57E-4007-AA72-0200296AE55F}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>nunit-console</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="..\..\CommonAssemblyInfo.cs" />\r
+    <Compile Include="assemblyinfo.cs" />\r
+    <Compile Include="Class1.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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="../../NUnitFramework/framework/NUnit.Framework-net_4_x.csproj">\r
+      <Project>{B2272696-96AA-4638-B17C-60A4BA37CA0E}</Project>\r
+      <Name>NUnit.Framework-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../ClientUtilities/util/nunit.util-net_4_x.csproj">\r
+      <Project>{52B1E1ED-1F77-4AEC-9CB2-141B8795949F}</Project>\r
+      <Name>nunit.util-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../NUnitCore/core/nunit.core-net_4_x.csproj">\r
+      <Project>{257D35DE-7F06-42BA-B82E-734991FFE949}</Project>\r
+      <Name>nunit.core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../nunit-console/nunit-console-runner-net_4_x.csproj">\r
+      <Project>{B0078000-EF01-4AA3-B5DD-47145B4527EE}</Project>\r
+      <Name>nunit-console-runner-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/nunit24/ConsoleRunner/nunit-console/nunit-console-runner-net_4_x.csproj b/mcs/nunit24/ConsoleRunner/nunit-console/nunit-console-runner-net_4_x.csproj
new file mode 100644 (file)
index 0000000..ed6ee53
--- /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>{B0078000-EF01-4AA3-B5DD-47145B4527EE}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>nunit-console-runner</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;MONO;StronglyNamedAssembly;NET_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>MONO;StronglyNamedAssembly;NET_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="..\..\CommonAssemblyInfo.cs" />\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="ConsoleOptions.cs" />\r
+    <Compile Include="ConsoleUi.cs" />\r
+    <Compile Include="EventCollector.cs" />\r
+    <Compile Include="Runner.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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="../../NUnitCore/core/nunit.core-net_4_x.csproj">\r
+      <Project>{257D35DE-7F06-42BA-B82E-734991FFE949}</Project>\r
+      <Name>nunit.core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../NUnitCore/interfaces/nunit.core.interfaces-net_4_x.csproj">\r
+      <Project>{A950C3AB-D62D-4B20-BFB8-5671DE20E535}</Project>\r
+      <Name>nunit.core.interfaces-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../ClientUtilities/util/nunit.util-net_4_x.csproj">\r
+      <Project>{52B1E1ED-1F77-4AEC-9CB2-141B8795949F}</Project>\r
+      <Name>nunit.util-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.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 83a2e01bd0e038c550791c58e54b57bdbe203305..9c7c76c56f3d8034c14226181419c4e983f03a74 100644 (file)
@@ -1,4 +1,4 @@
-thisdir = nunit20/NUnitCore/core
+thisdir = nunit24/NUnitCore/core
 SUBDIRS = 
 include ../../../build/rules.make
 
diff --git a/mcs/nunit24/NUnitCore/core/nunit.core-net_4_x.csproj b/mcs/nunit24/NUnitCore/core/nunit.core-net_4_x.csproj
new file mode 100644 (file)
index 0000000..e6b70af
--- /dev/null
@@ -0,0 +1,160 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{257D35DE-7F06-42BA-B82E-734991FFE949}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>nunit.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</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>TRACE;StronglyNamedAssembly;NET_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>StronglyNamedAssembly;NET_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="..\..\CommonAssemblyInfo.cs" />\r
+    <Compile Include="AbstractTestCaseDecoration.cs" />\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="AssemblyReader.cs" />\r
+    <Compile Include="AssemblyResolver.cs" />\r
+    <Compile Include="BabysitterSupport.cs" />\r
+    <Compile Include="Builders\AbstractFixtureBuilder.cs" />\r
+    <Compile Include="Builders\AbstractTestCaseBuilder.cs" />\r
+    <Compile Include="Builders\LegacySuiteBuilder.cs" />\r
+    <Compile Include="Builders\NUnitTestCaseBuilder.cs" />\r
+    <Compile Include="Builders\NUnitTestFixtureBuilder.cs" />\r
+    <Compile Include="Builders\SetUpFixtureBuilder.cs" />\r
+    <Compile Include="Builders\TestAssemblyBuilder.cs" />\r
+    <Compile Include="CoreExtensions.cs" />\r
+    <Compile Include="CultureDetector.cs" />\r
+    <Compile Include="DelegatingTestRunner.cs" />\r
+    <Compile Include="DirectorySwapper.cs" />\r
+    <Compile Include="EventListenerTextWriter.cs" />\r
+    <Compile Include="EventPump.cs" />\r
+    <Compile Include="EventQueue.cs" />\r
+    <Compile Include="Extensibility\EventListenerCollection.cs" />\r
+    <Compile Include="Extensibility\FrameworkRegistry.cs" />\r
+    <Compile Include="Extensibility\SuiteBuilderCollection.cs" />\r
+    <Compile Include="Extensibility\TestCaseBuilderCollection.cs" />\r
+    <Compile Include="Extensibility\TestDecoratorCollection.cs" />\r
+    <Compile Include="ExtensionHost.cs" />\r
+    <Compile Include="ExtensionPoint.cs" />\r
+    <Compile Include="IgnoreDecorator.cs" />\r
+    <Compile Include="InvalidSuiteException.cs" />\r
+    <Compile Include="InvalidTestFixtureException.cs" />\r
+    <Compile Include="LegacySuite.cs" />\r
+    <Compile Include="Log4NetCapture.cs" />\r
+    <Compile Include="LogCapture.cs" />\r
+    <Compile Include="NamespaceTreeBuilder.cs" />\r
+    <Compile Include="NoTestFixturesException.cs" />\r
+    <Compile Include="NotRunnableTestCase.cs" />\r
+    <Compile Include="NTrace.cs" />\r
+    <Compile Include="NullListener.cs" />\r
+    <Compile Include="NUnitException.cs" />\r
+    <Compile Include="NUnitFramework.cs" />\r
+    <Compile Include="NUnitTestFixture.cs" />\r
+    <Compile Include="NUnitTestMethod.cs" />\r
+    <Compile Include="PlatformHelper.cs" />\r
+    <Compile Include="ProxyTestRunner.cs" />\r
+    <Compile Include="QueuingEventListener.cs" />\r
+    <Compile Include="Reflect.cs" />\r
+    <Compile Include="RemoteTestRunner.cs" />\r
+    <Compile Include="SetUpFixture.cs" />\r
+    <Compile Include="SimpleTestRunner.cs" />\r
+    <Compile Include="StringTextWriter.cs" />\r
+    <Compile Include="SuiteBuilderAttribute.cs" />\r
+    <Compile Include="TestBuilderAttribute.cs" />\r
+    <Compile Include="TestCase.cs" />\r
+    <Compile Include="TestCaseBuilder.cs" />\r
+    <Compile Include="TestCaseBuilderAttribute.cs" />\r
+    <Compile Include="TestContext.cs" />\r
+    <Compile Include="TestDecoratorAttribute.cs" />\r
+    <Compile Include="TestFixture.cs" />\r
+    <Compile Include="TestFixtureBuilder.cs" />\r
+    <Compile Include="TestMethod.cs" />\r
+    <Compile Include="TestRunnerThread.cs" />\r
+    <Compile Include="TestSuite.cs" />\r
+    <Compile Include="TestSuiteBuilder.cs" />\r
+    <Compile Include="TextCapture.cs" />\r
+    <Compile Include="ThreadedTestRunner.cs" />\r
+    <Compile Include="ThreadUtility.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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="../../NUnitFramework/framework/NUnit.Framework-net_4_x.csproj">\r
+      <Project>{B2272696-96AA-4638-B17C-60A4BA37CA0E}</Project>\r
+      <Name>NUnit.Framework-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../interfaces/nunit.core.interfaces-net_4_x.csproj">\r
+      <Project>{A950C3AB-D62D-4B20-BFB8-5671DE20E535}</Project>\r
+      <Name>nunit.core.interfaces-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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/nunit24/NUnitCore/interfaces/nunit.core.interfaces-net_4_x.csproj b/mcs/nunit24/NUnitCore/interfaces/nunit.core.interfaces-net_4_x.csproj
new file mode 100644 (file)
index 0000000..93d549d
--- /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>{A950C3AB-D62D-4B20-BFB8-5671DE20E535}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>nunit.core.interfaces</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;StronglyNamedAssembly;NET_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>StronglyNamedAssembly;NET_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="..\..\CommonAssemblyInfo.cs" />\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="EventListener.cs" />\r
+    <Compile Include="Extensibility\Addin.cs" />\r
+    <Compile Include="Extensibility\AddinStatus.cs" />\r
+    <Compile Include="Extensibility\ExtensionType.cs" />\r
+    <Compile Include="Extensibility\IAddin.cs" />\r
+    <Compile Include="Extensibility\IAddinManager.cs" />\r
+    <Compile Include="Extensibility\IAddinRegistry.cs" />\r
+    <Compile Include="Extensibility\IExtensionHost.cs" />\r
+    <Compile Include="Extensibility\IExtensionPoint.cs" />\r
+    <Compile Include="Extensibility\IFrameworkRegistry.cs" />\r
+    <Compile Include="Extensibility\ISuiteBuilder.cs" />\r
+    <Compile Include="Extensibility\ITestCaseBuilder.cs" />\r
+    <Compile Include="Extensibility\ITestDecorator.cs" />\r
+    <Compile Include="Extensibility\NUnitAddinAttribute.cs" />\r
+    <Compile Include="Extensibility\TestFramework.cs" />\r
+    <Compile Include="Filters\AndFilter.cs" />\r
+    <Compile Include="Filters\CategoryFilter.cs" />\r
+    <Compile Include="Filters\NameFilter.cs" />\r
+    <Compile Include="Filters\NotFilter.cs" />\r
+    <Compile Include="Filters\OrFilter.cs" />\r
+    <Compile Include="Filters\SimpleNameFilter.cs" />\r
+    <Compile Include="IService.cs" />\r
+    <Compile Include="ITest.cs" />\r
+    <Compile Include="ITestFilter.cs" />\r
+    <Compile Include="ResultState.cs" />\r
+    <Compile Include="ResultVisitor.cs" />\r
+    <Compile Include="RunState.cs" />\r
+    <Compile Include="RuntimeFramework.cs" />\r
+    <Compile Include="Test.cs" />\r
+    <Compile Include="TestAssemblyInfo.cs" />\r
+    <Compile Include="TestCaseResult.cs" />\r
+    <Compile Include="TestFilter.cs" />\r
+    <Compile Include="TestID.cs" />\r
+    <Compile Include="TestInfo.cs" />\r
+    <Compile Include="TestName.cs" />\r
+    <Compile Include="TestNode.cs" />\r
+    <Compile Include="TestOutput.cs" />\r
+    <Compile Include="TestPackage.cs" />\r
+    <Compile Include="TestResult.cs" />\r
+    <Compile Include="TestRunner.cs" />\r
+    <Compile Include="TestSuiteResult.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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="../../NUnitFramework/framework/NUnit.Framework-net_4_x.csproj">\r
+      <Project>{B2272696-96AA-4638-B17C-60A4BA37CA0E}</Project>\r
+      <Name>NUnit.Framework-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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/nunit24/NUnitExtensions/core/nunit.core.extensions-net_4_x.csproj b/mcs/nunit24/NUnitExtensions/core/nunit.core.extensions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c735210
--- /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>{7DEADBAC-1F4D-4799-8174-01E175C869FC}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>nunit.core.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;StronglyNamedAssembly</DefineConstants>\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;StronglyNamedAssembly</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\CommonAssemblyInfo.cs" />\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="RepeatedTestCase.cs" />\r
+    <Compile Include="RepeatedTestDecorator.cs" />\r
+    <Compile Include="RowTest\RowTestAddIn.cs" />\r
+    <Compile Include="RowTest\RowTestCase.cs" />\r
+    <Compile Include="RowTest\RowTestFactory.cs" />\r
+    <Compile Include="RowTest\RowTestFramework.cs" />\r
+    <Compile Include="RowTest\RowTestNameBuilder.cs" />\r
+    <Compile Include="RowTest\RowTestSuite.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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="../../NUnitCore/core/nunit.core-net_4_x.csproj">\r
+      <Project>{257D35DE-7F06-42BA-B82E-734991FFE949}</Project>\r
+      <Name>nunit.core-net_4_x</Name>\r
+    </ProjectReference>\r
+    <ProjectReference Include="../../NUnitCore/interfaces/nunit.core.interfaces-net_4_x.csproj">\r
+      <Project>{A950C3AB-D62D-4B20-BFB8-5671DE20E535}</Project>\r
+      <Name>nunit.core.interfaces-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
+    <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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/nunit24/NUnitExtensions/framework/nunit.framework.extensions-net_4_x.csproj b/mcs/nunit24/NUnitExtensions/framework/nunit.framework.extensions-net_4_x.csproj
new file mode 100644 (file)
index 0000000..dc02b28
--- /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>{59253F15-7E2A-483D-8214-58F03681A3B6}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>nunit.framework.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;StronglyNamedAssembly</DefineConstants>\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;StronglyNamedAssembly</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\CommonAssemblyInfo.cs" />\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="RepeatAttribute.cs" />\r
+    <Compile Include="RowAttribute.cs" />\r
+    <Compile Include="RowTest\RowAttribute.cs" />\r
+    <Compile Include="RowTest\RowTestAttribute.cs" />\r
+    <Compile Include="RowTest\SpecialValue.cs" />\r
+    <Compile Include="RowTestAttribute.cs" />\r
+    <Compile Include="SpecialValue.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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="../../../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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 43076d8c8553ae0954ad041a6b77b9286e9ae6b1..a8c8440f46581782164f887171fa3958dae94df5 100644 (file)
@@ -1,4 +1,4 @@
-thisdir = nunit24/NUnit.Framework/framework
+thisdir = nunit24/NUnitFramework/framework
 SUBDIRS = 
 include ../../../build/rules.make
 
diff --git a/mcs/nunit24/NUnitFramework/framework/NUnit.Framework-net_4_x.csproj b/mcs/nunit24/NUnitFramework/framework/NUnit.Framework-net_4_x.csproj
new file mode 100644 (file)
index 0000000..fae60ac
--- /dev/null
@@ -0,0 +1,144 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{B2272696-96AA-4638-B17C-60A4BA37CA0E}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>nunit.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;StronglyNamedAssembly</DefineConstants>\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;StronglyNamedAssembly</DefineConstants>\r
+    <ErrorReport>prompt</ErrorReport>\r
+    <WarningLevel>4</WarningLevel>\r
+  </PropertyGroup>\r
+  <!-- Set AddAdditionalExplicitAssemblyReferences to false, otherwise if targetting .NET4.0, \r
+  Microsoft.NETFramework.props will force a dependency on the assembly System.Core. This\r
+  is a problem to compile the Mono mscorlib.dll -->\r
+  <PropertyGroup>\r
+    <AddAdditionalExplicitAssemblyReferences>false</AddAdditionalExplicitAssemblyReferences>\r
+  </PropertyGroup>\r
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />\r
+  <ItemGroup>\r
+    <Compile Include="..\..\CommonAssemblyInfo.cs" />\r
+    <Compile Include="AbstractAsserter.cs" />\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="Assert.cs" />\r
+    <Compile Include="Assertion.cs" />\r
+    <Compile Include="AssertionException.cs" />\r
+    <Compile Include="AssertionFailureMessage.cs" />\r
+    <Compile Include="AssertionHelper.cs" />\r
+    <Compile Include="CategoryAttribute.cs" />\r
+    <Compile Include="CollectionAssert.cs" />\r
+    <Compile Include="Constraints\BinaryOperations.cs" />\r
+    <Compile Include="Constraints\CollectionConstraints.cs" />\r
+    <Compile Include="Constraints\ComparisonConstraints.cs" />\r
+    <Compile Include="Constraints\Constraint.cs" />\r
+    <Compile Include="Constraints\ConstraintBuilder.cs" />\r
+    <Compile Include="Constraints\ContainsConstraint.cs" />\r
+    <Compile Include="Constraints\EmptyConstraint.cs" />\r
+    <Compile Include="Constraints\EqualConstraint.cs" />\r
+    <Compile Include="Constraints\Numerics.cs" />\r
+    <Compile Include="Constraints\PrefixConstraints.cs" />\r
+    <Compile Include="Constraints\PropertyConstraint.cs" />\r
+    <Compile Include="Constraints\SameAsConstraint.cs" />\r
+    <Compile Include="Constraints\StringConstraints.cs" />\r
+    <Compile Include="Constraints\TypeConstraints.cs" />\r
+    <Compile Include="DescriptionAttribute.cs" />\r
+    <Compile Include="ExpectedExceptionAttribute.cs" />\r
+    <Compile Include="ExplicitAttribute.cs" />\r
+    <Compile Include="FileAssert.cs" />\r
+    <Compile Include="GlobalSettings.cs" />\r
+    <Compile Include="IAsserter.cs" />\r
+    <Compile Include="IExpectException.cs" />\r
+    <Compile Include="IgnoreAttribute.cs" />\r
+    <Compile Include="IgnoreException.cs" />\r
+    <Compile Include="IncludeExcludeAttributes.cs" />\r
+    <Compile Include="MessageWriter.cs" />\r
+    <Compile Include="MsgUtils.cs" />\r
+    <Compile Include="OldTestCase.cs" />\r
+    <Compile Include="PropertyAttribute.cs" />\r
+    <Compile Include="SetCultureAttribute.cs" />\r
+    <Compile Include="SetUpAttribute.cs" />\r
+    <Compile Include="SetUpFixtureAttribute.cs" />\r
+    <Compile Include="StringAssert.cs" />\r
+    <Compile Include="SuiteAttribute.cs" />\r
+    <Compile Include="SyntaxHelpers\Has.cs" />\r
+    <Compile Include="SyntaxHelpers\Is.cs" />\r
+    <Compile Include="SyntaxHelpers\List.cs" />\r
+    <Compile Include="SyntaxHelpers\ListMapper.cs" />\r
+    <Compile Include="SyntaxHelpers\Text.cs" />\r
+    <Compile Include="TearDownAttribute.cs" />\r
+    <Compile Include="TestAttribute.cs" />\r
+    <Compile Include="TestFixtureAttribute.cs" />\r
+    <Compile Include="TestFixtureSetUpAttribute.cs" />\r
+    <Compile Include="TestFixtureTearDownAttribute.cs" />\r
+    <Compile Include="TextMessageWriter.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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="../../../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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/nunit24/NUnitMocks/mocks/nunit.mocks-net_4_x.csproj b/mcs/nunit24/NUnitMocks/mocks/nunit.mocks-net_4_x.csproj
new file mode 100644 (file)
index 0000000..a032cb9
--- /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>{E072B33B-F3C5-4B2F-ABAA-1339CF716143}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>nunit.mocks</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;StronglyNamedAssembly;NET_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>StronglyNamedAssembly;NET_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="..\..\CommonAssemblyInfo.cs" />\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="DynamicMock.cs" />\r
+    <Compile Include="ICall.cs" />\r
+    <Compile Include="ICallHandler.cs" />\r
+    <Compile Include="IMethod.cs" />\r
+    <Compile Include="IMock.cs" />\r
+    <Compile Include="IVerify.cs" />\r
+    <Compile Include="MethodSignature.cs" />\r
+    <Compile Include="Mock.cs" />\r
+    <Compile Include="MockCall.cs" />\r
+    <Compile Include="MockInterfaceHandler.cs" />\r
+    <Compile Include="MockMethod.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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="../../NUnitFramework/framework/NUnit.Framework-net_4_x.csproj">\r
+      <Project>{B2272696-96AA-4638-B17C-60A4BA37CA0E}</Project>\r
+      <Name>NUnit.Framework-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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tests/test-935.cs b/mcs/tests/test-935.cs
new file mode 100644 (file)
index 0000000..c47d89d
--- /dev/null
@@ -0,0 +1,74 @@
+using System;
+using System.Threading.Tasks;
+using System.Linq.Expressions;
+
+public static class Program
+{
+       public delegate void DelegateVoid (int arg);
+       public delegate int DelegateInt (string arg);
+
+       public static int Main () 
+       { 
+               Foo (Bar);
+
+               TT (null);
+               NN (0);
+               NN2 (1);
+               Complex (null);
+               return 0;
+       }
+
+       static void TT (Task<string> a)
+       {
+       }
+
+       static void TT (Task<object> b)
+       {
+               throw new ApplicationException ("wrong overload");
+       }
+
+       static void NN (sbyte a)
+       {
+       }
+
+       static void NN (uint? b)
+       {
+               throw new ApplicationException ("wrong overload");
+       }
+
+       static void NN2 (sbyte? a)
+       {
+       }
+
+       static void NN2 (uint? b)
+       {
+               throw new ApplicationException ("wrong overload");
+       }
+
+       public static void Bar (int arg) 
+       {
+       }
+
+       public static int Bar (string arg)
+       { 
+               return  2;
+       }
+
+       public static void Foo (DelegateVoid input)
+       {
+               throw new ApplicationException ("wrong overload");
+       }
+
+       public static void Foo (DelegateInt input)
+       {
+       }
+
+       static void Complex (Expression<Func<Task<short>>> arg)
+       {
+       }
+
+       static void Complex (Expression<Func<Task<ulong>>> arg)
+       {
+               throw new ApplicationException ("wrong overload");
+       }
+}
\ No newline at end of file
diff --git a/mcs/tests/test-debug-30-ref.xml b/mcs/tests/test-debug-30-ref.xml
new file mode 100644 (file)
index 0000000..461f657
--- /dev/null
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="utf-8"?>
+<symbols>
+  <files>
+    <file id="1" name="test-debug-30.cs" checksum="d3addfa69f16faf00991ef839451a975" />
+  </files>
+  <methods>
+    <method token="0x6000001">
+      <sequencepoints />
+      <locals />
+      <scopes />
+    </method>
+    <method token="0x6000002">
+      <sequencepoints>
+        <entry il="0x0" row="7" col="2" file_ref="1" hidden="false" />
+        <entry il="0x1" row="8" col="3" file_ref="1" hidden="false" />
+        <entry il="0x6" row="9" col="2" file_ref="1" hidden="false" />
+      </sequencepoints>
+      <locals />
+      <scopes />
+    </method>
+    <method token="0x6000003">
+      <sequencepoints>
+        <entry il="0x0" row="15" col="2" file_ref="1" hidden="false" />
+        <entry il="0x1" row="16" col="3" file_ref="1" hidden="false" />
+        <entry il="0x6" row="17" col="2" file_ref="1" hidden="false" />
+      </sequencepoints>
+      <locals />
+      <scopes />
+    </method>
+  </methods>
+</symbols>
\ No newline at end of file
diff --git a/mcs/tests/test-debug-30.cs b/mcs/tests/test-debug-30.cs
new file mode 100644 (file)
index 0000000..78f0cdf
--- /dev/null
@@ -0,0 +1,18 @@
+class PragmaNewLinesParsing
+{
+#pragma warning disable RECS0029
+#pragma warning restore RECS0029
+
+       void Foo ()
+       {
+               return;
+       }
+
+#pragma warning disable RECS0029 // here
+#pragma warning restore RECS0029 /* end */
+
+       public static void Main ()
+       {
+               return;
+       }
+}
\ No newline at end of file
index 7ba3329b35d0b6ec07745f7a19c895346b2b589b..77762b44440ecdb2fbca11401b8f5ccae5aa0c96 100644 (file)
       </method>
     </type>
   </test>
+  <test name="test-935.cs">
+    <type name="Program">
+      <method name="Int32 Main()" attrs="150">
+        <size>73</size>
+      </method>
+      <method name="Void TT(System.Threading.Tasks.Task`1[System.String])" attrs="145">
+        <size>2</size>
+      </method>
+      <method name="Void TT(System.Threading.Tasks.Task`1[System.Object])" attrs="145">
+        <size>12</size>
+      </method>
+      <method name="Void NN(SByte)" attrs="145">
+        <size>2</size>
+      </method>
+      <method name="Void NN(System.Nullable`1[System.UInt32])" attrs="145">
+        <size>12</size>
+      </method>
+      <method name="Void NN2(System.Nullable`1[System.SByte])" attrs="145">
+        <size>2</size>
+      </method>
+      <method name="Void NN2(System.Nullable`1[System.UInt32])" attrs="145">
+        <size>12</size>
+      </method>
+      <method name="Void Bar(Int32)" attrs="150">
+        <size>2</size>
+      </method>
+      <method name="Int32 Bar(System.String)" attrs="150">
+        <size>10</size>
+      </method>
+      <method name="Void Foo(DelegateVoid)" attrs="150">
+        <size>12</size>
+      </method>
+      <method name="Void Foo(DelegateInt)" attrs="150">
+        <size>2</size>
+      </method>
+      <method name="Void Complex(System.Linq.Expressions.Expression`1[System.Func`1[System.Threading.Tasks.Task`1[System.Int16]]])" attrs="145">
+        <size>2</size>
+      </method>
+      <method name="Void Complex(System.Linq.Expressions.Expression`1[System.Func`1[System.Threading.Tasks.Task`1[System.UInt64]]])" attrs="145">
+        <size>12</size>
+      </method>
+    </type>
+    <type name="Program+DelegateVoid">
+      <method name="Void Invoke(Int32)" attrs="454">
+        <size>0</size>
+      </method>
+      <method name="System.IAsyncResult BeginInvoke(Int32, System.AsyncCallback, System.Object)" attrs="454">
+        <size>0</size>
+      </method>
+      <method name="Void EndInvoke(System.IAsyncResult)" attrs="454">
+        <size>0</size>
+      </method>
+      <method name="Void .ctor(Object, IntPtr)" attrs="6278">
+        <size>0</size>
+      </method>
+    </type>
+    <type name="Program+DelegateInt">
+      <method name="Int32 Invoke(System.String)" attrs="454">
+        <size>0</size>
+      </method>
+      <method name="System.IAsyncResult BeginInvoke(System.String, System.AsyncCallback, System.Object)" attrs="454">
+        <size>0</size>
+      </method>
+      <method name="Int32 EndInvoke(System.IAsyncResult)" attrs="454">
+        <size>0</size>
+      </method>
+      <method name="Void .ctor(Object, IntPtr)" attrs="6278">
+        <size>0</size>
+      </method>
+    </type>
+  </test>
   <test name="test-94.cs">
     <type name="Base">
       <method name="Int32 IVehicle.Start()" attrs="481">
       </method>
     </type>
   </test>
+  <test name="test-debug-30.cs">
+    <type name="PragmaNewLinesParsing">
+      <method name="Void Foo()" attrs="129">
+        <size>7</size>
+      </method>
+      <method name="Void Main()" attrs="150">
+        <size>7</size>
+      </method>
+      <method name="Void .ctor()" attrs="6278">
+        <size>7</size>
+      </method>
+    </type>
+  </test>
   <test name="test-decl-expr-01.cs">
     <type name="DeclarationExpression">
       <method name="Int32 Main()" attrs="150">
diff --git a/mcs/tools/al/al-net_4_x.csproj b/mcs/tools/al/al-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2657ba3
--- /dev/null
@@ -0,0 +1,111 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{D237CE6E-EA8F-4E8E-8413-295B27714AC6}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>al</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\ikvm\reflect\*.cs" />\r
+    <Compile Include="..\..\..\external\ikvm\reflect\Emit\*.cs" />\r
+    <Compile Include="..\..\..\external\ikvm\reflect\Impl\*.cs" />\r
+    <Compile Include="..\..\..\external\ikvm\reflect\Metadata\*.cs" />\r
+    <Compile Include="..\..\..\external\ikvm\reflect\Properties\*.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="Al.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/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="../../class/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="../../class/Mono.CompilerServices.SymbolWriter/Mono.CompilerServices.SymbolWriter-net_4_x.csproj">\r
+      <Project>{88177C4B-894F-485D-B95A-44199C06BE9F}</Project>\r
+      <Name>Mono.CompilerServices.SymbolWriter-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/browsercaps-updater/browsercaps-updater-net_4_x.csproj b/mcs/tools/browsercaps-updater/browsercaps-updater-net_4_x.csproj
new file mode 100644 (file)
index 0000000..40cc077
--- /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>{01D2746E-CB83-4FE7-981D-DF9B0CE33EFB}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>browsercaps-updater</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="BrowserCapsUpdater.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/cccheck/cccheck-net_4_x.csproj b/mcs/tools/cccheck/cccheck-net_4_x.csproj
new file mode 100644 (file)
index 0000000..ef7c94e
--- /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>{BA3136DD-E843-4F57-8FBB-1782D3D08BC8}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>cccheck</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.Options\Mono.Options\Options.cs" />\r
+    <Compile Include="Program.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/Mono.CodeContracts/Mono.CodeContracts-net_4_x.csproj">\r
+      <Project>{9BE8D62B-471D-4538-8287-691B4ECE3209}</Project>\r
+      <Name>Mono.CodeContracts-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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/ccrewrite/ccrewrite-net_4_x.csproj b/mcs/tools/ccrewrite/ccrewrite-net_4_x.csproj
new file mode 100644 (file)
index 0000000..69b39b8
--- /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>{3A2CEA44-B631-40CB-B1B5-001AEC0C825E}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>ccrewrite</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.Options\Mono.Options\Options.cs" />\r
+    <Compile Include="Program.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/Mono.CodeContracts/Mono.CodeContracts-net_4_x.csproj">\r
+      <Project>{9BE8D62B-471D-4538-8287-691B4ECE3209}</Project>\r
+      <Name>Mono.CodeContracts-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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/cil-stringreplacer/cil-stringreplacer-net_4_x.csproj b/mcs/tools/cil-stringreplacer/cil-stringreplacer-net_4_x.csproj
new file mode 100644 (file)
index 0000000..fcac823
--- /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>{FD725431-CB26-466D-BD55-C739485A50C9}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>cil-stringreplacer</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="..\..\class\Mono.Options\Mono.Options\Options.cs" />\r
+    <Compile Include="cil-stringreplacer.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/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/tools/cil-strip/mono-cil-strip-net_4_x.csproj b/mcs/tools/cil-strip/mono-cil-strip-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7a24a4c
--- /dev/null
@@ -0,0 +1,400 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{2AEAE157-B22D-480F-B7B9-F6DF0773EF0B}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>mono-cil-strip</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=".\AssemblyStripper.cs" />\r
+    <Compile Include=".\cilstrip.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\BaseImageVisitor.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\CLIHeader.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\CopyImageVisitor.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\DataDirectory.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\DebugHeader.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\DebugStoreType.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\DOSHeader.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\ExportTable.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\IBinaryVisitable.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\IBinaryVisitor.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\IHeader.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\Image.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\ImageCharacteristics.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\ImageFormatException.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\ImageInitializer.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\ImageReader.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\ImageWriter.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\Imports.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\MemoryBinaryWriter.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\PEFileHeader.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\PEOptionalHeader.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\ResourceDataEntry.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\ResourceDirectoryEntry.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\ResourceDirectoryString.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\ResourceDirectoryTable.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\ResourceNode.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\ResourceReader.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\ResourceWriter.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\RuntimeImage.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\RVA.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\Section.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\SectionCharacteristics.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\SectionCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil.Binary\SubSystem.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\BaseCodeVisitor.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\CilWorker.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\Code.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\CodeReader.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\CodeWriter.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\Document.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\DocumentHashAlgorithm.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\DocumentLanguage.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\DocumentLanguageVendor.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\DocumentType.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\ExceptionHandler.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\ExceptionHandlerCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\ExceptionHandlerType.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\FlowControl.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\GuidAttribute.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\ICodeVisitable.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\ICodeVisitor.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\Instruction.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\InstructionCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\IScopeProvider.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\ISymbolReader.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\ISymbolStoreFactory.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\ISymbolWriter.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\IVariableDefinitionProvider.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\MethodBody.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\MethodDataSection.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\MethodHeader.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\OpCode.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\OpCodeNames.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\OpCodes.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\OpCodeType.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\OperandType.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\Scope.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\ScopeCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\SequencePoint.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\StackBehaviour.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\SymbolStoreHelper.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\VariableDefinition.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\VariableDefinitionCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil.Cil\VariableReference.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\Assembly.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\AssemblyOS.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\AssemblyProcessor.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\AssemblyRef.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\AssemblyRefOS.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\AssemblyRefProcessor.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\BaseMetadataVisitor.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\BlobHeap.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\ClassLayout.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\CodedIndex.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\Constant.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\CultureUtils.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\CustomAttribute.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\DeclSecurity.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\ElementType.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\Event.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\EventMap.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\EventPtr.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\ExportedType.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\Field.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\FieldLayout.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\FieldMarshal.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\FieldPtr.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\FieldRVA.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\File.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\GenericParam.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\GenericParamConstraint.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\GuidHeap.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\IMetadataRow.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\IMetadataTable.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\IMetadataVisitable.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\IMetadataVisitor.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\ImplMap.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\InterfaceImpl.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\ManifestResource.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MemberRef.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MetadataFormatException.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MetadataHeap.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MetadataInitializer.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MetadataReader.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MetadataRoot.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MetadataRowReader.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MetadataRowWriter.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MetadataStream.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MetadataStreamCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MetadataTableReader.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MetadataTableWriter.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MetadataToken.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MetadataWriter.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\Method.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MethodImpl.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MethodPtr.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MethodSemantics.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\MethodSpec.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\Module.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\ModuleRef.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\NestedClass.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\Param.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\ParamPtr.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\Property.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\PropertyMap.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\PropertyPtr.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\RowCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\StandAloneSig.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\StringsHeap.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\TableCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\TablesHeap.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\TokenType.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\TypeDef.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\TypeRef.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\TypeSpec.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\UserStringsHeap.cs" />\r
+    <Compile Include=".\Mono.Cecil.Metadata\Utilities.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\Array.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\ArrayShape.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\BaseSignatureVisitor.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\Class.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\Constraint.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\CustomAttrib.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\CustomMod.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\FieldSig.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\FnPtr.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\GenericArg.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\GenericInst.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\GenericInstSignature.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\InputOutputItem.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\ISignatureVisitable.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\ISignatureVisitor.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\LocalVarSig.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\MarshalSig.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\MethodDefSig.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\MethodRefSig.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\MethodSig.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\MethodSpec.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\MVar.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\Param.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\PropertySig.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\Ptr.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\RetType.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\Signature.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\SignatureReader.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\SignatureWriter.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\SigType.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\SzArray.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\TypeSpec.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\ValueType.cs" />\r
+    <Compile Include=".\Mono.Cecil.Signatures\Var.cs" />\r
+    <Compile Include=".\Mono.Cecil\AggressiveReflectionReader.cs" />\r
+    <Compile Include=".\Mono.Cecil\ArrayDimension.cs" />\r
+    <Compile Include=".\Mono.Cecil\ArrayDimensionCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\ArrayType.cs" />\r
+    <Compile Include=".\Mono.Cecil\AssemblyDefinition.cs" />\r
+    <Compile Include=".\Mono.Cecil\AssemblyFactory.cs" />\r
+    <Compile Include=".\Mono.Cecil\AssemblyFlags.cs" />\r
+    <Compile Include=".\Mono.Cecil\AssemblyHashAlgorithm.cs" />\r
+    <Compile Include=".\Mono.Cecil\AssemblyInfo.cs" />\r
+    <Compile Include=".\Mono.Cecil\AssemblyKind.cs" />\r
+    <Compile Include=".\Mono.Cecil\AssemblyLinkedResource.cs" />\r
+    <Compile Include=".\Mono.Cecil\AssemblyNameDefinition.cs" />\r
+    <Compile Include=".\Mono.Cecil\AssemblyNameReference.cs" />\r
+    <Compile Include=".\Mono.Cecil\AssemblyNameReferenceCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\BaseAssemblyResolver.cs" />\r
+    <Compile Include=".\Mono.Cecil\BaseReflectionReader.cs" />\r
+    <Compile Include=".\Mono.Cecil\BaseReflectionVisitor.cs" />\r
+    <Compile Include=".\Mono.Cecil\BaseStructureVisitor.cs" />\r
+    <Compile Include=".\Mono.Cecil\CallSite.cs" />\r
+    <Compile Include=".\Mono.Cecil\CompactFrameworkCompatibility.cs" />\r
+    <Compile Include=".\Mono.Cecil\Constants.cs" />\r
+    <Compile Include=".\Mono.Cecil\ConstraintCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\ConstructorCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\CustomAttribute.cs" />\r
+    <Compile Include=".\Mono.Cecil\CustomAttributeCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\DefaultAssemblyResolver.cs" />\r
+    <Compile Include=".\Mono.Cecil\DefaultImporter.cs" />\r
+    <Compile Include=".\Mono.Cecil\EmbeddedResource.cs" />\r
+    <Compile Include=".\Mono.Cecil\EventAttributes.cs" />\r
+    <Compile Include=".\Mono.Cecil\EventDefinition.cs" />\r
+    <Compile Include=".\Mono.Cecil\EventDefinitionCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\EventReference.cs" />\r
+    <Compile Include=".\Mono.Cecil\ExternTypeCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\FieldAttributes.cs" />\r
+    <Compile Include=".\Mono.Cecil\FieldDefinition.cs" />\r
+    <Compile Include=".\Mono.Cecil\FieldDefinitionCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\FieldReference.cs" />\r
+    <Compile Include=".\Mono.Cecil\FileAttributes.cs" />\r
+    <Compile Include=".\Mono.Cecil\FunctionPointerType.cs" />\r
+    <Compile Include=".\Mono.Cecil\GenericArgumentCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\GenericContext.cs" />\r
+    <Compile Include=".\Mono.Cecil\GenericInstanceMethod.cs" />\r
+    <Compile Include=".\Mono.Cecil\GenericInstanceType.cs" />\r
+    <Compile Include=".\Mono.Cecil\GenericParameter.cs" />\r
+    <Compile Include=".\Mono.Cecil\GenericParameterAttributes.cs" />\r
+    <Compile Include=".\Mono.Cecil\GenericParameterCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\HashCodeProvider.cs" />\r
+    <Compile Include=".\Mono.Cecil\IAnnotationProvider.cs" />\r
+    <Compile Include=".\Mono.Cecil\IAssemblyResolver.cs" />\r
+    <Compile Include=".\Mono.Cecil\ICustomAttributeProvider.cs" />\r
+    <Compile Include=".\Mono.Cecil\IDetailReader.cs" />\r
+    <Compile Include=".\Mono.Cecil\IGenericInstance.cs" />\r
+    <Compile Include=".\Mono.Cecil\IGenericParameterProvider.cs" />\r
+    <Compile Include=".\Mono.Cecil\IHasConstant.cs" />\r
+    <Compile Include=".\Mono.Cecil\IHasMarshalSpec.cs" />\r
+    <Compile Include=".\Mono.Cecil\IHasSecurity.cs" />\r
+    <Compile Include=".\Mono.Cecil\IImporter.cs" />\r
+    <Compile Include=".\Mono.Cecil\IMemberDefinition.cs" />\r
+    <Compile Include=".\Mono.Cecil\IMemberReference.cs" />\r
+    <Compile Include=".\Mono.Cecil\IMetadataScope.cs" />\r
+    <Compile Include=".\Mono.Cecil\IMetadataTokenProvider.cs" />\r
+    <Compile Include=".\Mono.Cecil\IMethodSignature.cs" />\r
+    <Compile Include=".\Mono.Cecil\ImportContext.cs" />\r
+    <Compile Include=".\Mono.Cecil\InterfaceCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\IReflectionStructureVisitable.cs" />\r
+    <Compile Include=".\Mono.Cecil\IReflectionStructureVisitor.cs" />\r
+    <Compile Include=".\Mono.Cecil\IReflectionVisitable.cs" />\r
+    <Compile Include=".\Mono.Cecil\IReflectionVisitor.cs" />\r
+    <Compile Include=".\Mono.Cecil\IRequireResolving.cs" />\r
+    <Compile Include=".\Mono.Cecil\LinkedResource.cs" />\r
+    <Compile Include=".\Mono.Cecil\ManifestResourceAttributes.cs" />\r
+    <Compile Include=".\Mono.Cecil\MarshalSpec.cs" />\r
+    <Compile Include=".\Mono.Cecil\MemberReference.cs" />\r
+    <Compile Include=".\Mono.Cecil\MemberReferenceCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\MetadataResolver.cs" />\r
+    <Compile Include=".\Mono.Cecil\MethodAttributes.cs" />\r
+    <Compile Include=".\Mono.Cecil\MethodCallingConvention.cs" />\r
+    <Compile Include=".\Mono.Cecil\MethodDefinition.cs" />\r
+    <Compile Include=".\Mono.Cecil\MethodDefinitionCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\MethodImplAttributes.cs" />\r
+    <Compile Include=".\Mono.Cecil\MethodReference.cs" />\r
+    <Compile Include=".\Mono.Cecil\MethodReturnType.cs" />\r
+    <Compile Include=".\Mono.Cecil\MethodSemanticsAttributes.cs" />\r
+    <Compile Include=".\Mono.Cecil\MethodSpecification.cs" />\r
+    <Compile Include=".\Mono.Cecil\Modifiers.cs" />\r
+    <Compile Include=".\Mono.Cecil\ModuleDefinition.cs" />\r
+    <Compile Include=".\Mono.Cecil\ModuleDefinitionCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\ModuleReference.cs" />\r
+    <Compile Include=".\Mono.Cecil\ModuleReferenceCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\NativeType.cs" />\r
+    <Compile Include=".\Mono.Cecil\NestedTypeCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\NullReferenceImporter.cs" />\r
+    <Compile Include=".\Mono.Cecil\OverrideCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\ParameterAttributes.cs" />\r
+    <Compile Include=".\Mono.Cecil\ParameterDefinition.cs" />\r
+    <Compile Include=".\Mono.Cecil\ParameterDefinitionCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\ParameterReference.cs" />\r
+    <Compile Include=".\Mono.Cecil\PinnedType.cs" />\r
+    <Compile Include=".\Mono.Cecil\PInvokeAttributes.cs" />\r
+    <Compile Include=".\Mono.Cecil\PInvokeInfo.cs" />\r
+    <Compile Include=".\Mono.Cecil\PointerType.cs" />\r
+    <Compile Include=".\Mono.Cecil\PropertyAttributes.cs" />\r
+    <Compile Include=".\Mono.Cecil\PropertyDefinition.cs" />\r
+    <Compile Include=".\Mono.Cecil\PropertyDefinitionCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\PropertyReference.cs" />\r
+    <Compile Include=".\Mono.Cecil\ReferenceType.cs" />\r
+    <Compile Include=".\Mono.Cecil\ReflectionController.cs" />\r
+    <Compile Include=".\Mono.Cecil\ReflectionException.cs" />\r
+    <Compile Include=".\Mono.Cecil\ReflectionHelper.cs" />\r
+    <Compile Include=".\Mono.Cecil\ReflectionReader.cs" />\r
+    <Compile Include=".\Mono.Cecil\ReflectionWriter.cs" />\r
+    <Compile Include=".\Mono.Cecil\Resource.cs" />\r
+    <Compile Include=".\Mono.Cecil\ResourceCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\SecurityAction.cs" />\r
+    <Compile Include=".\Mono.Cecil\SecurityDeclaration.cs" />\r
+    <Compile Include=".\Mono.Cecil\SecurityDeclarationCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\SecurityDeclarationReader.cs" />\r
+    <Compile Include=".\Mono.Cecil\SentinelType.cs" />\r
+    <Compile Include=".\Mono.Cecil\StructureReader.cs" />\r
+    <Compile Include=".\Mono.Cecil\StructureWriter.cs" />\r
+    <Compile Include=".\Mono.Cecil\TableComparers.cs" />\r
+    <Compile Include=".\Mono.Cecil\TargetRuntime.cs" />\r
+    <Compile Include=".\Mono.Cecil\TypeAttributes.cs" />\r
+    <Compile Include=".\Mono.Cecil\TypeDefinition.cs" />\r
+    <Compile Include=".\Mono.Cecil\TypeDefinitionCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\TypeReference.cs" />\r
+    <Compile Include=".\Mono.Cecil\TypeReferenceCollection.cs" />\r
+    <Compile Include=".\Mono.Cecil\TypeSpecification.cs" />\r
+    <Compile Include=".\Mono.Cecil\VariantType.cs" />\r
+    <Compile Include=".\Mono.Xml\SecurityParser.cs" />\r
+    <Compile Include=".\Mono.Xml\SmallXmlParser.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/commoncryptogenerator/commoncryptogenerator-net_4_x.csproj b/mcs/tools/commoncryptogenerator/commoncryptogenerator-net_4_x.csproj
new file mode 100644 (file)
index 0000000..f33343c
--- /dev/null
@@ -0,0 +1,85 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{12527E95-60D3-4A66-91C6-7F8031519299}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>commoncryptogenerator</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="CommonCryptorGenerator.cs" />\r
+    <Compile Include="CommonDigestGenerator.cs" />\r
+    <Compile Include="generator.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/compiler-tester/compiler-tester-net_4_x.csproj b/mcs/tools/compiler-tester/compiler-tester-net_4_x.csproj
new file mode 100644 (file)
index 0000000..22ebee6
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{93602011-38AA-46AC-8203-571D620A228C}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>compiler-tester</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="..\..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolFile.cs" />\r
+    <Compile Include="..\..\class\Mono.CompilerServices.SymbolWriter\MonoSymbolTable.cs" />\r
+    <Compile Include="compiler-tester.cs" />\r
+    <Compile Include="xmldocdiff.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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
+
diff --git a/mcs/tools/corcompare/mono-api-info-net_4_x.csproj b/mcs/tools/corcompare/mono-api-info-net_4_x.csproj
new file mode 100644 (file)
index 0000000..5fcf051
--- /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>{4391CB6E-F09B-4D13-BA34-547E15FA7847}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>mono-api-info</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="..\..\class\Mono.Options\Mono.Options\Options.cs" />\r
+    <Compile Include="AssemblyResolver.cs" />\r
+    <Compile Include="mono-api-info.cs" />\r
+    <Compile Include="Util.cs" />\r
+    <Compile Include="WellFormedXmlWriter.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/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="../../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
+    <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/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 8b1ad945095c64d208ea0ce2d8626209b6c68709..55c2aeb4283b7e621624cbb808044cac3accf1ab 100644 (file)
@@ -1571,6 +1571,15 @@ namespace CorCompare
                        if (res != 0)
                                return res;
 
+                       if (ma.HasGenericParameters != mb.HasGenericParameters)
+                               return ma.HasGenericParameters ? -1 : 1;
+
+                       if (ma.HasGenericParameters && mb.HasGenericParameters) {
+                               res = ma.GenericParameters.Count - mb.GenericParameters.Count;
+                               if (res != 0)
+                                       return res;
+                       }
+
                        // operators can differ by only return type
                        return string.CompareOrdinal (ma.ReturnType.FullName, mb.ReturnType.FullName);
                }
diff --git a/mcs/tools/csharp/csharp-net_4_x.csproj b/mcs/tools/csharp/csharp-net_4_x.csproj
new file mode 100644 (file)
index 0000000..1da92c6
--- /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>{3E3DE804-DF6C-43D0-9DFC-13C7FFD949CA}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>3021,1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>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>3021,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>3021,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="..\..\class\corlib\Mono\DataConverter.cs" />\r
+    <Compile Include="getline.cs" />\r
+    <Compile Include="repl.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/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
+    <ProjectReference Include="../../class/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="../../class/Mono.Management/Mono.Management-net_4_x.csproj">\r
+      <Project>{1A2B6016-1EEF-4C06-943D-EB3E94A31EB9}</Project>\r
+      <Name>Mono.Management-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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/culevel/culevel-net_4_x.csproj b/mcs/tools/culevel/culevel-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c28f239
--- /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>{ED867AC1-079C-4B5E-ADF9-E7722053B360}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699,1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>culevel</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,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>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,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="CompileUplevel.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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/tools/disco/disco-net_4_x.csproj b/mcs/tools/disco/disco-net_4_x.csproj
new file mode 100644 (file)
index 0000000..28c7350
--- /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>{49D19955-330A-4FF2-BE94-4AEAE6745EBE}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>disco</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="disco.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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="../../class/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="../../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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/dtd2rng/dtd2rng-net_4_x.csproj b/mcs/tools/dtd2rng/dtd2rng-net_4_x.csproj
new file mode 100644 (file)
index 0000000..4d15a18
--- /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>{60674A50-F2E0-4BC7-A917-8976821888ED}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>dtd2rng</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="dtd2rng.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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="../../class/Commons.Xml.Relaxng/Commons.Xml.Relaxng-net_4_x.csproj">\r
+      <Project>{FFFE76FE-98EE-4FF7-81D9-35C0FE1D3718}</Project>\r
+      <Name>Commons.Xml.Relaxng-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/dtd2xsd/dtd2xsd-net_4_x.csproj b/mcs/tools/dtd2xsd/dtd2xsd-net_4_x.csproj
new file mode 100644 (file)
index 0000000..01da80a
--- /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>{D22ABC86-1275-431C-911C-D14EE2A20FD7}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>dtd2xsd</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="dtd2xsd.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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/tools/gacutil/gacutil-net_4_x.csproj b/mcs/tools/gacutil/gacutil-net_4_x.csproj
new file mode 100644 (file)
index 0000000..fb1472e
--- /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>{6B9993FC-E28D-4D55-8F96-C8A35B2BC6E7}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699,1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>gacutil</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,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>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,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="..\security\StrongNameManager.cs" />\r
+    <Compile Include="driver.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/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/tools/genxs/genxs-net_4_x.csproj b/mcs/tools/genxs/genxs-net_4_x.csproj
new file mode 100644 (file)
index 0000000..508aee2
--- /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>{DCD2613C-B1A0-489B-BCA1-79BEBB9B9541}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>genxs</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="genxs.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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/tools/ictool/ictool-net_4_x.csproj b/mcs/tools/ictool/ictool-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7c3ce2b
--- /dev/null
@@ -0,0 +1,89 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{92EBF79E-AB94-4543-B130-6FEE6D0B3526}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>ictool</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="depgraph.cs" />\r
+    <Compile Include="ictool.cs" />\r
+    <Compile Include="peer.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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/tools/ikdasm/ikdasm-net_4_x.csproj b/mcs/tools/ikdasm/ikdasm-net_4_x.csproj
new file mode 100644 (file)
index 0000000..f8aa6be
--- /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>{921F19B8-7276-446C-B096-A29AAAB83E12}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>ikdasm</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;NO_SYMBOL_WRITER;NET_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>NO_SYMBOL_WRITER;NET_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\ikdasm\CABlob.cs" />\r
+    <Compile Include="..\..\..\external\ikdasm\Disassembler.cs" />\r
+    <Compile Include="..\..\..\external\ikdasm\ExportedMethods.cs" />\r
+    <Compile Include="..\..\..\external\ikdasm\IL.cs" />\r
+    <Compile Include="..\..\..\external\ikdasm\Keywords.cs" />\r
+    <Compile Include="..\..\..\external\ikdasm\LineWriter.cs" />\r
+    <Compile Include="..\..\..\external\ikdasm\Program.cs" />\r
+    <Compile Include="..\..\..\external\ikdasm\TableDumper.cs" />\r
+    <Compile Include="..\..\..\external\ikdasm\Util.cs" />\r
+    <Compile Include="..\..\..\external\ikdasm\VTableFixups.cs" />\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="..\..\class\Mono.Options\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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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
+
diff --git a/mcs/tools/installutil/installutil-net_4_x.csproj b/mcs/tools/installutil/installutil-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2dfe29a
--- /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>{503D43D5-65AF-401A-9D50-53B514724152}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>installutil</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="installutil.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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="../../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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/installvst/installvst-net_4_x.csproj b/mcs/tools/installvst/installvst-net_4_x.csproj
new file mode 100644 (file)
index 0000000..01cd3e3
--- /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>{DC8E3822-546F-4D5F-BEAF-61C9855FF50B}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>installvst</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="installvst.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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/tools/lc/lc-net_4_x.csproj b/mcs/tools/lc/lc-net_4_x.csproj
new file mode 100644 (file)
index 0000000..2c8b983
--- /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>{427F59C0-5770-4C73-83B0-F445303C26CB}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>lc</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="..\..\class\Mono.Options\Mono.Options\Options.cs" />\r
+    <Compile Include="AssemblyInfo.cs" />\r
+    <Compile Include="lc.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/linker-analyzer/linkeranalyzer-net_4_x.csproj b/mcs/tools/linker-analyzer/linkeranalyzer-net_4_x.csproj
new file mode 100644 (file)
index 0000000..c417ab0
--- /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>{D7789C48-C33A-4FE5-BD42-4DBAB2850796}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>linkeranalyzer</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="..\..\class\Mono.Options\Mono.Options\Options.cs" />\r
+    <Compile Include="ConsoleDependencyGraph.cs" />\r
+    <Compile Include="LinkerAnalyzerCore\DependencyGraph.cs" />\r
+    <Compile Include="Main.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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/tools/linker/monolinker-net_4_x.csproj b/mcs/tools/linker/monolinker-net_4_x.csproj
new file mode 100644 (file)
index 0000000..cfff038
--- /dev/null
@@ -0,0 +1,145 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{FA920637-C202-4E75-AC0F-1A8DBD631DF1}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>monolinker</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=".\Mono.Linker.Steps\BaseStep.cs" />\r
+    <Compile Include=".\Mono.Linker.Steps\BlacklistStep.cs" />\r
+    <Compile Include=".\Mono.Linker.Steps\CleanStep.cs" />\r
+    <Compile Include=".\Mono.Linker.Steps\IStep.cs" />\r
+    <Compile Include=".\Mono.Linker.Steps\LoadI18nAssemblies.cs" />\r
+    <Compile Include=".\Mono.Linker.Steps\LoadReferencesStep.cs" />\r
+    <Compile Include=".\Mono.Linker.Steps\MarkStep.cs" />\r
+    <Compile Include=".\Mono.Linker.Steps\OutputStep.cs" />\r
+    <Compile Include=".\Mono.Linker.Steps\RegenerateGuidStep.cs" />\r
+    <Compile Include=".\Mono.Linker.Steps\ResolveFromAssemblyStep.cs" />\r
+    <Compile Include=".\Mono.Linker.Steps\ResolveFromXApiStep.cs" />\r
+    <Compile Include=".\Mono.Linker.Steps\ResolveFromXmlStep.cs" />\r
+    <Compile Include=".\Mono.Linker.Steps\ResolveStep.cs" />\r
+    <Compile Include=".\Mono.Linker.Steps\SweepStep.cs" />\r
+    <Compile Include=".\Mono.Linker.Steps\TypeMapStep.cs" />\r
+    <Compile Include=".\Mono.Linker\Annotations.cs" />\r
+    <Compile Include=".\Mono.Linker\AssemblyAction.cs" />\r
+    <Compile Include=".\Mono.Linker\AssemblyInfo.cs" />\r
+    <Compile Include=".\Mono.Linker\AssemblyResolver.cs" />\r
+    <Compile Include=".\Mono.Linker\Driver.cs" />\r
+    <Compile Include=".\Mono.Linker\I18nAssemblies.cs" />\r
+    <Compile Include=".\Mono.Linker\IXApiVisitor.cs" />\r
+    <Compile Include=".\Mono.Linker\LinkContext.cs" />\r
+    <Compile Include=".\Mono.Linker\MethodAction.cs" />\r
+    <Compile Include=".\Mono.Linker\Pipeline.cs" />\r
+    <Compile Include=".\Mono.Linker\TypePreserve.cs" />\r
+    <Compile Include=".\Mono.Linker\XApiReader.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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
+    <ProjectReference Include="../../class/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
+  <ItemGroup>\r
+    <EmbeddedResource Include="Descriptors/mscorlib.xml">\r
+      <LogicalName>mscorlib.xml</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Descriptors/System.xml">\r
+      <LogicalName>System.xml</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Descriptors/System.Core.xml">\r
+      <LogicalName>System.Core.xml</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Descriptors/System.Drawing.xml">\r
+      <LogicalName>System.Drawing.xml</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Descriptors/System.Web.xml">\r
+      <LogicalName>System.Web.xml</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Descriptors/Mono.Posix.xml">\r
+      <LogicalName>Mono.Posix.xml</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/macpack/macpack-net_4_x.csproj b/mcs/tools/macpack/macpack-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7d18975
--- /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>{420CBB84-F8F6-4F77-8AE1-6B886D5DEDAB}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>macpack</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="MacPack.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="LOADER">\r
+      <LogicalName>LOADER</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="PLIST">\r
+      <LogicalName>PLIST</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
index 92fc95c91f12e5a9cb6264dbda65c233aba2ab30..48b315986db977ce8296989159c35500806bc031 100644 (file)
@@ -6,17 +6,12 @@ LOCAL_MCS_FLAGS =
 LIB_REFS = System.Xml System
 PROGRAM = mconfig.exe
 
-BUILT_SOURCES=Mono.MonoConfig/consts.cs
-
-Mono.MonoConfig/consts.cs: Mono.MonoConfig/consts.cs.in
-       sed -e "s;@MONO_SYSCONFDIR@;$(sysconfdir);g" < $< > $@
-
 install-local: install-local-data
 
 install-local-data:
        $(MKINSTALLDIRS) $(DESTDIR)$(sysconfdir)/mono/mconfig/
        $(INSTALL_DATA) data/config.xml $(DESTDIR)$(sysconfdir)/mono/mconfig
 
-EXTRA_DISTFILES = TODO data/config.xml Mono.MonoConfig/consts.cs.in
+EXTRA_DISTFILES = TODO data/config.xml 
 
 include ../../build/executable.make
diff --git a/mcs/tools/mconfig/Mono.MonoConfig/consts.cs.in b/mcs/tools/mconfig/Mono.MonoConfig/consts.cs.in
deleted file mode 100644 (file)
index 8b7cbbe..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-//
-// 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.IO;
-
-namespace Mono.MonoConfig
-{
-       public class Constants
-       {
-               public static readonly string GlobalConfigPath;
-
-               static Constants ()
-               {
-                       GlobalConfigPath = String.Format ("@MONO_SYSCONFDIR@{0}mono{0}mconfig{0}config.xml",
-                                                         Path.DirectorySeparatorChar);
-               }
-       }
-}
diff --git a/mcs/tools/mconfig/mconfig-net_4_x.csproj b/mcs/tools/mconfig/mconfig-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b7d6094
--- /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>{8B85F71C-81E2-4732-8A85-CBBFA8E09FF3}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>mconfig</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="mconfig.cs" />\r
+    <Compile Include="Mono.MonoConfig\Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="Mono.MonoConfig\ConfigBlockBlock.cs" />\r
+    <Compile Include="Mono.MonoConfig\ConfigBlockNodeHandler.cs" />\r
+    <Compile Include="Mono.MonoConfig\Configuration.cs" />\r
+    <Compile Include="Mono.MonoConfig\DefaultConfigFileNodeHandler.cs" />\r
+    <Compile Include="Mono.MonoConfig\DefaultNodeHandler.cs" />\r
+    <Compile Include="Mono.MonoConfig\FeatureAction.cs" />\r
+    <Compile Include="Mono.MonoConfig\FeatureBlock.cs" />\r
+    <Compile Include="Mono.MonoConfig\FeatureNode.cs" />\r
+    <Compile Include="Mono.MonoConfig\FeatureNodeHandler.cs" />\r
+    <Compile Include="Mono.MonoConfig\FeatureTarget.cs" />\r
+    <Compile Include="Mono.MonoConfig\Helpers.cs" />\r
+    <Compile Include="Mono.MonoConfig\IConfigBlockContainer.cs" />\r
+    <Compile Include="Mono.MonoConfig\IDefaultConfigFileContainer.cs" />\r
+    <Compile Include="Mono.MonoConfig\IDefaultContainer.cs" />\r
+    <Compile Include="Mono.MonoConfig\IDocumentNodeHandler.cs" />\r
+    <Compile Include="Mono.MonoConfig\IFeatureGenerator.cs" />\r
+    <Compile Include="Mono.MonoConfig\IStorageConsumer.cs" />\r
+    <Compile Include="Mono.MonoConfig\Section.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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="../../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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 5887f739dbbfb43b1102445f635a313867e17be3..7fc9f0bc97b62be945c9724e047fbd6a871b3248 100644 (file)
@@ -270,7 +270,7 @@ namespace Mono.MonoConfig
        class MConfig
        {
                static string[] configPaths = {
-                       Constants.GlobalConfigPath,
+                       Path.GetFullPath (Path.Combine (Environment.CommandLine, "..", "..", "..","..", "etc", "mono", "mconfig", "config.xml")),
                        Path.Combine (ConfigPath, "config.xml"),
                        Path.Combine (".", "mconfig.xml"),
                        null
index e0f6fe81956c8d31dcc2fda6fd1dabbec4db5658..cbe723d27175429e8d405da624e479f10cbb65d4 100644 (file)
@@ -1,4 +1,4 @@
-thisdir = tools/mdb-rebase
+thisdir = tools/mdbrebase
 SUBDIRS =
 include ../../build/rules.make
 
diff --git a/mcs/tools/mdbrebase/mdbrebase-net_4_x.csproj b/mcs/tools/mdbrebase/mdbrebase-net_4_x.csproj
new file mode 100644 (file)
index 0000000..31f5f47
--- /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>{01B02BFF-0DC3-4265-BFAA-EDE405950796}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>mdbrebase</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="..\..\class\Mono.Options\Mono.Options\Options.cs" />\r
+    <Compile Include=".\mdbrebase.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/Mono.CompilerServices.SymbolWriter/Mono.CompilerServices.SymbolWriter-net_4_x.csproj">\r
+      <Project>{88177C4B-894F-485D-B95A-44199C06BE9F}</Project>\r
+      <Name>Mono.CompilerServices.SymbolWriter-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index efb76cbf9e0dea90c21deeae424c932d5d57c504..c319f54ecfcd67efb50bdd224b2bcdbfbb9df41c 100644 (file)
@@ -183,12 +183,12 @@ check-monodocer-dropns-multi: $(PROGRAM)
        $(MAKE) Test/DocTest-DropNS-unified-multitest.dll
 
        # mdoc update for both classic and unified
-       $(MONO) $(PROGRAM) update --exceptions=all -o Test/en.actual $(MULTI-CLASSIC) --api-style=classic -multiassembly
-       $(MONO) $(PROGRAM) update --exceptions=all -o Test/en.actual $(MULTI-UNIFIED) --api-style=unified --dropns Test/DocTest-DropNS-unified.dll=MyFramework --dropns Test/DocTest-DropNS-unified-multitest.dll=MyFramework -multiassembly
+       $(MONO) $(PROGRAM) update --exceptions=all -o Test/en.actual $(MULTI-CLASSIC) --api-style=classic 
+       $(MONO) $(PROGRAM) update --exceptions=all -o Test/en.actual $(MULTI-UNIFIED) --api-style=unified --dropns Test/DocTest-DropNS-unified.dll=MyFramework --dropns Test/DocTest-DropNS-unified-multitest.dll=MyFramework 
        
        # now run it again to verify idempotency
-       $(MONO) $(PROGRAM) update --exceptions=all -o Test/en.actual $(MULTI-CLASSIC) --api-style=classic -multiassembly
-       $(MONO) $(PROGRAM) update --exceptions=all -o Test/en.actual $(MULTI-UNIFIED) --api-style=unified --dropns Test/DocTest-DropNS-unified.dll=MyFramework --dropns Test/DocTest-DropNS-unified-multitest.dll=MyFramework -multiassembly
+       $(MONO) $(PROGRAM) update --exceptions=all -o Test/en.actual $(MULTI-CLASSIC) --api-style=classic 
+       $(MONO) $(PROGRAM) update --exceptions=all -o Test/en.actual $(MULTI-UNIFIED) --api-style=unified --dropns Test/DocTest-DropNS-unified.dll=MyFramework --dropns Test/DocTest-DropNS-unified-multitest.dll=MyFramework 
        
        diff --exclude=.svn -rup Test/en.expected-dropns-multi Test/en.actual
 
@@ -205,8 +205,8 @@ check-monodocer-dropns-multi-withexisting: $(PROGRAM)
        $(MONO) $(PROGRAM) update --exceptions=all -o Test/en.actual Test/DocTest-DropNS-unified.dll --api-style=unified --dropns Test/DocTest-DropNS-unified.dll=MyFramework 
        
        # mdoc update for both classic and unified
-       $(MONO) $(PROGRAM) update --exceptions=all -o Test/en.actual $(MULTI-CLASSIC) --api-style=classic -multiassembly
-       $(MONO) $(PROGRAM) update --exceptions=all -o Test/en.actual $(MULTI-UNIFIED) --api-style=unified --dropns Test/DocTest-DropNS-unified.dll=MyFramework --dropns Test/DocTest-DropNS-unified-multitest.dll=MyFramework -multiassembly
+       $(MONO) $(PROGRAM) update --exceptions=all -o Test/en.actual $(MULTI-CLASSIC) --api-style=classic 
+       $(MONO) $(PROGRAM) update --exceptions=all -o Test/en.actual $(MULTI-UNIFIED) --api-style=unified --dropns Test/DocTest-DropNS-unified.dll=MyFramework --dropns Test/DocTest-DropNS-unified-multitest.dll=MyFramework 
        
        diff --exclude=.svn -rup Test/en.expected-dropns-multi-withexisting Test/en.actual
 
index a8f1ccc50290aeeeb70422e0aec4a93274f6528b..dc94c3a50b827a931eeae57f6e891f0428fef047 100644 (file)
@@ -135,7 +135,7 @@ class MDocUpdater : MDocCommand
        
        string apistyle = string.Empty;
        bool isClassicRun;
-       bool multiassembly;
+       
        bool delete;
        bool show_exceptions;
        bool no_assembly_versions, ignore_missing_types;
@@ -194,7 +194,14 @@ class MDocUpdater : MDocCommand
        {
                return !string.IsNullOrWhiteSpace (droppedNamespace);
        }
-
+       
+       /// <summary>Logic flag to signify that we should list assemblies at the method level, since there are multiple
+       /// assemblies for a given type/method.</summary>
+       public bool IsMultiAssembly {
+               get { 
+                       return apistyle == "classic" || apistyle == "unified";
+               }
+       }
        
        static List<string> droppedAssemblies = new List<string>();
 
@@ -281,12 +288,9 @@ class MDocUpdater : MDocCommand
                        { "preserve",
                                "Do not delete members that don't exist in the assembly, but rather mark them as preserved.",
                                v => PreserveTag = "true" },
-                       { "multiassembly",
-                               "Allow types to be in multiple assemblies.",
-                               v => multiassembly = true },
                        { "api-style=",
                                "Denotes the apistyle. Currently, only `classic` and `unified` are supported. `classic` set of assemblies should be run first, immediately followed by 'unified' assemblies with the `dropns` parameter.",
-                               v => apistyle = v.ToLowerInvariant ()},
+                               v => { apistyle = v.ToLowerInvariant (); }},
                };
                var assemblies = Parse (p, args, "update", 
                                "[OPTIONS]+ ASSEMBLIES",
@@ -787,7 +791,7 @@ class MDocUpdater : MDocCommand
        private void AddIndexAssembly (AssemblyDefinition assembly, XmlElement parent)
        {
                XmlElement index_assembly = null;
-               if (multiassembly) 
+               if (IsMultiAssembly) 
                        index_assembly = (XmlElement)parent.SelectSingleNode ("Assembly[@Name='"+ assembly.Name.Name +"']");
                
                if (index_assembly == null) 
@@ -867,7 +871,7 @@ class MDocUpdater : MDocCommand
                
                XmlElement index_types = WriteElement(index.DocumentElement, "Types");
                XmlElement index_assemblies = WriteElement(index.DocumentElement, "Assemblies");
-               if (!multiassembly) 
+               if (!IsMultiAssembly) 
                        index_assemblies.RemoveAll ();
 
 
@@ -1765,7 +1769,7 @@ class MDocUpdater : MDocCommand
                WriteElementText(me, "MemberType", GetMemberType(mi));
 
                if (!no_assembly_versions) {
-                       if (!multiassembly)
+                       if (!IsMultiAssembly)
                                UpdateAssemblyVersions (me, mi, true);
                        else {
                                var node = AddAssemblyNameToNode (me, mi.Module);
@@ -2013,7 +2017,10 @@ class MDocUpdater : MDocCommand
                member.AppendChild (link);
                AddTargets (em, info);
 
-               extensionMethods.Add (em);
+               var sig = em.SelectSingleNode ("Member/MemberSignature[@Language='C#']/@Value");
+               if (!IsMultiAssembly || (IsMultiAssembly && sig != null && !extensionMethods.Any (ex => ex.SelectSingleNode ("Member/MemberSignature[@Language='C#']/@Value").Value == sig.Value))) {
+                       extensionMethods.Add (em);
+               }
        }
 
        private static void RemoveExcept (XmlNode node, string[] except)
@@ -2404,7 +2411,7 @@ class MDocUpdater : MDocCommand
        
        private bool UpdateAssemblyVersions(XmlElement root, AssemblyDefinition assembly, string[] assemblyVersions, bool add)
        {
-               if (multiassembly)
+               if (IsMultiAssembly)
                        return false;
                        
                XmlElement av = (XmlElement) root.SelectSingleNode ("AssemblyVersions");
index 303c58e8882b0a65ea59086460b6763f8e6ede12..b9cbce549bf5c6f2c2d614cea5c67465bbba1022 100644 (file)
@@ -21,6 +21,9 @@ namespace MyFramework.MyNamespace {
                public string WillDeleteInV2Classic {get;set;}
                #endif
        }
+       public static class MyClassExtensions {
+               public static bool AnExtension (this MyClass value) { return false; }
+       }
 
        #if DELETETEST 
        public class TypeOnlyInClassic {}
index b4fcc9ea01b867f443912233f6fffcf06d8e53b1..a11dcb9c2c870c8b3c73c2bf2e195a6065100b37 100644 (file)
@@ -22,6 +22,9 @@ namespace MyNamespace {
                #endif
        }
 
+       public static class MyClassExtensions {
+               public static bool AnExtension (this MyClass value) { return false; }
+       }
        #if DELETETEST
        public struct nint {
 
index 77388be8815e6d2dd07ddcf53b72fdc006852272..317b6a61848439d00608f98cb1a02be2166c40c7 100644 (file)
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
       <MemberType>Constructor</MemberType>
       <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <Parameters />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(int32 value) cil managed" />
       <MemberType>Method</MemberType>
       <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
       <MemberSignature Language="ILAsm" Value=".property instance string MyProperty" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
@@ -81,6 +87,7 @@
       <MemberSignature Language="ILAsm" Value=".property instance float64 OnlyInClassic" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
       <MemberSignature Language="ILAsm" Value=".property instance char OnlyInUnified" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
diff --git a/mcs/tools/mdoc/Test/en.expected-dropns-classic-v1/MyFramework.MyNamespace/MyClassExtensions.xml b/mcs/tools/mdoc/Test/en.expected-dropns-classic-v1/MyFramework.MyNamespace/MyClassExtensions.xml
new file mode 100644 (file)
index 0000000..a11fafe
--- /dev/null
@@ -0,0 +1,47 @@
+<Type Name="MyClassExtensions" FullName="MyFramework.MyNamespace.MyClassExtensions">
+  <TypeSignature Language="C#" Value="public static class MyClassExtensions" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit MyClassExtensions extends System.Object" />
+  <AssemblyInfo apistyle="classic">
+    <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
+  </AssemblyInfo>
+  <AssemblyInfo apistyle="unified">
+    <AssemblyName>DocTest-DropNS-unified</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="AnExtension">
+      <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+      <MemberType>Method</MemberType>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+      </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>
+  </Members>
+</Type>
index edacc723f54ac08993c55589023916a935d329c6..330a3895e2d6f820093a061b0a24f8bf32323fb5 100644 (file)
@@ -1,5 +1,15 @@
 <Overview>
   <Assemblies>
+    <Assembly Name="DocTest-DropNS-classic" 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>
     <Assembly Name="DocTest-DropNS-unified" Version="0.0.0.0">
       <Attributes>
         <Attribute>
   <Types>
     <Namespace Name="MyFramework.MyNamespace">
       <Type Name="MyClass" Kind="Class" />
+      <Type Name="MyClassExtensions" Kind="Class" />
     </Namespace>
   </Types>
   <Title>DocTest-DropNS-classic</Title>
+  <ExtensionMethods>
+    <ExtensionMethod>
+      <Targets>
+        <Target Type="T:MyFramework.MyNamespace.MyClass" />
+      </Targets>
+      <Member MemberName="AnExtension">
+        <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+        <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+        <MemberType>ExtensionMethod</MemberType>
+        <ReturnValue>
+          <ReturnType>System.Boolean</ReturnType>
+        </ReturnValue>
+        <Parameters>
+          <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+        </Parameters>
+        <Docs>
+          <param name="value">To be added.</param>
+          <summary>To be added.</summary>
+        </Docs>
+        <Link Type="MyFramework.MyNamespace.MyClassExtensions" Member="M:MyFramework.MyNamespace.MyClassExtensions.AnExtension(MyFramework.MyNamespace.MyClass)" />
+      </Member>
+    </ExtensionMethod>
+  </ExtensionMethods>
 </Overview>
index 77388be8815e6d2dd07ddcf53b72fdc006852272..317b6a61848439d00608f98cb1a02be2166c40c7 100644 (file)
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
       <MemberType>Constructor</MemberType>
       <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <Parameters />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(int32 value) cil managed" />
       <MemberType>Method</MemberType>
       <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
       <MemberSignature Language="ILAsm" Value=".property instance string MyProperty" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
@@ -81,6 +87,7 @@
       <MemberSignature Language="ILAsm" Value=".property instance float64 OnlyInClassic" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
       <MemberSignature Language="ILAsm" Value=".property instance char OnlyInUnified" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
diff --git a/mcs/tools/mdoc/Test/en.expected-dropns-classic-withsecondary/MyFramework.MyNamespace/MyClassExtensions.xml b/mcs/tools/mdoc/Test/en.expected-dropns-classic-withsecondary/MyFramework.MyNamespace/MyClassExtensions.xml
new file mode 100644 (file)
index 0000000..a11fafe
--- /dev/null
@@ -0,0 +1,47 @@
+<Type Name="MyClassExtensions" FullName="MyFramework.MyNamespace.MyClassExtensions">
+  <TypeSignature Language="C#" Value="public static class MyClassExtensions" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit MyClassExtensions extends System.Object" />
+  <AssemblyInfo apistyle="classic">
+    <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
+  </AssemblyInfo>
+  <AssemblyInfo apistyle="unified">
+    <AssemblyName>DocTest-DropNS-unified</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="AnExtension">
+      <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+      <MemberType>Method</MemberType>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+      </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>
+  </Members>
+</Type>
index a920ce2f499be95356c1c871a34f1ad37f34f4ce..0e02038a020f0effe409983a68c7745ef17c4236 100644 (file)
     <remarks>To be added.</remarks>
   </Docs>
   <Members>
-    <Member MemberName=".ctor">
+    <Member MemberName=".ctor" apistyle="classic">
       <MemberSignature Language="C#" Value="public MyOtherClass ();" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
       <MemberType>Constructor</MemberType>
-      <AssemblyInfo>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <Parameters />
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
-    <Member MemberName="Hello">
+    <Member MemberName="Hello" apistyle="classic">
       <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>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
         <remarks>To be added.</remarks>
       </Docs>
     </Member>
-    <Member MemberName="MyProperty">
+    <Member MemberName="MyProperty" apistyle="classic">
       <MemberSignature Language="C#" Value="public string MyProperty { get; set; }" />
       <MemberSignature Language="ILAsm" Value=".property instance string MyProperty" />
       <MemberType>Property</MemberType>
-      <AssemblyInfo>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic-secondary</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
index d0fb593627f3766e62c6fd348e6b96841a4b892d..3620aa8d0aa62ee29fff4c171fa457b5bdd67289 100644 (file)
@@ -1,5 +1,15 @@
 <Overview>
   <Assemblies>
+    <Assembly Name="DocTest-DropNS-classic" 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>
     <Assembly Name="DocTest-DropNS-unified" Version="0.0.0.0">
       <Attributes>
         <Attribute>
   <Types>
     <Namespace Name="MyFramework.MyNamespace">
       <Type Name="MyClass" Kind="Class" />
+      <Type Name="MyClassExtensions" Kind="Class" />
     </Namespace>
     <Namespace Name="MyFramework.MyOtherNamespace">
       <Type Name="MyOtherClass" Kind="Class" />
     </Namespace>
   </Types>
   <Title>Untitled</Title>
+  <ExtensionMethods>
+    <ExtensionMethod>
+      <Targets>
+        <Target Type="T:MyFramework.MyNamespace.MyClass" />
+      </Targets>
+      <Member MemberName="AnExtension">
+        <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+        <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+        <MemberType>ExtensionMethod</MemberType>
+        <ReturnValue>
+          <ReturnType>System.Boolean</ReturnType>
+        </ReturnValue>
+        <Parameters>
+          <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+        </Parameters>
+        <Docs>
+          <param name="value">To be added.</param>
+          <summary>To be added.</summary>
+        </Docs>
+        <Link Type="MyFramework.MyNamespace.MyClassExtensions" Member="M:MyFramework.MyNamespace.MyClassExtensions.AnExtension(MyFramework.MyNamespace.MyClass)" />
+      </Member>
+    </ExtensionMethod>
+  </ExtensionMethods>
 </Overview>
index 1ff3447bab2cbf2ea7bed3a8c06f5337bffa4352..13e6364a07b37b639c9c073dd7eac088da3594c4 100644 (file)
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
       <MemberType>Constructor</MemberType>
       <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>
       <Parameters />
       <MemberSignature Language="ILAsm" Value=".property instance string AddedInV2" />
       <MemberType>Property</MemberType>
       <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>
       <ReturnValue>
@@ -58,6 +62,7 @@
       <MemberSignature Language="ILAsm" Value=".property instance string AddedInV2Classic" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic-deletetest</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
@@ -74,6 +79,7 @@
       <MemberSignature Language="ILAsm" Value=".property instance string AddedInV2Unified" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified-deletetest</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
       <MemberSignature Language="ILAsm" Value=".method public hidebysig instance float32 Hello(int32 value) cil managed" />
       <MemberType>Method</MemberType>
       <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>
       <ReturnValue>
       <MemberSignature Language="ILAsm" Value=".property instance string InBoth" />
       <MemberType>Property</MemberType>
       <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>
       <ReturnValue>
       <MemberSignature Language="ILAsm" Value=".property instance string InBothClassic" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic-deletetest</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
       <MemberSignature Language="ILAsm" Value=".property instance valuetype MyFramework.MyNamespace.nint InBothMagicType" apistyle="unified" />
       <MemberType>Property</MemberType>
       <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>
       <ReturnValue>
       <MemberSignature Language="ILAsm" Value=".property instance string InBothUnified" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified-deletetest</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
       <MemberSignature Language="ILAsm" Value=".property instance string MyProperty" />
       <MemberType>Property</MemberType>
       <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>
       <ReturnValue>
       <MemberSignature Language="ILAsm" Value=".property instance float64 OnlyInClassic" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic-deletetest</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
       <MemberSignature Language="ILAsm" Value=".property instance char OnlyInUnified" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified-deletetest</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
diff --git a/mcs/tools/mdoc/Test/en.expected-dropns-delete/MyFramework.MyNamespace/MyClassExtensions.xml b/mcs/tools/mdoc/Test/en.expected-dropns-delete/MyFramework.MyNamespace/MyClassExtensions.xml
new file mode 100644 (file)
index 0000000..3edb15b
--- /dev/null
@@ -0,0 +1,47 @@
+<Type Name="MyClassExtensions" FullName="MyFramework.MyNamespace.MyClassExtensions">
+  <TypeSignature Language="C#" Value="public static class MyClassExtensions" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit MyClassExtensions 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="AnExtension">
+      <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+      <MemberType>Method</MemberType>
+      <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>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+      </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>
+  </Members>
+</Type>
index 7e6adf24eb3cabbef8a1b7267c9d36e811c6147e..442a2d7c543c3c068fbf6ee29852c6975e0c668e 100644 (file)
     <remarks>To be added.</remarks>
   </Docs>
   <Members>
-    <Member MemberName=".ctor">
+    <Member MemberName=".ctor" apistyle="classic">
       <MemberSignature Language="C#" Value="public TypeOnlyInClassic ();" />
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
       <MemberType>Constructor</MemberType>
-      <AssemblyInfo>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic-deletetest</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <Parameters />
index ac5394fb6d1a2335bb5aba753001a5ba8b08c94a..07c03dcff7698b5fa71ecbf634f2603e513aacc4 100644 (file)
@@ -1,6 +1,10 @@
 <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" />
+  <AssemblyInfo apistyle="unified">
+    <AssemblyName>DocTest-DropNS-unified-deletetest</AssemblyName>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
+  </AssemblyInfo>
   <Base>
     <BaseTypeName>System.Object</BaseTypeName>
   </Base>
@@ -15,6 +19,7 @@
       <MemberSignature Language="ILAsm" Value=".method public hidebysig specialname rtspecialname instance void .ctor() cil managed" />
       <MemberType>Constructor</MemberType>
       <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified-deletetest</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <Parameters />
@@ -28,6 +33,7 @@
       <MemberSignature Language="ILAsm" Value=".property instance string Name" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified-deletetest</AssemblyName>
         <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <ReturnValue>
index 0988450d779f6a8d4525b843aa6582e611a9c05a..02836fe971389cfac70a04298c3a339d704f6d1b 100644 (file)
@@ -1,5 +1,15 @@
 <Overview>
   <Assemblies>
+    <Assembly Name="DocTest-DropNS-classic-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>
     <Assembly Name="DocTest-DropNS-unified-deletetest" Version="0.0.0.0">
       <Attributes>
         <Attribute>
   <Types>
     <Namespace Name="MyFramework.MyNamespace">
       <Type Name="MyClass" Kind="Class" />
+      <Type Name="MyClassExtensions" Kind="Class" />
       <Type Name="nint" Kind="Structure" />
     </Namespace>
   </Types>
   <Title>DocTest-DropNS-classic-deletetest</Title>
+  <ExtensionMethods>
+    <ExtensionMethod>
+      <Targets>
+        <Target Type="T:MyFramework.MyNamespace.MyClass" />
+      </Targets>
+      <Member MemberName="AnExtension">
+        <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+        <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+        <MemberType>ExtensionMethod</MemberType>
+        <ReturnValue>
+          <ReturnType>System.Boolean</ReturnType>
+        </ReturnValue>
+        <Parameters>
+          <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+        </Parameters>
+        <Docs>
+          <param name="value">To be added.</param>
+          <summary>To be added.</summary>
+        </Docs>
+        <Link Type="MyFramework.MyNamespace.MyClassExtensions" Member="M:MyFramework.MyNamespace.MyClassExtensions.AnExtension(MyFramework.MyNamespace.MyClass)" />
+      </Member>
+    </ExtensionMethod>
+  </ExtensionMethods>
 </Overview>
index e73f7d55ff31f2a434f8c8296f6ae479c3237a7e..a88b428a94eb9e51ac7924e677e6caa81369ea9c 100644 (file)
       <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>
         <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <AssemblyInfo apistyle="unified">
-        <AssemblyVersion>0.0.0.0</AssemblyVersion>
         <AssemblyName>DocTest-DropNS-unified</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <AssemblyInfo apistyle="classic">
         <AssemblyName>DocTest-DropNS-classic-multitest</AssemblyName>
       <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>
         <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <AssemblyInfo apistyle="unified">
-        <AssemblyVersion>0.0.0.0</AssemblyVersion>
         <AssemblyName>DocTest-DropNS-unified</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <AssemblyInfo apistyle="classic">
         <AssemblyName>DocTest-DropNS-classic-multitest</AssemblyName>
       <MemberSignature Language="ILAsm" Value=".property instance string MyProperty" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="classic">
-        <AssemblyVersion>0.0.0.0</AssemblyVersion>
         <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <AssemblyInfo apistyle="unified">
-        <AssemblyVersion>0.0.0.0</AssemblyVersion>
         <AssemblyName>DocTest-DropNS-unified</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <AssemblyInfo apistyle="classic">
         <AssemblyName>DocTest-DropNS-classic-multitest</AssemblyName>
       <MemberSignature Language="ILAsm" Value=".property instance float64 OnlyInClassic" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="classic">
-        <AssemblyVersion>0.0.0.0</AssemblyVersion>
         <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <AssemblyInfo apistyle="classic">
         <AssemblyName>DocTest-DropNS-classic-multitest</AssemblyName>
       <MemberSignature Language="ILAsm" Value=".property instance char OnlyInUnified" />
       <MemberType>Property</MemberType>
       <AssemblyInfo apistyle="unified">
-        <AssemblyVersion>0.0.0.0</AssemblyVersion>
         <AssemblyName>DocTest-DropNS-unified</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
       </AssemblyInfo>
       <AssemblyInfo apistyle="unified">
         <AssemblyName>DocTest-DropNS-unified-multitest</AssemblyName>
diff --git a/mcs/tools/mdoc/Test/en.expected-dropns-multi-withexisting/MyFramework.MyNamespace/MyClassExtensions.xml b/mcs/tools/mdoc/Test/en.expected-dropns-multi-withexisting/MyFramework.MyNamespace/MyClassExtensions.xml
new file mode 100644 (file)
index 0000000..7a504e2
--- /dev/null
@@ -0,0 +1,63 @@
+<Type Name="MyClassExtensions" FullName="MyFramework.MyNamespace.MyClassExtensions">
+  <TypeSignature Language="C#" Value="public static class MyClassExtensions" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit MyClassExtensions extends System.Object" />
+  <AssemblyInfo apistyle="classic">
+    <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
+  </AssemblyInfo>
+  <AssemblyInfo apistyle="unified">
+    <AssemblyName>DocTest-DropNS-unified</AssemblyName>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
+  </AssemblyInfo>
+  <AssemblyInfo apistyle="classic">
+    <AssemblyName>DocTest-DropNS-classic-multitest</AssemblyName>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
+  </AssemblyInfo>
+  <AssemblyInfo apistyle="unified">
+    <AssemblyName>DocTest-DropNS-unified-multitest</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="AnExtension">
+      <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+      <MemberType>Method</MemberType>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic-multitest</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified-multitest</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+      </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>
+  </Members>
+</Type>
index 6b5124ac28c21ac75ee214219b4f4c569e84a21b..734bd3da1a49741887d2e6155e3fe8926033e35b 100644 (file)
   <Types>
     <Namespace Name="MyFramework.MyNamespace">
       <Type Name="MyClass" Kind="Class" />
+      <Type Name="MyClassExtensions" Kind="Class" />
       <Type Name="OnlyInMulti" Kind="Class" />
     </Namespace>
   </Types>
   <Title>DocTest-DropNS-classic</Title>
+  <ExtensionMethods>
+    <ExtensionMethod>
+      <Targets>
+        <Target Type="T:MyFramework.MyNamespace.MyClass" />
+      </Targets>
+      <Member MemberName="AnExtension">
+        <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+        <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+        <MemberType>ExtensionMethod</MemberType>
+        <ReturnValue>
+          <ReturnType>System.Boolean</ReturnType>
+        </ReturnValue>
+        <Parameters>
+          <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+        </Parameters>
+        <Docs>
+          <param name="value">To be added.</param>
+          <summary>To be added.</summary>
+        </Docs>
+        <Link Type="MyFramework.MyNamespace.MyClassExtensions" Member="M:MyFramework.MyNamespace.MyClassExtensions.AnExtension(MyFramework.MyNamespace.MyClass)" />
+      </Member>
+    </ExtensionMethod>
+  </ExtensionMethods>
 </Overview>
diff --git a/mcs/tools/mdoc/Test/en.expected-dropns-multi/MyFramework.MyNamespace/MyClassExtensions.xml b/mcs/tools/mdoc/Test/en.expected-dropns-multi/MyFramework.MyNamespace/MyClassExtensions.xml
new file mode 100644 (file)
index 0000000..c3e0ca7
--- /dev/null
@@ -0,0 +1,63 @@
+<Type Name="MyClassExtensions" FullName="MyFramework.MyNamespace.MyClassExtensions">
+  <TypeSignature Language="C#" Value="public static class MyClassExtensions" />
+  <TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit MyClassExtensions extends System.Object" />
+  <AssemblyInfo apistyle="classic">
+    <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
+  </AssemblyInfo>
+  <AssemblyInfo apistyle="classic">
+    <AssemblyName>DocTest-DropNS-classic-multitest</AssemblyName>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
+  </AssemblyInfo>
+  <AssemblyInfo apistyle="unified">
+    <AssemblyName>DocTest-DropNS-unified</AssemblyName>
+    <AssemblyVersion>0.0.0.0</AssemblyVersion>
+  </AssemblyInfo>
+  <AssemblyInfo apistyle="unified">
+    <AssemblyName>DocTest-DropNS-unified-multitest</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="AnExtension">
+      <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+      <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+      <MemberType>Method</MemberType>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <AssemblyInfo apistyle="classic">
+        <AssemblyName>DocTest-DropNS-classic-multitest</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <AssemblyInfo apistyle="unified">
+        <AssemblyName>DocTest-DropNS-unified-multitest</AssemblyName>
+        <AssemblyVersion>0.0.0.0</AssemblyVersion>
+      </AssemblyInfo>
+      <ReturnValue>
+        <ReturnType>System.Boolean</ReturnType>
+      </ReturnValue>
+      <Parameters>
+        <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+      </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>
+  </Members>
+</Type>
index 3baf401ce5b0908025e2a0ba9a5f654267f5100f..b8345d02166fae8199680b18a2cd85dcf9b4f4c4 100644 (file)
   <Types>
     <Namespace Name="MyFramework.MyNamespace">
       <Type Name="MyClass" Kind="Class" />
+      <Type Name="MyClassExtensions" Kind="Class" />
       <Type Name="OnlyInMulti" Kind="Class" />
     </Namespace>
   </Types>
   <Title>Untitled</Title>
+  <ExtensionMethods>
+    <ExtensionMethod>
+      <Targets>
+        <Target Type="T:MyFramework.MyNamespace.MyClass" />
+      </Targets>
+      <Member MemberName="AnExtension">
+        <MemberSignature Language="C#" Value="public static bool AnExtension (this MyFramework.MyNamespace.MyClass value);" />
+        <MemberSignature Language="ILAsm" Value=".method public static hidebysig bool AnExtension(class MyFramework.MyNamespace.MyClass value) cil managed" />
+        <MemberType>ExtensionMethod</MemberType>
+        <ReturnValue>
+          <ReturnType>System.Boolean</ReturnType>
+        </ReturnValue>
+        <Parameters>
+          <Parameter Name="value" Type="MyFramework.MyNamespace.MyClass" RefType="this" />
+        </Parameters>
+        <Docs>
+          <param name="value">To be added.</param>
+          <summary>To be added.</summary>
+        </Docs>
+        <Link Type="MyFramework.MyNamespace.MyClassExtensions" Member="M:MyFramework.MyNamespace.MyClassExtensions.AnExtension(MyFramework.MyNamespace.MyClass)" />
+      </Member>
+    </ExtensionMethod>
+  </ExtensionMethods>
 </Overview>
diff --git a/mcs/tools/mdoc/mdoc-net_4_x.csproj b/mcs/tools/mdoc/mdoc-net_4_x.csproj
new file mode 100644 (file)
index 0000000..17a06f0
--- /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>{15871CCA-A500-4AE3-89D7-1F3429614403}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>mdoc</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.Options\Mono.Options\Options.cs" />\r
+    <Compile Include="Mono.Documentation\assembler.cs" />\r
+    <Compile Include="Mono.Documentation\dump.cs" />\r
+    <Compile Include="Mono.Documentation\ecmadoc.cs" />\r
+    <Compile Include="Mono.Documentation\exceptions.cs" />\r
+    <Compile Include="Mono.Documentation\index.cs" />\r
+    <Compile Include="Mono.Documentation\mdoc.cs" />\r
+    <Compile Include="Mono.Documentation\MdocFile.cs" />\r
+    <Compile Include="Mono.Documentation\monodocer.cs" />\r
+    <Compile Include="Mono.Documentation\monodocs2html.cs" />\r
+    <Compile Include="Mono.Documentation\monodocs2slashdoc.cs" />\r
+    <Compile Include="Mono.Documentation\msitomsx.cs" />\r
+    <Compile Include="Mono.Documentation\normalize.cs" />\r
+    <Compile Include="Mono.Documentation\preserver.cs" />\r
+    <Compile Include="Mono.Documentation\validate.cs" />\r
+    <Compile Include="Mono.Documentation\webdoc.cs" />\r
+    <Compile Include="Mono.Documentation\XhtmlWriter.cs" />\r
+    <Compile Include="Mono.Rocks\ObjectRocks.cs" />\r
+    <Compile Include="Mono.Rocks\StreamRocks.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/monodoc/monodoc-net_4_x.csproj">\r
+      <Project>{0248869F-8D3B-4AB2-B976-B2A9AF1319A9}</Project>\r
+      <Name>monodoc-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.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="../../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/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="../../class/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="../../class/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="../../class/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
+  <ItemGroup>\r
+    <EmbeddedResource Include="../../class/monodoc/Resources/mdoc-html-format.xsl">\r
+      <LogicalName>mdoc-html-format.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="../../class/monodoc/Resources/mdoc-html-utils.xsl">\r
+      <LogicalName>mdoc-html-utils.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="../../class/monodoc/Resources/mdoc-sections-css.xsl">\r
+      <LogicalName>mdoc-sections-css.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="../../class/monodoc/Resources/mono-ecma-css.xsl">\r
+      <LogicalName>mono-ecma-css.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/defaulttemplate.xsl">\r
+      <LogicalName>defaulttemplate.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/monodoc-ecma.xsd">\r
+      <LogicalName>monodoc-ecma.xsd</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/msitomsx.xsl">\r
+      <LogicalName>msitomsx.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/overview.xsl">\r
+      <LogicalName>overview.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="Resources/stylesheet.xsl">\r
+      <LogicalName>stylesheet.xsl</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/mkbundle/mkbundle-net_4_x.csproj b/mcs/tools/mkbundle/mkbundle-net_4_x.csproj
new file mode 100644 (file)
index 0000000..d8ea386
--- /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>{3A3DAEC2-3DF4-4968-A191-8D6F207ABA5E}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>mkbundle</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="mkbundle.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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="../../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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="template.c">\r
+      <LogicalName>template.c</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="template_z.c">\r
+      <LogicalName>template_z.c</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="template_main.c">\r
+      <LogicalName>template_main.c</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/mod/mod-net_4_x.csproj b/mcs/tools/mod/mod-net_4_x.csproj
new file mode 100644 (file)
index 0000000..ad6b3cd
--- /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>{135520B4-D83D-4726-B043-3B4FBF306F94}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>mod</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="mod.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/monodoc/monodoc-net_4_x.csproj">\r
+      <Project>{0248869F-8D3B-4AB2-B976-B2A9AF1319A9}</Project>\r
+      <Name>monodoc-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/mono-api-html/mono-api-html-net_4_x.csproj b/mcs/tools/mono-api-html/mono-api-html-net_4_x.csproj
new file mode 100644 (file)
index 0000000..904e60c
--- /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>{76A06DA3-F3B5-498C-9D75-72F325BB6656}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>mono-api-html</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="..\..\class\Mono.Options\Mono.Options\Options.cs" />\r
+    <Compile Include="ApiChange.cs" />\r
+    <Compile Include="ApiDiff.cs" />\r
+    <Compile Include="AssemblyComparer.cs" />\r
+    <Compile Include="ClassComparer.cs" />\r
+    <Compile Include="Comparer.cs" />\r
+    <Compile Include="ConstructorComparer.cs" />\r
+    <Compile Include="EventComparer.cs" />\r
+    <Compile Include="FieldComparer.cs" />\r
+    <Compile Include="Helpers.cs" />\r
+    <Compile Include="InterfaceComparer.cs" />\r
+    <Compile Include="MemberComparer.cs" />\r
+    <Compile Include="MethodComparer.cs" />\r
+    <Compile Include="NamespaceComparer.cs" />\r
+    <Compile Include="PropertyComparer.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/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="../../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
+    <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/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.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
+</Project>\r
+
diff --git a/mcs/tools/mono-configuration-crypto/cli/mono-configuration-crypto-net_4_x.csproj b/mcs/tools/mono-configuration-crypto/cli/mono-configuration-crypto-net_4_x.csproj
new file mode 100644 (file)
index 0000000..30aa8d2
--- /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>{462A56EE-6371-46F8-9B83-18AFDEEF4BAD}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>mono-configuration-crypto</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.Options\Mono.Options\Options.cs" />\r
+    <Compile Include="config.cs" />\r
+    <Compile Include="main.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/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="../../../class/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="../../../class/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="../../../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="../lib/Mono.Configuration.Crypto-net_4_x.csproj">\r
+      <Project>{19AC03F2-0198-4512-BCFD-7CBB3129F9D2}</Project>\r
+      <Name>Mono.Configuration.Crypto-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index 6b4fbb5ee4a7f194a21c80d58fba73795c76553d..10eedb27c2f8396acf2da1fda687510bc6671847 100644 (file)
@@ -51,7 +51,6 @@ using System.Runtime.InteropServices;
 
 [assembly: NeutralResourcesLanguage ("en-US")]
 [assembly: AssemblyDelaySign (true)]
-[assembly: AssemblyKeyFile ("../../mono.pub")]
 
 [assembly: AllowPartiallyTrustedCallers]
 [assembly: DefaultDependency (LoadHint.Always)]
index d06b52ae235c72d16a707948b4af176374ccfb57..e67462548cc43cf7ce22d251cf2f179fa3199be1 100644 (file)
@@ -6,5 +6,5 @@ LOCAL_MCS_FLAGS =
 LIB_REFS = System Mono.Security System.Security System.Configuration System.Xml
 LIBRARY = Mono.Configuration.Crypto.dll
 LIBRARY_INSTALL_DIR = $(mono_libdir)/mono/mono-configuration-crypto/$(FRAMEWORK_VERSION)
-
+NO_SIGN_ASSEMBLY = yes
 include ../../../build/library.make
diff --git a/mcs/tools/mono-configuration-crypto/lib/Mono.Configuration.Crypto-net_4_x.csproj b/mcs/tools/mono-configuration-crypto/lib/Mono.Configuration.Crypto-net_4_x.csproj
new file mode 100644 (file)
index 0000000..53a205e
--- /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>{19AC03F2-0198-4512-BCFD-7CBB3129F9D2}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Configuration.Crypto</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.Configuration.Crypto\ConfigSection.cs" />\r
+    <Compile Include="Mono.Configuration.Crypto\Key.cs" />\r
+    <Compile Include="Mono.Configuration.Crypto\KeyContainer.cs" />\r
+    <Compile Include="Mono.Configuration.Crypto\KeyContainerCollection.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/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="../../../class/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="../../../class/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="../../../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
+
diff --git a/mcs/tools/mono-service/mono-service-net_4_x.csproj b/mcs/tools/mono-service/mono-service-net_4_x.csproj
new file mode 100644 (file)
index 0000000..0969190
--- /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>{612FEFDB-12FA-4441-9094-236B05D645A4}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    <AllowUnsafeBlocks>true</AllowUnsafeBlocks>\r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>mono-service</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="mono-service.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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="../../class/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="../../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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/mono-shlib-cop/mono-shlib-cop-net_4_x.csproj b/mcs/tools/mono-shlib-cop/mono-shlib-cop-net_4_x.csproj
new file mode 100644 (file)
index 0000000..7c9c214
--- /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>{7E28A830-EB3C-48E3-B0FB-6DDAAF698115}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>mono-shlib-cop</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="..\..\class\Mono.Options\Mono.Options\Options.cs" />\r
+    <Compile Include="mono-shlib-cop.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/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="../../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.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/tools/mono-symbolicate/mono-symbolicate-net_4_x.csproj b/mcs/tools/mono-symbolicate/mono-symbolicate-net_4_x.csproj
new file mode 100644 (file)
index 0000000..b147f48
--- /dev/null
@@ -0,0 +1,105 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{63E373FB-CE4B-4F7B-A421-5CE8ED7BD851}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>mono-symbolicate</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;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>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="LocationProvider.cs" />\r
+    <Compile Include="SeqPointInfo.cs" />\r
+    <Compile Include="symbolicate.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/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="../../class/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
+    <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
+    <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/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/tools/mono-xmltool/mono-xmltool-net_4_x.csproj b/mcs/tools/mono-xmltool/mono-xmltool-net_4_x.csproj
new file mode 100644 (file)
index 0000000..6aa1cc3
--- /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>{25CAFA51-9FE0-43AD-A642-B3D59BE2B377}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>mono-xmltool</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="xmltool.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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="../../class/Commons.Xml.Relaxng/Commons.Xml.Relaxng-net_4_x.csproj">\r
+      <Project>{FFFE76FE-98EE-4FF7-81D9-35C0FE1D3718}</Project>\r
+      <Name>Commons.Xml.Relaxng-net_4_x</Name>\r
+    </ProjectReference>\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/mono-xsd/xsd-net_4_x.csproj b/mcs/tools/mono-xsd/xsd-net_4_x.csproj
new file mode 100644 (file)
index 0000000..d5f5836
--- /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>{3CB8E3C0-0EFA-4AB3-9F60-02DC274F77F8}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>xsd</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="NewMonoXSD.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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="../../class/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="../../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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/monop/monop-net_4_x.csproj b/mcs/tools/monop/monop-net_4_x.csproj
new file mode 100644 (file)
index 0000000..35ca4e7
--- /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>{78B1A752-432B-4764-9E63-E95CCB23554F}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>monop</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;NO_AUTHENTICODE;STATIC;NO_SYMBOL_WRITER;NET_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>NO_AUTHENTICODE;STATIC;NO_SYMBOL_WRITER;NET_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="..\..\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="monop.cs" />\r
+    <Compile Include="options.cs" />\r
+    <Compile Include="outline.cs" />\r
+    <Compile Include="TypeSorter.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/nunitreport/nunitreport-net_4_x.csproj b/mcs/tools/nunitreport/nunitreport-net_4_x.csproj
new file mode 100644 (file)
index 0000000..4228feb
--- /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>{DAE62F67-EE88-4192-8CB8-314E9E955BE9}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>nunitreport</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="FailedTest.cs" />\r
+    <Compile Include="NUnitReport.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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/tools/pdb2mdb/pdb2mdb-net_4_x.csproj b/mcs/tools/pdb2mdb/pdb2mdb-net_4_x.csproj
new file mode 100644 (file)
index 0000000..94a03d6
--- /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>{F7C83E4F-C1C4-4939-8BA3-3EF6E3631E08}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>pdb2mdb</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="BitAccess.cs" />\r
+    <Compile Include="BitSet.cs" />\r
+    <Compile Include="CvInfo.cs" />\r
+    <Compile Include="DataStream.cs" />\r
+    <Compile Include="DbiDbgHdr.cs" />\r
+    <Compile Include="DbiHeader.cs" />\r
+    <Compile Include="DbiModuleInfo.cs" />\r
+    <Compile Include="DbiSecCon.cs" />\r
+    <Compile Include="Driver.cs" />\r
+    <Compile Include="Interfaces.cs" />\r
+    <Compile Include="IntHashTable.cs" />\r
+    <Compile Include="MsfDirectory.cs" />\r
+    <Compile Include="PdbConstant.cs" />\r
+    <Compile Include="PdbDebugException.cs" />\r
+    <Compile Include="PdbException.cs" />\r
+    <Compile Include="PdbFile.cs" />\r
+    <Compile Include="PdbFileHeader.cs" />\r
+    <Compile Include="PdbFunction.cs" />\r
+    <Compile Include="PdbLine.cs" />\r
+    <Compile Include="PdbLines.cs" />\r
+    <Compile Include="PdbReader.cs" />\r
+    <Compile Include="PdbScope.cs" />\r
+    <Compile Include="PdbSlot.cs" />\r
+    <Compile Include="PdbSource.cs" />\r
+    <Compile Include="PdbWriter.cs" />\r
+    <Compile Include="SourceLocationProvider.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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/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="../../class/Mono.CompilerServices.SymbolWriter/Mono.CompilerServices.SymbolWriter-net_4_x.csproj">\r
+      <Project>{88177C4B-894F-485D-B95A-44199C06BE9F}</Project>\r
+      <Name>Mono.CompilerServices.SymbolWriter-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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/resgen/resgen-net_4_x.csproj b/mcs/tools/resgen/resgen-net_4_x.csproj
new file mode 100644 (file)
index 0000000..fef287a
--- /dev/null
@@ -0,0 +1,98 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{647DC12E-A4EE-424A-9EC7-CE6643EE2EF7}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699,1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>resgen</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,1699</NoWarn>\r
+    <Optimize>false</Optimize>\r
+    <DefineConstants>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,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="..\..\build\common\Consts.cs" />\r
+    <Compile Include="..\..\build\common\Locale.cs" />\r
+    <Compile Include="Assembly\AssemblyInfo.cs" />\r
+    <Compile Include="monoresgen.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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="../../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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/sgen/sgen-net_4_x.csproj b/mcs/tools/sgen/sgen-net_4_x.csproj
new file mode 100644 (file)
index 0000000..90679a7
--- /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>{8A516908-7CA0-40A7-86DD-0BEE1F4496C6}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>sgen</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="sgen.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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="../../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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/soapsuds/soapsuds-net_4_x.csproj b/mcs/tools/soapsuds/soapsuds-net_4_x.csproj
new file mode 100644 (file)
index 0000000..117a928
--- /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>{84ABC688-04BE-4F0B-9FD0-0332437C435F}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>soapsuds</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="soapsuds.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.Runtime.Remoting/System.Runtime.Remoting-net_4_x.csproj">\r
+      <Project>{F19F77AE-1A81-4676-BAB8-6C1DA243A961}</Project>\r
+      <Name>System.Runtime.Remoting-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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/sqlmetal/sqlmetal-net_4_x.csproj b/mcs/tools/sqlmetal/sqlmetal-net_4_x.csproj
new file mode 100644 (file)
index 0000000..048153e
--- /dev/null
@@ -0,0 +1,162 @@
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+  <PropertyGroup>\r
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>\r
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>\r
+    <ProductVersion>9.0.30729</ProductVersion>\r
+    <SchemaVersion>2.0</SchemaVersion>\r
+    <ProjectGuid>{71A04260-D8F6-4E97-898D-5F3D5A2F3D94}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>sqlmetal</AssemblyName>\r
+    <TargetFrameworkVersion>v4.5</TargetFrameworkVersion>\r
+    <FileAlignment>512</FileAlignment>\r
+  </PropertyGroup>\r
+    <PropertyGroup>\r
+    <SignAssembly>true</SignAssembly>\r
+  </PropertyGroup>\r
+  <PropertyGroup>\r
+    <AssemblyOriginatorKeyFile>../../class/System.Data.Linq/src/DbMetal/../DbLinq.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;MONO_STRICT;NET_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>MONO_STRICT;NET_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="..\..\class\System.Data.Linq\src\DbLinq.ProductInfo.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\AbstractParameters.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Configuration\ProvidersSection.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\AttributeDefinition.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\CodeDomGenerator.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\CodeWriter.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\EntityInterface\IImplementation.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\EntityInterface\Implementation\IModifiedImplementation.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\EntityInterface\Implementation\INotifyPropertyChangedImplementation.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\EntityInterface\Implementation\INotifyPropertyChangingImplementation.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\EntityInterface\Implementation\InterfaceImplementation.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\GenerationContext.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\ICodeGenerator.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\Implementation\CodeTextGenerator\CodeGenerator.Class.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\Implementation\CodeTextGenerator\CodeGenerator.Context.Ctor.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\Implementation\CodeTextGenerator\CodeGenerator.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\Implementation\CodeTextGenerator\CodeGenerator.Procedure.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\Implementation\CodeTextGenerator\CSCodeGenerator.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\Implementation\CodeTextGenerator\CSCodeWriter.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\Implementation\Processor.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\Implementation\SchemaLoaderFactory.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\IProcessor.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\ISchemaLoaderFactory.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\ParameterDefinition.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Generator\SpecificationDefinition.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Language\EnglishWords.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Language\FrenchWords.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Language\GermanWords.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Mono\Options.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Parameters.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Program.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Properties\Settings.Designer.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Reference.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Schema\DbmlRename.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Schema\DbmlRenameLoader.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Schema\NameAliasesLoader.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Schema\TableAlias.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Utility\EnvironmentExtension.cs" />\r
+    <Compile Include="..\..\class\System.Data.Linq\src\DbMetal\Utility\VariablesExtension.cs" />\r
+    <Compile Include="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' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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="../../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.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="../../class/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="../../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
+    <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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <EmbeddedResource Include="../../class/System.Data.Linq/src/DbMetal/Language/EnglishWords.txt">\r
+      <LogicalName>DbMetal.Language.EnglishWords.txt</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="../../class/System.Data.Linq/src/DbMetal/Language/FrenchWords.txt">\r
+      <LogicalName>DbMetal.Language.FrenchWords.txt</LogicalName>\r
+    </EmbeddedResource>\r
+    <EmbeddedResource Include="../../class/System.Data.Linq/src/DbMetal/Language/GermanWords.txt">\r
+      <LogicalName>DbMetal.Language.GermanWords.txt</LogicalName>\r
+    </EmbeddedResource>\r
+  </ItemGroup>\r
+</Project>\r
+
diff --git a/mcs/tools/sqlsharp/sqlsharp-net_4_x.csproj b/mcs/tools/sqlsharp/sqlsharp-net_4_x.csproj
new file mode 100644 (file)
index 0000000..81e6823
--- /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>{DCCC3618-803B-4492-A968-010E2C0851E8}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>sqlsharp</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="SqlSharpCli.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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="../../class/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/tools/svcutil/svcutil-net_4_x.csproj b/mcs/tools/svcutil/svcutil-net_4_x.csproj
new file mode 100644 (file)
index 0000000..ad7320b
--- /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>{496CFCD3-5F5A-46D1-BD8F-6642BD4E61D2}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>svcutil</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="..\..\class\Mono.Options\Mono.Options\Options.cs" />\r
+    <Compile Include="CommandLineOptions.cs" />\r
+    <Compile Include="Driver.cs" />\r
+    <Compile Include="MoonlightChannelBaseExtension.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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.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="../../class/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="../../class/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="../../class/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="../../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.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/tools/tuner/Mono.Tuner-net_4_x.csproj b/mcs/tools/tuner/Mono.Tuner-net_4_x.csproj
new file mode 100644 (file)
index 0000000..0afcefa
--- /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>{8CCE7044-3466-4599-B09E-9F8E0C2F4614}</ProjectGuid>\r
+    <OutputType>Library</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>Mono.Tuner</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="Mono.Tuner\AdjustVisibility.cs" />\r
+    <Compile Include="Mono.Tuner\CheckVisibility.cs" />\r
+    <Compile Include="Mono.Tuner\FilterAttributes.cs" />\r
+    <Compile Include="Mono.Tuner\InjectSecurityAttributes.cs" />\r
+    <Compile Include="Mono.Tuner\MoonlightA11yApiMarker.cs" />\r
+    <Compile Include="Mono.Tuner\MoonlightA11yAssemblyStep.cs" />\r
+    <Compile Include="Mono.Tuner\MoonlightA11yDescriptorGenerator.cs" />\r
+    <Compile Include="Mono.Tuner\MoonlightA11yProcessor.cs" />\r
+    <Compile Include="Mono.Tuner\MoonlightA11yUsageInspectionStep.cs" />\r
+    <Compile Include="Mono.Tuner\MoonlightAssemblyStep.cs" />\r
+    <Compile Include="Mono.Tuner\PrintStatus.cs" />\r
+    <Compile Include="Mono.Tuner\RemoveSerialization.cs" />\r
+    <Compile Include="Mono.Tuner\TunerAnnotations.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PostBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PostBuildEvent>\r
+  </PropertyGroup>\r
+  <ItemGroup>\r
+    <ProjectReference Include="../linker/monolinker-net_4_x.csproj">\r
+      <Project>{FA920637-C202-4E75-AC0F-1A8DBD631DF1}</Project>\r
+      <Name>monolinker-net_4_x</Name>\r
+    </ProjectReference>\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
+    <ProjectReference Include="../../class/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/tools/wsdl/wsdl-net_4_x.csproj b/mcs/tools/wsdl/wsdl-net_4_x.csproj
new file mode 100644 (file)
index 0000000..72659db
--- /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>{69D00FEC-59AA-43A0-90AD-87F400B8613C}</ProjectGuid>\r
+    <OutputType>Exe</OutputType>\r
+    <NoWarn>1699</NoWarn>\r
+    <OutputPath>./../../class/lib/net_4_x</OutputPath>\r
+    <IntermediateOutputPath>obj-net_4_x</IntermediateOutputPath>\r
+    <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
+    <NoStdLib>True</NoStdLib>\r
+    \r
+    <NoConfig>True</NoConfig>\r
+    \r
+    <AppDesignerFolder>Properties</AppDesignerFolder>\r
+    <RootNamespace>\r
+    </RootNamespace>\r
+    <AssemblyName>wsdl</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="MonoWSDL2.cs" />\r
+    <Compile Include="SampleGenerator.cs" />\r  </ItemGroup>\r
+  <!-- To modify your build process, add your task inside one of the targets below and uncomment it. \r
+       Other similar extension points exist, see Microsoft.Common.targets.\r
+  <Target Name="BeforeBuild">\r
+  </Target>\r
+  <Target Name="AfterBuild">\r
+  </Target>\r
+  -->\r
+  <PropertyGroup>\r
+    <PreBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </PreBuildEvent>\r
+    <PreBuildEvent Condition=" '$(OS)' == 'Windows_NT' ">\r
+\r
+    </PreBuildEvent>\r
+    <PostBuildEvent Condition=" '$(OS)' != 'Windows_NT' ">
+
+    </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.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="../../class/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="../../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
+  </ItemGroup>\r
+  <ItemGroup>\r
+    <Folder Include="Properties\" />\r
+  </ItemGroup>\r
+</Project>\r
+
index f9d5ca86615b98d6dadce36fe88ce46dbd7f43cd..bea93366ec988a3bffd8a9cc9d7ed18049147b22 100644 (file)
                        Text="OutDir property must end with a slash."/>
        </Target>
 
-       <Target Name="PrepareForBuild">
+       <PropertyGroup>
+               <PrepareForBuildDependsOn>AssignLinkMetadata</PrepareForBuildDependsOn>
+       </PropertyGroup>
+       <Target Name="PrepareForBuild" DependsOnTargets="$(PrepareForBuildDependsOn)">
                <Message Importance="High" Text="Configuration: $(Configuration) Platform: $(Platform)"/>
 
                <!-- Look for app.config, if $(AppConfig) is specified, then use that. Else look in
                />
        </Target>
 
+       <Target Name="AssignLinkMetadata">
+           <AssignLinkMetadata Items="@(EmbeddedResource)" Condition="'@(EmbeddedResource)' != '' and '%(EmbeddedResource.DefiningProjectFullPath)' != '$(MSBuildProjectFullPath)'">
+             <Output TaskParameter="OutputItems" ItemName="_EmbeddedResourceWithLinkAssigned" />
+           </AssignLinkMetadata>
+
+           <ItemGroup>
+               <EmbeddedResource Remove="@(_EmbeddedResourceWithLinkAssigned)" />
+               <EmbeddedResource Include="@(_EmbeddedResourceWithLinkAssigned)" />
+               <_EmbeddedResourceWithLinkAssigned Remove="@(_EmbeddedResourceWithLinkAssigned)" />
+           </ItemGroup>
+       </Target>
+
        <PropertyGroup>
                <GetFrameworkPathsDependsOn />
        </PropertyGroup>
index 192b8dabad308835480287a1f379517897fac766..54d9caab7776019ecd1d560fa414a52bb97c7f2f 100644 (file)
@@ -1,6 +1,7 @@
 <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" >
        <UsingTask TaskName="Microsoft.Build.Tasks.AL"                  AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
        <UsingTask TaskName="Microsoft.Build.Tasks.AssignTargetPath"    AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
+       <UsingTask TaskName="Microsoft.Build.Tasks.AssignLinkMetadata"  AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
        <UsingTask TaskName="Microsoft.Build.Tasks.AssignCulture"       AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
        <UsingTask TaskName="Microsoft.Build.Tasks.AssignProjectConfiguration"  AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
        <UsingTask TaskName="Microsoft.Build.Tasks.CallTarget"          AssemblyName="Microsoft.Build.Tasks.Core, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a" />
index a86b2be374115316ab024a42aec3dcc8d91de75a..087e3f3008721786750ca531e3487a87aa994907 100644 (file)
 <opcode name="mono_ldptr_nursery_start" input="Pop0" output="PushI" args="InlineNone" o1="0xF0" o2="0x16" flow="next" />
 <opcode name="mono_ldptr_nursery_bits" input="Pop0" output="PushI" args="InlineNone" o1="0xF0" o2="0x17" flow="next" />
 <opcode name="mono_calli_extra_arg" input="VarPop" output="VarPush" args="InlineSig" o1="0xF0" o2="0x18" flow="call" />
+<opcode name="mono_lddomain" input="Pop0" output="PushI" args="InlineNone" o1="0xF0" o2="0x19" flow="next" />
+<opcode name="mono_atomic_store_i4" input="PopI+PopI" output="Push0" args="InlineI" o1="0xF0" o2="0x1A" flow="next" />
 </opdesc>
index ad89c95e46c2245750c5c2d275fcce1c671f12ab..ee69b699ba6797fb7f53a0f2599e650a0983198f 100644 (file)
@@ -317,6 +317,8 @@ OPDEF(CEE_MONO_LDPTR_CARD_TABLE, "mono_ldptr_card_table", Pop0, PushI, InlineNon
 OPDEF(CEE_MONO_LDPTR_NURSERY_START, "mono_ldptr_nursery_start", Pop0, PushI, InlineNone, X, 2, 0xF0, 0x16, NEXT)
 OPDEF(CEE_MONO_LDPTR_NURSERY_BITS, "mono_ldptr_nursery_bits", Pop0, PushI, InlineNone, X, 2, 0xF0, 0x17, NEXT)
 OPDEF(CEE_MONO_CALLI_EXTRA_ARG, "mono_calli_extra_arg", VarPop, VarPush, InlineSig, X, 2, 0xF0, 0x18, CALL)
+OPDEF(CEE_MONO_LDDOMAIN, "mono_lddomain", Pop0, PushI, InlineNone, X, 2, 0xF0, 0x19, NEXT)
+OPDEF(CEE_MONO_ATOMIC_STORE_I4, "mono_atomic_store_i4", PopI+PopI, Push0, InlineI, X, 2, 0xF0, 0x1A, NEXT)
 #ifndef OPALIAS
 #define _MONO_CIL_OPALIAS_DEFINED_
 #define OPALIAS(a,s,r)
index cdf42e498d982b6ce989de73960b1abd62513a85..87f9a916dd941011e2b0ca66b0ffb1eda5f74971 100644 (file)
@@ -33,7 +33,7 @@ platform_sources += ../../support/libm/complex.c
 endif
 
 if SHARED_MONO
-if SUPPORT_BOEHM
+if SUPPORT_SGEN
 bin_PROGRAMS = pedump
 endif
 endif
@@ -301,27 +301,28 @@ if DTRACE_G_REQUIRED
 
 PEDUMP_DTRACE_OBJECT = pedump-dtrace.$(OBJEXT)
 
-pedump-dtrace.$(OBJEXT): $(top_srcdir)/data/mono.d libmonoruntime.la ../io-layer/libwapi.la ../utils/libmonoutils.la
+pedump-dtrace.$(OBJEXT): $(top_srcdir)/data/mono.d $(shared_sgen_libraries) ../io-layer/libwapi.la ../utils/libmonoutils.la
        DTRACE="$(DTRACE)" DTRACEFLAGS="$(DTRACEFLAGS)" AR="$(AR)" $(SHELL) $(top_srcdir)/data/dtrace-prelink.sh \
-       --pic pedump-dtrace.$(OBJEXT) $(top_srcdir)/data/mono.d libmonoruntime.la ../io-layer/libwapi.la ../utils/libmonoutils.la
+       --pic pedump-dtrace.$(OBJEXT) $(top_srcdir)/data/mono.d $(shared_sgen_libraries) ../io-layer/libwapi.la ../utils/libmonoutils.la
 
 else
 PEDUMP_DTRACE_OBJECT = 
 endif
 
 if SHARED_MONO
-if SUPPORT_BOEHM
 pedump_SOURCES =               \
        pedump.c
 
-pedump_LDADD = libmonoruntime.la ../io-layer/libwapi.la ../utils/libmonoutils.la \
-       $(LIBGC_LIBS) $(GLIB_LIBS) -lm $(LIBICONV) $(PEDUMP_DTRACE_OBJECT)
+$(top_srcdir)/mono/sgen/libmonosgen.la:
+       make -w -C $(top_srcdir)/mono/sgen libmonosgen.la
+
+pedump_LDADD = $(sgen_libraries) $(top_srcdir)/mono/sgen/libmonosgen.la ../io-layer/libwapi.la ../utils/libmonoutils.la \
+       $(GLIB_LIBS) -lm $(LIBICONV) $(PEDUMP_DTRACE_OBJECT)
 
 if PLATFORM_DARWIN
 pedump_LDFLAGS=-framework CoreFoundation -framework Foundation
 endif
 endif
-endif
 
 EXTRA_DIST = $(win32_sources) $(unix_sources) $(null_sources) runtime.h \
                threadpool-ms-io-poll.c threadpool-ms-io-epoll.c threadpool-ms-io-kqueue.c
index b8be86856554388123c952a9a4036e2fac283153..32f0c9fd7b2a28bdd7c1d0c4059c7246386e8f04 100644 (file)
@@ -81,7 +81,7 @@
  * Changes which are already detected at runtime, like the addition
  * of icalls, do not require an increment.
  */
-#define MONO_CORLIB_VERSION 147
+#define MONO_CORLIB_VERSION 149
 
 typedef struct
 {
@@ -485,27 +485,36 @@ copy_app_domain_setup (MonoDomain *domain, MonoAppDomainSetup *setup, MonoError
 
        mono_domain_set_internal (domain);
 
-       MONO_OBJECT_SETREF (copy, application_base, mono_marshal_xdomain_copy_value ((MonoObject*)setup->application_base));
-       MONO_OBJECT_SETREF (copy, application_name, mono_marshal_xdomain_copy_value ((MonoObject*)setup->application_name));
-       MONO_OBJECT_SETREF (copy, cache_path, mono_marshal_xdomain_copy_value ((MonoObject*)setup->cache_path));
-       MONO_OBJECT_SETREF (copy, configuration_file, mono_marshal_xdomain_copy_value ((MonoObject*)setup->configuration_file));
-       MONO_OBJECT_SETREF (copy, dynamic_base, mono_marshal_xdomain_copy_value ((MonoObject*)setup->dynamic_base));
-       MONO_OBJECT_SETREF (copy, license_file, mono_marshal_xdomain_copy_value ((MonoObject*)setup->license_file));
-       MONO_OBJECT_SETREF (copy, private_bin_path, mono_marshal_xdomain_copy_value ((MonoObject*)setup->private_bin_path));
-       MONO_OBJECT_SETREF (copy, private_bin_path_probe, mono_marshal_xdomain_copy_value ((MonoObject*)setup->private_bin_path_probe));
-       MONO_OBJECT_SETREF (copy, shadow_copy_directories, mono_marshal_xdomain_copy_value ((MonoObject*)setup->shadow_copy_directories));
-       MONO_OBJECT_SETREF (copy, shadow_copy_files, mono_marshal_xdomain_copy_value ((MonoObject*)setup->shadow_copy_files));
+#define XCOPY_FIELD(dst,field,src,error)                                       \
+       do {                                                            \
+               MonoObject *copied_val = mono_marshal_xdomain_copy_value ((MonoObject*)(src), error); \
+               return_val_if_nok (error, NULL);                        \
+               MONO_OBJECT_SETREF ((dst),field,copied_val);            \
+       } while (0)
+
+       XCOPY_FIELD (copy, application_base, setup->application_base, error);
+       XCOPY_FIELD (copy, application_name, setup->application_name, error);
+       XCOPY_FIELD (copy, cache_path, setup->cache_path, error);
+       XCOPY_FIELD (copy, configuration_file, setup->configuration_file, error);
+       XCOPY_FIELD (copy, dynamic_base, setup->dynamic_base, error);
+       XCOPY_FIELD (copy, license_file, setup->license_file, error);
+       XCOPY_FIELD (copy, private_bin_path, setup->private_bin_path, error);
+       XCOPY_FIELD (copy, private_bin_path_probe, setup->private_bin_path_probe, error);
+       XCOPY_FIELD (copy, shadow_copy_directories, setup->shadow_copy_directories, error);
+       XCOPY_FIELD (copy, shadow_copy_files, setup->shadow_copy_files, error);
        copy->publisher_policy = setup->publisher_policy;
        copy->path_changed = setup->path_changed;
        copy->loader_optimization = setup->loader_optimization;
        copy->disallow_binding_redirects = setup->disallow_binding_redirects;
        copy->disallow_code_downloads = setup->disallow_code_downloads;
-       MONO_OBJECT_SETREF (copy, domain_initializer_args, mono_marshal_xdomain_copy_value ((MonoObject*)setup->domain_initializer_args));
+       XCOPY_FIELD (copy, domain_initializer_args, setup->domain_initializer_args, error);
        copy->disallow_appbase_probe = setup->disallow_appbase_probe;
-       MONO_OBJECT_SETREF (copy, application_trust, mono_marshal_xdomain_copy_value ((MonoObject*)setup->application_trust));
-       MONO_OBJECT_SETREF (copy, configuration_bytes, mono_marshal_xdomain_copy_value ((MonoObject*)setup->configuration_bytes));
-       MONO_OBJECT_SETREF (copy, serialized_non_primitives, mono_marshal_xdomain_copy_value ((MonoObject*)setup->serialized_non_primitives));
+       XCOPY_FIELD (copy, application_trust, setup->application_trust, error);
+       XCOPY_FIELD (copy, configuration_bytes, setup->configuration_bytes, error);
+       XCOPY_FIELD (copy, serialized_non_primitives, setup->serialized_non_primitives, error);
 
+#undef COPY_FIELD
+       
        mono_domain_set_internal (caller_domain);
 
        return copy;
@@ -697,6 +706,7 @@ mono_domain_set (MonoDomain *domain, gboolean force)
 MonoObject *
 ves_icall_System_AppDomain_GetData (MonoAppDomain *ad, MonoString *name)
 {
+       MonoError error;
        MonoDomain *add;
        MonoObject *o;
        char *str;
@@ -707,7 +717,9 @@ ves_icall_System_AppDomain_GetData (MonoAppDomain *ad, MonoString *name)
        add = ad->data;
        g_assert (add);
 
-       str = mono_string_to_utf8 (name);
+       str = mono_string_to_utf8_checked (name, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
 
        mono_domain_lock (add);
 
@@ -950,7 +962,9 @@ ves_icall_System_AppDomain_createDomain (MonoString *friendly_name, MonoAppDomai
 #else
        char *fname;
 
-       fname = mono_string_to_utf8 (friendly_name);
+       fname = mono_string_to_utf8_checked (friendly_name, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
        ad = mono_domain_create_appdomain_internal (fname, setup, &error);
 
        g_free (fname);
@@ -2020,7 +2034,9 @@ ves_icall_System_Reflection_Assembly_LoadFrom (MonoString *fname, MonoBoolean re
                return NULL;
        }
                
-       name = filename = mono_string_to_utf8 (fname);
+       name = filename = mono_string_to_utf8_checked (fname, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
        
        ass = mono_assembly_open_full (filename, &status, refOnly);
        
@@ -2097,7 +2113,9 @@ ves_icall_System_AppDomain_LoadAssembly (MonoAppDomain *ad,  MonoString *assRef,
 
        g_assert (assRef);
 
-       name = mono_string_to_utf8 (assRef);
+       name = mono_string_to_utf8_checked (assRef, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
        parsed = mono_assembly_name_parse (name, &aname);
        g_free (name);
 
@@ -2430,12 +2448,8 @@ unload_thread_main (void *arg)
 
        /* Have to attach to the runtime so shutdown can wait for this thread */
        /* Force it to be attached to avoid racing during shutdown. */
-       thread = mono_thread_attach_full (mono_get_root_domain (), TRUE, &error);
-       if (!is_ok (&error)) {
-               data->failure_reason = g_strdup (mono_error_get_message (&error));
-               mono_error_cleanup (&error);
-               goto failure;
-       }
+       thread = mono_thread_attach_full (mono_get_root_domain (), TRUE);
+
        mono_thread_set_name_internal (thread->internal_thread, mono_string_new (mono_get_root_domain (), "Domain unloader"), TRUE, &error);
        if (!is_ok (&error)) {
                data->failure_reason = g_strdup (mono_error_get_message (&error));
index 7f2b5fdb6a62e11741c63c09f4ba5098835219de..9c435d27b50df9b3775470b1137c1f087b7b74cd 100644 (file)
@@ -2888,6 +2888,7 @@ get_per_domain_assembly_binding_info (MonoDomain *domain, MonoAssemblyName *anam
 static MonoAssemblyName*
 mono_assembly_apply_binding (MonoAssemblyName *aname, MonoAssemblyName *dest_name)
 {
+       MonoError error;
        MonoAssemblyBindingInfo *info, *info2;
        MonoImage *ppimage;
        MonoDomain *domain;
@@ -2918,7 +2919,11 @@ mono_assembly_apply_binding (MonoAssemblyName *aname, MonoAssemblyName *dest_nam
        if (domain && domain->setup && domain->setup->configuration_file) {
                mono_domain_lock (domain);
                if (!domain->assembly_bindings_parsed) {
-                       gchar *domain_config_file_name = mono_string_to_utf8 (domain->setup->configuration_file);
+                       gchar *domain_config_file_name = mono_string_to_utf8_checked (domain->setup->configuration_file, &error);
+                       /* expect this to succeed because mono_domain_set_options_from_config () did
+                        * the same thing when the domain was created. */
+                       mono_error_assert_ok (&error);
+
                        gchar *domain_config_file_path = mono_portability_find_file (domain_config_file_name, TRUE);
 
                        if (!domain_config_file_path)
index 43844ad98304cfed42194dc622df44a161fe27ab..e76a3a3bfb7b6f581f9bceb8aa2eb711e4b01c38 100644 (file)
@@ -1125,7 +1125,9 @@ mono_gc_get_managed_allocator (MonoClass *klass, gboolean for_box, gboolean know
                return NULL;
        if (!SMALL_ENOUGH (klass->instance_size))
                return NULL;
-       if (mono_class_has_finalizer (klass) || mono_class_is_marshalbyref (klass) || (mono_profiler_get_events () & MONO_PROFILE_ALLOCATIONS))
+       if (mono_class_has_finalizer (klass) || mono_class_is_marshalbyref (klass))
+               return NULL;
+       if (mono_profiler_get_events () & (MONO_PROFILE_ALLOCATIONS | MONO_PROFILE_STATISTICAL))
                return NULL;
        if (klass->rank)
                return NULL;
@@ -1151,7 +1153,7 @@ mono_gc_get_managed_allocator (MonoClass *klass, gboolean for_box, gboolean know
                        atype = ATYPE_NORMAL;
                */
        }
-       return mono_gc_get_managed_allocator_by_type (atype, FALSE);
+       return mono_gc_get_managed_allocator_by_type (atype, MANAGED_ALLOCATOR_REGULAR);
 }
 
 MonoMethod*
@@ -1166,10 +1168,11 @@ mono_gc_get_managed_array_allocator (MonoClass *klass)
  *   Return a managed allocator method corresponding to allocator type ATYPE.
  */
 MonoMethod*
-mono_gc_get_managed_allocator_by_type (int atype, gboolean slowpath)
+mono_gc_get_managed_allocator_by_type (int atype, ManagedAllocatorVariant variant)
 {
        int offset = -1;
        MonoMethod *res;
+       gboolean slowpath = variant != MANAGED_ALLOCATOR_REGULAR;
        MonoMethod **cache = slowpath ? slowpath_alloc_method_cache : alloc_method_cache;
        MONO_THREAD_VAR_OFFSET (GC_thread_tls, offset);
 
@@ -1226,7 +1229,7 @@ mono_gc_get_managed_array_allocator (MonoClass *klass)
 }
 
 MonoMethod*
-mono_gc_get_managed_allocator_by_type (int atype, gboolean slowpath)
+mono_gc_get_managed_allocator_by_type (int atype, ManagedAllocatorVariant variant)
 {
        return NULL;
 }
index 1e7404d4e0ca4f35fa84f5ce47c475a9b3694ef0..b8f4aca8f8e091ad0aad3cd9c60628a61c5a5327 100644 (file)
@@ -905,7 +905,7 @@ typedef struct {
 
 extern MonoStats mono_stats;
 
-typedef gpointer (*MonoRemotingTrampoline)       (MonoDomain *domain, MonoMethod *method, MonoRemotingTarget target);
+typedef gpointer (*MonoRemotingTrampoline)       (MonoDomain *domain, MonoMethod *method, MonoRemotingTarget target, MonoError *error);
 typedef gpointer (*MonoDelegateTrampoline)       (MonoDomain *domain, MonoClass *klass);
 
 typedef gboolean (*MonoGetCachedClassInfo) (MonoClass *klass, MonoCachedClassInfo *res);
@@ -1097,7 +1097,6 @@ typedef struct {
        MonoClass *fieldhandle_class;
        MonoClass *methodhandle_class;
        MonoClass *systemtype_class;
-       MonoClass *monotype_class;
        MonoClass *runtimetype_class;
        MonoClass *exception_class;
        MonoClass *threadabortexception_class;
index d500fb626ce2a66029d2687aa1ffbd3888ed6f88..889c19ece4f786221a020fc365cebe41983b7734 100644 (file)
@@ -1984,8 +1984,7 @@ cominterop_get_ccw_checked (MonoObject* object, MonoClass* itf, MonoError *error
                g_hash_table_insert (ccw_hash, GINT_TO_POINTER (mono_object_hash (object)), ccw_list);
                mono_cominterop_unlock ();
                /* register for finalization to clean up ccw */
-               mono_object_register_finalizer (object, error);
-               return_val_if_nok (error, NULL);
+               mono_object_register_finalizer (object);
        }
 
        cinfo = mono_custom_attrs_from_class_checked (itf, error);
index 6123396fa8d4b94af71c605ba1102cfcdeeb5f49..38a82c92e957f3cb76cde6f66bd2031f6009c881 100644 (file)
@@ -498,13 +498,21 @@ ves_icall_System_ConsoleDriver_TtySetup (MonoString *keypad, MonoString *teardow
        if (setup_finished)
                return TRUE;
 
-       keypad_xmit_str = keypad != NULL ? mono_string_to_utf8 (keypad) : NULL;
+       keypad_xmit_str = NULL;
+       if (keypad != NULL) {
+               keypad_xmit_str = mono_string_to_utf8_checked (keypad, &error);
+               if (mono_error_set_pending_exception (&error))
+                       return FALSE;
+       }
        
        console_set_signal_handlers ();
        setup_finished = TRUE;
        if (!atexit_called) {
-               if (teardown != NULL)
-                       teardown_str = mono_string_to_utf8 (teardown);
+               if (teardown != NULL) {
+                       teardown_str = mono_string_to_utf8_checked (teardown, &error);
+                       if (mono_error_set_pending_exception (&error))
+                               return FALSE;
+               }
 
                mono_atexit (tty_teardown);
        }
index baf79f6be9709502aa442df5fe76f9570e73719a..449895a56106a2a0e3efbbc97230cd3bfe938712 100644 (file)
@@ -444,10 +444,6 @@ mono_method_desc_match (MonoMethodDesc *desc, MonoMethod *method)
        gboolean name_match;
 
        name_match = strcmp (desc->name, method->name) == 0;
-#ifndef _EGLIB_MAJOR
-       if (!name_match && desc->name_glob)
-               name_match = g_pattern_match_simple (desc->name, method->name);
-#endif
        if (!name_match)
                return FALSE;
        if (!desc->args)
@@ -922,6 +918,7 @@ print_name_space (MonoClass *klass)
 void
 mono_object_describe (MonoObject *obj)
 {
+       MonoError error;
        MonoClass* klass;
        const char* sep;
        if (!obj) {
@@ -930,14 +927,19 @@ mono_object_describe (MonoObject *obj)
        }
        klass = mono_object_class (obj);
        if (klass == mono_defaults.string_class) {
-               char *utf8 = mono_string_to_utf8 ((MonoString*)obj);
-               if (strlen (utf8) > 60) {
+               char *utf8 = mono_string_to_utf8_checked ((MonoString*)obj, &error);
+               mono_error_cleanup (&error); /* FIXME don't swallow the error */
+               if (utf8 && strlen (utf8) > 60) {
                        utf8 [57] = '.';
                        utf8 [58] = '.';
                        utf8 [59] = '.';
                        utf8 [60] = 0;
                }
-               g_print ("String at %p, length: %d, '%s'\n", obj, mono_string_length ((MonoString*) obj), utf8);
+               if (utf8) {
+                       g_print ("String at %p, length: %d, '%s'\n", obj, mono_string_length ((MonoString*) obj), utf8);
+               } else {
+                       g_print ("String at %p, length: %d, unable to decode UTF16\n", obj, mono_string_length ((MonoString*) obj));
+               }
                g_free (utf8);
        } else if (klass->rank) {
                MonoArray *array = (MonoArray*)obj;
index 26ab2d2d9b55a1d96d1d3360ecb4c6c484779824..a3ba4a76e0492b35533b95791df77c3eab1a235c 100644 (file)
@@ -707,9 +707,6 @@ mono_init_internal (const char *filename, const char *exe_filename, const char *
        mono_defaults.systemtype_class = mono_class_load_from_name (
                 mono_defaults.corlib, "System", "Type");
 
-       mono_defaults.monotype_class = mono_class_load_from_name (
-                mono_defaults.corlib, "System", "MonoType");
-
        mono_defaults.runtimetype_class = mono_class_load_from_name (
                 mono_defaults.corlib, "System", "RuntimeType");
 
@@ -1054,7 +1051,7 @@ unregister_vtable_reflection_type (MonoVTable *vtable)
 {
        MonoObject *type = (MonoObject *)vtable->type;
 
-       if (type->vtable->klass != mono_defaults.monotype_class)
+       if (type->vtable->klass != mono_defaults.runtimetype_class)
                MONO_GC_UNREGISTER_ROOT_IF_MOVING (vtable->type);
 }
 
index 0ee01d806d2675dcbed94d83deefe255c12820ff..a871337ee36d15cd920d5edc8997f67a7d32d350 100644 (file)
@@ -461,15 +461,16 @@ incremental_find_check_match (IncrementalFind *handle, WIN32_FIND_DATA *data, Mo
 MonoString *
 ves_icall_System_IO_MonoIO_FindFirst (MonoString *path,
                                      MonoString *path_with_pattern,
-                                     gint32 *result_attr, gint32 *error,
+                                     gint32 *result_attr, gint32 *ioerror,
                                      gpointer *handle)
 {
+       MonoError error;
        WIN32_FIND_DATA data;
        HANDLE find_handle;
        IncrementalFind *ifh;
        MonoString *result;
        
-       *error = ERROR_SUCCESS;
+       *ioerror = ERROR_SUCCESS;
        
        find_handle = FindFirstFile (mono_string_chars (path_with_pattern), &data);
        
@@ -480,13 +481,15 @@ ves_icall_System_IO_MonoIO_FindFirst (MonoString *path,
                if (find_error == ERROR_FILE_NOT_FOUND) 
                        return NULL;
                
-               *error = find_error;
+               *ioerror = find_error;
                return NULL;
        }
 
        ifh = g_new (IncrementalFind, 1);
        ifh->find_handle = find_handle;
-       ifh->utf8_path = mono_string_to_utf8 (path);
+       ifh->utf8_path = mono_string_to_utf8_checked (path, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
        ifh->domain = mono_domain_get ();
        *handle = ifh;
 
@@ -494,7 +497,7 @@ ves_icall_System_IO_MonoIO_FindFirst (MonoString *path,
                if (FindNextFile (find_handle, &data) == FALSE){
                        int e = GetLastError ();
                        if (e != ERROR_NO_MORE_FILES)
-                               *error = e;
+                               *ioerror = e;
                        return NULL;
                }
        }
@@ -1233,9 +1236,11 @@ void ves_icall_System_IO_MonoIO_Unlock (HANDLE handle, gint64 position,
 gint64
 mono_filesize_from_path (MonoString *string)
 {
+       MonoError error;
        struct stat buf;
        gint64 res;
-       char *path = mono_string_to_utf8 (string);
+       char *path = mono_string_to_utf8_checked (string, &error);
+       mono_error_raise_exception (&error); /* OK to throw, external only without a good alternative */
 
        MONO_ENTER_GC_SAFE;
        if (stat (path, &buf) == -1)
index ab10f929173b4413ac188294374ce56a9447406d..0d798ed6a0d85108891df8140579b169196de909 100644 (file)
@@ -248,6 +248,7 @@ ves_icall_System_IO_MonoIO_ReplaceFile (MonoString *sourceFileName, MonoString *
                                        MonoString *destinationBackupFileName, MonoBoolean ignoreMetadataErrors,
                                        gint32 *error);
 
+MONO_RT_EXTERNAL_ONLY
 extern gint64
 mono_filesize_from_path (MonoString *path);
 
index efa5547f6e485fa3a5f81522dc9fddc2153194c9..84e3b4aa68d75000fbec036787887c36f1fe8930 100644 (file)
@@ -227,27 +227,26 @@ is_special_zero_size_file (struct stat *buf)
 XXX implement options
 */
 static void*
-open_file_map (MonoString *path, int input_fd, int mode, gint64 *capacity, int access, int options, int *error)
+open_file_map (const char *c_path, int input_fd, int mode, gint64 *capacity, int access, int options, int *ioerror)
 {
        struct stat buf;
-       char *c_path = path ? mono_string_to_utf8 (path) : NULL;
        MmapHandle *handle = NULL;
        int result, fd;
 
-       if (path)
+       if (c_path)
                result = stat (c_path, &buf);
        else
                result = fstat (input_fd, &buf);
 
        if (mode == FILE_MODE_TRUNCATE || mode == FILE_MODE_APPEND || mode == FILE_MODE_OPEN) {
                if (result == -1) { //XXX translate errno?
-                       *error = FILE_NOT_FOUND;
+                       *ioerror = FILE_NOT_FOUND;
                        goto done;
                }
        }
 
        if (mode == FILE_MODE_CREATE_NEW && result == 0) {
-               *error = FILE_ALREADY_EXISTS;
+               *ioerror = FILE_ALREADY_EXISTS;
                goto done;
        }
 
@@ -258,28 +257,28 @@ open_file_map (MonoString *path, int input_fd, int mode, gint64 *capacity, int a
                         * also makes little sense, so don't do the check if th file is one of these.
                         */
                        if (buf.st_size == 0 && !is_special_zero_size_file (&buf)) {
-                               *error = CAPACITY_SMALLER_THAN_FILE_SIZE;
+                               *ioerror = CAPACITY_SMALLER_THAN_FILE_SIZE;
                                goto done;
                        }
                        *capacity = buf.st_size;
                } else if (*capacity < buf.st_size) {
-                       *error = CAPACITY_SMALLER_THAN_FILE_SIZE;
+                       *ioerror = CAPACITY_SMALLER_THAN_FILE_SIZE;
                        goto done;
                }
        } else {
                if (mode == FILE_MODE_CREATE_NEW && *capacity == 0) {
-                       *error = CAPACITY_SMALLER_THAN_FILE_SIZE;
+                       *ioerror = CAPACITY_SMALLER_THAN_FILE_SIZE;
                        goto done;
                }
        }
 
-       if (path) //FIXME use io portability?
+       if (c_path) //FIXME use io portability?
                fd = open (c_path, file_mode_to_unix (mode) | access_mode_to_unix (access), DEFAULT_FILEMODE);
        else
                fd = dup (input_fd);
 
        if (fd == -1) { //XXX translate errno?
-               *error = COULD_NOT_OPEN;
+               *ioerror = COULD_NOT_OPEN;
                goto done;
        }
 
@@ -293,33 +292,29 @@ open_file_map (MonoString *path, int input_fd, int mode, gint64 *capacity, int a
        handle->fd = fd;
 
 done:
-       g_free (c_path);
        return (void*)handle;
 }
 
 #define MONO_ANON_FILE_TEMPLATE "/mono.anonmap.XXXXXXXXX"
 static void*
-open_memory_map (MonoString *mapName, int mode, gint64 *capacity, int access, int options, int *error)
+open_memory_map (const char *c_mapName, int mode, gint64 *capacity, int access, int options, int *ioerror)
 {
-       char *c_mapName;
        MmapHandle *handle;
        if (*capacity <= 1) {
-               *error = CAPACITY_MUST_BE_POSITIVE;
+               *ioerror = CAPACITY_MUST_BE_POSITIVE;
                return NULL;
        }
 
        if (!(mode == FILE_MODE_CREATE_NEW || mode == FILE_MODE_OPEN_OR_CREATE || mode == FILE_MODE_OPEN)) {
-               *error = INVALID_FILE_MODE;
+               *ioerror = INVALID_FILE_MODE;
                return NULL;
        }
 
-       c_mapName = mono_string_to_utf8 (mapName);
-
        named_regions_lock ();
        handle = (MmapHandle*)g_hash_table_lookup (named_regions, c_mapName);
        if (handle) {
                if (mode == FILE_MODE_CREATE_NEW) {
-                       *error = FILE_ALREADY_EXISTS;
+                       *ioerror = FILE_ALREADY_EXISTS;
                        goto done;
                }
 
@@ -332,7 +327,7 @@ open_memory_map (MonoString *mapName, int mode, gint64 *capacity, int access, in
                int unused G_GNUC_UNUSED, alloc_size;
 
                if (mode == FILE_MODE_OPEN) {
-                       *error = FILE_NOT_FOUND;
+                       *ioerror = FILE_NOT_FOUND;
                        goto done;
                }
                *capacity = align_up_to_page_size (*capacity);
@@ -340,7 +335,7 @@ open_memory_map (MonoString *mapName, int mode, gint64 *capacity, int access, in
                tmp_dir = g_get_tmp_dir ();
                alloc_size = strlen (tmp_dir) + strlen (MONO_ANON_FILE_TEMPLATE) + 1;
                if (alloc_size > 1024) {//rather fail that stack overflow
-                       *error = COULD_NOT_MAP_MEMORY;
+                       *ioerror = COULD_NOT_MAP_MEMORY;
                        goto done;
                }
                file_name = (char *)alloca (alloc_size);
@@ -349,7 +344,7 @@ open_memory_map (MonoString *mapName, int mode, gint64 *capacity, int access, in
 
                fd = mkstemp (file_name);
                if (fd == -1) {
-                       *error = COULD_NOT_MAP_MEMORY;
+                       *ioerror = COULD_NOT_MAP_MEMORY;
                        goto done;
                }
 
@@ -369,61 +364,79 @@ open_memory_map (MonoString *mapName, int mode, gint64 *capacity, int access, in
 done:
        named_regions_unlock ();
 
-       g_free (c_mapName);
        return handle;
 }
 
 
+/* This is an icall */
 void *
-mono_mmap_open_file (MonoString *path, int mode, MonoString *mapName, gint64 *capacity, int access, int options, int *error)
+mono_mmap_open_file (MonoString *path, int mode, MonoString *mapName, gint64 *capacity, int access, int options, int *ioerror)
 {
+       MonoError error;
+       MmapHandle *handle = NULL;
        g_assert (path || mapName);
 
-       if (!mapName)
-               return open_file_map (path, -1, mode, capacity, access, options, error);
+       if (!mapName) {
+               char * c_path = mono_string_to_utf8_checked (path, &error);
+               if (mono_error_set_pending_exception (&error))
+                       return NULL;
+               handle = open_file_map (c_path, -1, mode, capacity, access, options, ioerror);
+               g_free (c_path);
+               return handle;
+       }
 
-       if (path) {
-               MmapHandle *handle;
-               char *c_mapName = mono_string_to_utf8 (mapName);
+       char *c_mapName = mono_string_to_utf8_checked (mapName, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
 
+       if (path) {
                named_regions_lock ();
                handle = (MmapHandle*)g_hash_table_lookup (named_regions, c_mapName);
                if (handle) {
-                       *error = FILE_ALREADY_EXISTS;
+                       *ioerror = FILE_ALREADY_EXISTS;
                        handle = NULL;
                } else {
-                       handle = (MmapHandle *)open_file_map (path, -1, mode, capacity, access, options, error);
-                       if (handle) {
-                               handle->name = g_strdup (c_mapName);
-                               g_hash_table_insert (named_regions, handle->name, handle);
+                       char *c_path = mono_string_to_utf8_checked (path, &error);
+                       if (is_ok (&error)) {
+                               handle = (MmapHandle *)open_file_map (c_path, -1, mode, capacity, access, options, ioerror);
+                               if (handle) {
+                                       handle->name = g_strdup (c_mapName);
+                                       g_hash_table_insert (named_regions, handle->name, handle);
+                               }
+                       } else {
+                               handle = NULL;
                        }
+                       g_free (c_path);
                }
                named_regions_unlock ();
+       } else
+               handle = open_memory_map (c_mapName, mode, capacity, access, options, ioerror);
 
-               g_free (c_mapName);
-               return handle;
-       }
-
-       return open_memory_map (mapName, mode, capacity, access, options, error);
+       g_free (c_mapName);
+       return handle;
 }
 
+/* this is an icall */
 void *
-mono_mmap_open_handle (void *input_fd, MonoString *mapName, gint64 *capacity, int access, int options, int *error)
+mono_mmap_open_handle (void *input_fd, MonoString *mapName, gint64 *capacity, int access, int options, int *ioerror)
 {
+       MonoError error;
        MmapHandle *handle;
        if (!mapName) {
-               handle = (MmapHandle *)open_file_map (NULL, GPOINTER_TO_INT (input_fd), FILE_MODE_OPEN, capacity, access, options, error);
+               handle = (MmapHandle *)open_file_map (NULL, GPOINTER_TO_INT (input_fd), FILE_MODE_OPEN, capacity, access, options, ioerror);
        } else {
-               char *c_mapName = mono_string_to_utf8 (mapName);
+               char *c_mapName = mono_string_to_utf8_checked (mapName, &error);
+               if (mono_error_set_pending_exception (&error))
+                       return NULL;
 
                named_regions_lock ();
                handle = (MmapHandle*)g_hash_table_lookup (named_regions, c_mapName);
                if (handle) {
-                       *error = FILE_ALREADY_EXISTS;
+                       *ioerror = FILE_ALREADY_EXISTS;
                        handle = NULL;
                } else {
                        //XXX we're exploiting wapi HANDLE == FD equivalence. THIS IS FRAGILE, create a _wapi_handle_to_fd call
-                       handle = (MmapHandle *)open_file_map (NULL, GPOINTER_TO_INT (input_fd), FILE_MODE_OPEN, capacity, access, options, error);
+                       handle = (MmapHandle *)open_file_map (NULL, GPOINTER_TO_INT (input_fd), FILE_MODE_OPEN, capacity, access, options, ioerror);
                        handle->name = g_strdup (c_mapName);
                        g_hash_table_insert (named_regions, handle->name, handle);
                }
index d87e158776704977c890c70bbce699ab8854ff53..e6902c6caa394157f7ec2c223980bc84f42df8cd 100644 (file)
@@ -149,13 +149,16 @@ ves_icall_System_IO_InotifyWatcher_GetInotifyInstance ()
 int
 ves_icall_System_IO_InotifyWatcher_AddWatch (int fd, MonoString *name, gint32 mask)
 {
+       MonoError error;
        char *str, *path;
        int retval;
 
        if (name == NULL)
                return -1;
 
-       str = mono_string_to_utf8 (name);
+       str = mono_string_to_utf8_checked (name, &error);
+       if (mono_error_set_pending_exception (&error))
+               return -1;
        path = mono_portability_find_file (str, TRUE);
        if (!path)
                path = str;
index 52d950d8cca7b8469db99a3f95dcd751d6a24f4b..82e013b09cdfc642e32b7d52985d5a83463c9df5 100644 (file)
@@ -66,7 +66,7 @@
 /* useful until we keep track of gc-references in corlib etc. */
 #define IS_GC_REFERENCE(class,t) (mono_gc_is_moving () ? FALSE : ((t)->type == MONO_TYPE_U && (class)->image == mono_defaults.corlib))
 
-void   mono_object_register_finalizer               (MonoObject  *obj, MonoError *error);
+void   mono_object_register_finalizer               (MonoObject  *obj);
 void   ves_icall_System_GC_InternalCollect          (int          generation);
 gint64 ves_icall_System_GC_GetTotalMemory           (MonoBoolean  forceCollection);
 void   ves_icall_System_GC_KeepAlive                (MonoObject  *obj);
@@ -189,10 +189,17 @@ void  mono_gc_finalize_threadpool_threads (void);
 
 /* fast allocation support */
 
+typedef enum {
+       // Regular fast path allocator.
+       MANAGED_ALLOCATOR_REGULAR,
+       // Managed allocator that just calls into the runtime. Used when allocation profiling w/ AOT.
+       MANAGED_ALLOCATOR_SLOW_PATH,
+} ManagedAllocatorVariant;
+
 int mono_gc_get_aligned_size_for_allocator (int size);
 MonoMethod* mono_gc_get_managed_allocator (MonoClass *klass, gboolean for_box, gboolean known_instance_size);
 MonoMethod* mono_gc_get_managed_array_allocator (MonoClass *klass);
-MonoMethod *mono_gc_get_managed_allocator_by_type (int atype, gboolean slowpath);
+MonoMethod *mono_gc_get_managed_allocator_by_type (int atype, ManagedAllocatorVariant variant);
 
 guint32 mono_gc_get_managed_allocator_types (void);
 
index 51b9306fc67c984693ab0f09f7a2499ef55ca3a6..e44f07f6d8329cb3e3811eb9387baeb4aa6654a0 100644 (file)
@@ -38,6 +38,7 @@
 #include <mono/utils/mono-time.h>
 #include <mono/utils/dtrace.h>
 #include <mono/utils/mono-threads.h>
+#include <mono/utils/mono-threads-coop.h>
 #include <mono/utils/atomic.h>
 #include <mono/utils/mono-coop-semaphore.h>
 #include <mono/utils/hazard-pointer.h>
@@ -73,7 +74,7 @@ static MonoCoopCond exited_cond;
 
 static MonoInternalThread *gc_thread;
 
-static void object_register_finalizer (MonoObject *obj, void (*callback)(void *, void*), MonoError *error);
+static void object_register_finalizer (MonoObject *obj, void (*callback)(void *, void*));
 
 static void reference_queue_proccess_all (void);
 static void mono_reference_queue_cleanup (void);
@@ -92,16 +93,16 @@ guarded_wait (HANDLE handle, guint32 timeout, gboolean alertable)
        return result;
 }
 
-static void
-add_thread_to_finalize (MonoInternalThread *thread)
+static gboolean
+add_thread_to_finalize (MonoInternalThread *thread, MonoError *error)
 {
-       MonoError error;
+       mono_error_init (error);
        mono_finalizer_lock ();
        if (!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_checked (threads_to_finalize, (MonoObject*)thread, &error);
+       threads_to_finalize = mono_mlist_append_checked (threads_to_finalize, (MonoObject*)thread, error);
        mono_finalizer_unlock ();
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       return is_ok (error);
 }
 
 static gboolean suspend_finalizers = FALSE;
@@ -166,8 +167,7 @@ mono_gc_run_finalize (void *obj, void *data)
 #endif
 
        /* make sure the finalizer is not called again if the object is resurrected */
-       object_register_finalizer ((MonoObject *)obj, NULL, &error);
-       mono_error_assert_ok (&error); /* FIXME don't swallow the error */
+       object_register_finalizer ((MonoObject *)obj, NULL);
 
        if (log_finalizers)
                g_log ("mono-gc-finalizers", G_LOG_LEVEL_MESSAGE, "<%s at %p> Registered finalizer as processed.", o->vtable->klass->name, o);
@@ -183,7 +183,8 @@ mono_gc_run_finalize (void *obj, void *data)
                        /* Don't finalize threadpool threads when
                           shutting down - they're finalized when the
                           threadpool shuts down. */
-                       add_thread_to_finalize (t);
+                       if (!add_thread_to_finalize (t, &error))
+                               goto unhandled_error;
                        return;
                }
        }
@@ -251,7 +252,8 @@ mono_gc_run_finalize (void *obj, void *data)
        runtime_invoke = (RuntimeInvokeFunction)domain->finalize_runtime_invoke;
 
        mono_runtime_class_init_full (o->vtable, &error);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       if (!is_ok (&error))
+               goto unhandled_error;
 
        if (G_UNLIKELY (MONO_GC_FINALIZE_INVOKE_ENABLED ())) {
                MONO_GC_FINALIZE_INVOKE ((unsigned long)o, mono_object_get_size (o),
@@ -266,6 +268,9 @@ mono_gc_run_finalize (void *obj, void *data)
        if (log_finalizers)
                g_log ("mono-gc-finalizers", G_LOG_LEVEL_MESSAGE, "<%s at %p> Returned from finalizer.", o->vtable->klass->name, o);
 
+unhandled_error:
+       if (!is_ok (&error))
+               exc = (MonoObject*)mono_error_convert_to_exception (&error);
        if (exc)
                mono_thread_internal_unhandled_exception (exc);
 
@@ -275,14 +280,12 @@ mono_gc_run_finalize (void *obj, void *data)
 void
 mono_gc_finalize_threadpool_threads (void)
 {
-       MonoError error;
        while (threads_to_finalize) {
                MonoInternalThread *thread = (MonoInternalThread*) mono_mlist_get_data (threads_to_finalize);
 
                /* Force finalization of the thread. */
                thread->threadpool_thread = FALSE;
-               mono_object_register_finalizer ((MonoObject*)thread, &error);
-               mono_error_assert_ok (&error); /* FIXME don't swallow the error */
+               mono_object_register_finalizer ((MonoObject*)thread);
 
                mono_gc_run_finalize (thread, NULL);
 
@@ -312,16 +315,11 @@ mono_gc_out_of_memory (size_t size)
  * since that, too, can cause the underlying pointer to be offset.
  */
 static void
-object_register_finalizer (MonoObject *obj, void (*callback)(void *, void*), MonoError *error)
+object_register_finalizer (MonoObject *obj, void (*callback)(void *, void*))
 {
        MonoDomain *domain;
 
-       mono_error_init (error);
-
-       if (obj == NULL) {
-               mono_error_set_argument_null (error, "obj", "");
-               return;
-       }
+       g_assert (obj != NULL);
 
        domain = obj->vtable->domain;
 
@@ -363,10 +361,10 @@ object_register_finalizer (MonoObject *obj, void (*callback)(void *, void*), Mon
  * 
  */
 void
-mono_object_register_finalizer (MonoObject *obj, MonoError *error)
+mono_object_register_finalizer (MonoObject *obj)
 {
        /* g_print ("Registered finalizer on %p %s.%s\n", obj, mono_object_class (obj)->name_space, mono_object_class (obj)->name); */
-       object_register_finalizer (obj, mono_gc_run_finalize, error);
+       object_register_finalizer (obj, mono_gc_run_finalize);
 }
 
 /**
@@ -486,19 +484,14 @@ ves_icall_System_GC_KeepAlive (MonoObject *obj)
 void
 ves_icall_System_GC_ReRegisterForFinalize (MonoObject *obj)
 {
-       MonoError error;
-
        MONO_CHECK_ARG_NULL (obj,);
 
-       object_register_finalizer (obj, mono_gc_run_finalize, &error);
-       mono_error_set_pending_exception (&error);
+       object_register_finalizer (obj, mono_gc_run_finalize);
 }
 
 void
 ves_icall_System_GC_SuppressFinalize (MonoObject *obj)
 {
-       MonoError error;
-
        MONO_CHECK_ARG_NULL (obj,);
 
        /* delegates have no finalizers, but we register them to deal with the
@@ -512,8 +505,7 @@ ves_icall_System_GC_SuppressFinalize (MonoObject *obj)
         * generated for it that needs cleaned up, but user wants to suppress
         * their derived object finalizer. */
 
-       object_register_finalizer (obj, NULL, &error);
-       mono_error_set_pending_exception (&error);
+       object_register_finalizer (obj, NULL);
 }
 
 void
@@ -1122,18 +1114,18 @@ mono_gc_reference_queue_new (mono_reference_queue_callback callback)
 gboolean
 mono_gc_reference_queue_add (MonoReferenceQueue *queue, MonoObject *obj, void *user_data)
 {
-       MonoError error;
        RefQueueEntry *entry;
        if (queue->should_be_deleted)
                return FALSE;
 
+       g_assert (obj != NULL);
+
        entry = g_new0 (RefQueueEntry, 1);
        entry->user_data = user_data;
        entry->domain = mono_object_domain (obj);
 
        entry->gchandle = mono_gchandle_new_weakref (obj, TRUE);
-       mono_object_register_finalizer (obj, &error);
-       mono_error_assert_ok (&error);
+       mono_object_register_finalizer (obj);
 
        ref_list_push (&queue->queue, entry);
        return TRUE;
index c659b843ce27cddc9d068c12de977128c45fef2d..9f413224e0237fb97ec1e9833dd0ce517b31af27 100644 (file)
@@ -398,11 +398,6 @@ ICALL(MCATTR_1, "GetCustomAttributesDataInternal", ves_icall_MonoCustomAttrs_Get
 ICALL(MCATTR_2, "GetCustomAttributesInternal", custom_attrs_get_by_type)
 ICALL(MCATTR_3, "IsDefinedInternal", custom_attrs_defined_internal)
 
-ICALL_TYPE(MTYPE, "System.MonoType", MTYPE_1)
-ICALL(MTYPE_1, "GetCorrespondingInflatedConstructor", ves_icall_MonoType_GetCorrespondingInflatedMethod)
-ICALL(MTYPE_2, "GetCorrespondingInflatedMethod", ves_icall_MonoType_GetCorrespondingInflatedMethod)
-ICALL(MTYPE_3, "type_from_obj", ves_icall_MonoType_type_from_obj)
-
 #ifndef DISABLE_SOCKETS
 ICALL_TYPE(NDNS, "System.Net.Dns", NDNS_1)
 ICALL(NDNS_1, "GetHostByAddr_internal(string,string&,string[]&,string[]&)", ves_icall_System_Net_Dns_GetHostByAddr_internal)
@@ -737,32 +732,34 @@ ICALL(MHAN_1, "GetFunctionPointer", ves_icall_RuntimeMethodHandle_GetFunctionPoi
 
 ICALL_TYPE(RT, "System.RuntimeType", RT_1)
 ICALL(RT_1, "CreateInstanceInternal", ves_icall_System_Activator_CreateInstanceInternal)
-ICALL(RT_2, "GetConstructors_internal", ves_icall_Type_GetConstructors_internal)
-ICALL(RT_3, "GetEvents_internal", ves_icall_Type_GetEvents_internal)
-ICALL(RT_5, "GetFields_internal", ves_icall_Type_GetFields_internal)
-ICALL(RT_6, "GetGenericArgumentsInternal", ves_icall_MonoType_GetGenericArguments)
-ICALL(RT_7, "GetGenericParameterAttributes", ves_icall_Type_GetGenericParameterAttributes)
-ICALL(RT_8, "GetGenericParameterConstraints_impl", ves_icall_Type_GetGenericParameterConstraints)
-ICALL(RT_9, "GetGenericParameterPosition", ves_icall_Type_GetGenericParameterPosition)
-ICALL(RT_10, "GetInterfaceMapData", ves_icall_Type_GetInterfaceMapData)
-ICALL(RT_11, "GetInterfaces", ves_icall_Type_GetInterfaces)
-ICALL(RT_12, "GetMethodsByName", ves_icall_Type_GetMethodsByName)
-ICALL(RT_13, "GetNestedTypes_internal", ves_icall_Type_GetNestedTypes)
-ICALL(RT_14, "GetPacking", ves_icall_Type_GetPacking)
-ICALL(RT_15, "GetPropertiesByName", ves_icall_Type_GetPropertiesByName)
+ICALL(RT_2, "GetConstructors_internal", ves_icall_RuntimeType_GetConstructors_internal)
+ICALL(RT_30, "GetCorrespondingInflatedConstructor", ves_icall_RuntimeType_GetCorrespondingInflatedMethod)
+ICALL(RT_31, "GetCorrespondingInflatedMethod", ves_icall_RuntimeType_GetCorrespondingInflatedMethod)
+ICALL(RT_3, "GetEvents_internal", ves_icall_RuntimeType_GetEvents_internal)
+ICALL(RT_5, "GetFields_internal", ves_icall_RuntimeType_GetFields_internal)
+ICALL(RT_6, "GetGenericArgumentsInternal", ves_icall_RuntimeType_GetGenericArguments)
+ICALL(RT_7, "GetGenericParameterAttributes", ves_icall_RuntimeType_GetGenericParameterAttributes)
+ICALL(RT_8, "GetGenericParameterConstraints_impl", ves_icall_RuntimeType_GetGenericParameterConstraints)
+ICALL(RT_9, "GetGenericParameterPosition", ves_icall_RuntimeType_GetGenericParameterPosition)
+ICALL(RT_10, "GetInterfaceMapData", ves_icall_RuntimeType_GetInterfaceMapData)
+ICALL(RT_11, "GetInterfaces", ves_icall_RuntimeType_GetInterfaces)
+ICALL(RT_12, "GetMethodsByName", ves_icall_RuntimeType_GetMethodsByName)
+ICALL(RT_13, "GetNestedTypes_internal", ves_icall_RuntimeType_GetNestedTypes)
+ICALL(RT_14, "GetPacking", ves_icall_RuntimeType_GetPacking)
+ICALL(RT_15, "GetPropertiesByName", ves_icall_RuntimeType_GetPropertiesByName)
 ICALL(RT_16, "GetTypeCodeImplInternal", ves_icall_type_GetTypeCodeInternal)
 ICALL(RT_28, "IsTypeExportedToWindowsRuntime", ves_icall_System_RuntimeType_IsTypeExportedToWindowsRuntime)
 ICALL(RT_29, "IsWindowsRuntimeObjectType", ves_icall_System_RuntimeType_IsWindowsRuntimeObjectType)
-ICALL(RT_17, "MakeGenericType", ves_icall_Type_MakeGenericType)
-ICALL(RT_18, "MakePointerType", ves_icall_Type_MakePointerType)
+ICALL(RT_17, "MakeGenericType", ves_icall_RuntimeType_MakeGenericType)
+ICALL(RT_18, "MakePointerType", ves_icall_RuntimeType_MakePointerType)
 ICALL(RT_19, "getFullName", ves_icall_System_MonoType_getFullName)
-ICALL(RT_21, "get_DeclaringMethod", ves_icall_MonoType_get_DeclaringMethod)
-ICALL(RT_22, "get_DeclaringType", ves_icall_MonoType_get_DeclaringType)
-ICALL(RT_23, "get_Name", ves_icall_MonoType_get_Name)
-ICALL(RT_24, "get_Namespace", ves_icall_MonoType_get_Namespace)
-ICALL(RT_25, "get_core_clr_security_level", vell_icall_MonoType_get_core_clr_security_level)
-ICALL(RT_26, "make_array_type", ves_icall_Type_make_array_type)
-ICALL(RT_27, "make_byref_type", ves_icall_Type_make_byref_type)
+ICALL(RT_21, "get_DeclaringMethod", ves_icall_RuntimeType_get_DeclaringMethod)
+ICALL(RT_22, "get_DeclaringType", ves_icall_RuntimeType_get_DeclaringType)
+ICALL(RT_23, "get_Name", ves_icall_RuntimeType_get_Name)
+ICALL(RT_24, "get_Namespace", ves_icall_RuntimeType_get_Namespace)
+ICALL(RT_25, "get_core_clr_security_level", vell_icall_RuntimeType_get_core_clr_security_level)
+ICALL(RT_26, "make_array_type", ves_icall_RuntimeType_make_array_type)
+ICALL(RT_27, "make_byref_type", ves_icall_RuntimeType_make_byref_type)
 
 ICALL_TYPE(RTH, "System.RuntimeTypeHandle", RTH_1)
 ICALL(RTH_1, "GetArrayRank", ves_icall_RuntimeTypeHandle_GetArrayRank)
@@ -889,9 +886,9 @@ ICALL(NATIVEC_4, "ResetEvent_internal",  ves_icall_System_Threading_Events_Reset
 ICALL(NATIVEC_5, "SetEvent_internal",    ves_icall_System_Threading_Events_SetEvent_internal)
 
 ICALL_TYPE(SEMA, "System.Threading.Semaphore", SEMA_1)
-ICALL(SEMA_1, "CreateSemaphore_internal(int,int,string,bool&)", ves_icall_System_Threading_Semaphore_CreateSemaphore_internal)
-ICALL(SEMA_2, "OpenSemaphore_internal(string,System.Security.AccessControl.SemaphoreRights,System.IO.MonoIOError&)", ves_icall_System_Threading_Semaphore_OpenSemaphore_internal)
-ICALL(SEMA_3, "ReleaseSemaphore_internal(intptr,int,bool&)", ves_icall_System_Threading_Semaphore_ReleaseSemaphore_internal)
+ICALL(SEMA_1, "CreateSemaphore_internal(int,int,string,int&)", ves_icall_System_Threading_Semaphore_CreateSemaphore_internal)
+ICALL(SEMA_2, "OpenSemaphore_internal(string,System.Security.AccessControl.SemaphoreRights,int&)", ves_icall_System_Threading_Semaphore_OpenSemaphore_internal)
+ICALL(SEMA_3, "ReleaseSemaphore_internal(intptr,int,int&)", ves_icall_System_Threading_Semaphore_ReleaseSemaphore_internal)
 
 ICALL_TYPE(THREAD, "System.Threading.Thread", THREAD_1)
 ICALL(THREAD_1, "Abort_internal(System.Threading.InternalThread,object)", ves_icall_System_Threading_Thread_Abort)
index 3a47c3286ee772462fe9bb2714535c84f47f6f14..5f9cabfc9e8d4a39ef68a917a57c7a06a64c5b23 100644 (file)
@@ -1210,13 +1210,6 @@ ves_icall_System_Object_GetType (MonoObject *obj)
        return ret;
 }
 
-ICALL_EXPORT void
-ves_icall_MonoType_type_from_obj (MonoReflectionType *mtype, MonoObject *obj)
-{
-       mtype->type = &obj->vtable->klass->byval_arg;
-       g_assert (mtype->type->type);
-}
-
 ICALL_EXPORT gint32
 ves_icall_ModuleBuilder_getToken (MonoReflectionModuleBuilder *mb, MonoObject *obj, gboolean create_open_instance)
 {
@@ -1477,31 +1470,41 @@ ves_icall_System_Type_internal_from_name (MonoString *name,
                                                                                  MonoBoolean ignoreCase)
 {
        MonoError error;
-       char *str = mono_string_to_utf8 (name);
        MonoTypeNameParse info;
-       MonoReflectionType *type;
+       MonoReflectionType *type = NULL;
        gboolean parsedOk;
 
+       char *str = mono_string_to_utf8_checked (name, &error);
+       if (!is_ok (&error))
+               goto leave;
+
        parsedOk = mono_reflection_parse_type (str, &info);
 
        /* mono_reflection_parse_type() mangles the string */
        if (!parsedOk) {
                mono_reflection_free_type_info (&info);
-               if (throwOnError) {
-                       mono_error_init (&error);
+               if (throwOnError)
                        mono_error_set_argument (&error, "typeName", "failed parse: %s", str);
-                       mono_error_set_pending_exception (&error);
-               }
-               g_free (str);
-               return NULL;
+               goto leave;
        }
 
        type = type_from_parsed_name (&info, ignoreCase, &error);
 
        mono_reflection_free_type_info (&info);
-       g_free (str);
 
-       if (!mono_error_ok (&error)) {
+       if (!is_ok (&error))
+               goto leave;
+
+       if (type == NULL){
+               if (throwOnError) {
+                       mono_error_set_type_load_name (&error, g_strdup (str), NULL, "");
+                       goto leave;
+               }
+       }
+       
+leave:
+       g_free (str);
+       if (!is_ok (&error)) {
                if (throwOnError)
                        mono_error_set_pending_exception (&error);
                else
@@ -1509,18 +1512,6 @@ ves_icall_System_Type_internal_from_name (MonoString *name,
                return NULL;
        }
 
-       if (type == NULL){
-               MonoException *e = NULL;
-               
-               if (throwOnError)
-                       e = mono_get_exception_type_load (name, NULL);
-
-               if (e) {
-                       mono_set_pending_exception (e);
-                       return NULL;
-               }
-       }
-       
        return type;
 }
 
@@ -2401,7 +2392,7 @@ get_interfaces_hash (gconstpointer v1)
 }
 
 ICALL_EXPORT MonoArray*
-ves_icall_Type_GetInterfaces (MonoReflectionType* type)
+ves_icall_RuntimeType_GetInterfaces (MonoReflectionType* type)
 {
        MonoError error;
        MonoClass *klass = mono_class_from_mono_type (type->type);
@@ -2432,14 +2423,14 @@ ves_icall_Type_GetInterfaces (MonoReflectionType* type)
        if (len == 0) {
                g_hash_table_destroy (iface_hash);
                if (!data.domain->empty_types) {
-                       data.domain->empty_types = mono_array_new_cached (data.domain, mono_defaults.monotype_class, 0, &error);
+                       data.domain->empty_types = mono_array_new_cached (data.domain, mono_defaults.runtimetype_class, 0, &error);
                        if (!is_ok (&error))
                                goto fail;
                }
                return data.domain->empty_types;
        }
 
-       data.iface_array = mono_array_new_cached (data.domain, mono_defaults.monotype_class, len, &error);
+       data.iface_array = mono_array_new_cached (data.domain, mono_defaults.runtimetype_class, len, &error);
        if (!is_ok (&error))
                goto fail;
        g_hash_table_foreach (iface_hash, fill_iface_array, &data);
@@ -2456,7 +2447,7 @@ fail:
 }
 
 ICALL_EXPORT void
-ves_icall_Type_GetInterfaceMapData (MonoReflectionType *type, MonoReflectionType *iface, MonoArray **targets, MonoArray **methods)
+ves_icall_RuntimeType_GetInterfaceMapData (MonoReflectionType *type, MonoReflectionType *iface, MonoArray **targets, MonoArray **methods)
 {
        gboolean variance_used;
        MonoClass *klass = mono_class_from_mono_type (type->type);
@@ -2507,7 +2498,7 @@ ves_icall_Type_GetInterfaceMapData (MonoReflectionType *type, MonoReflectionType
 }
 
 ICALL_EXPORT void
-ves_icall_Type_GetPacking (MonoReflectionType *type, guint32 *packing, guint32 *size)
+ves_icall_RuntimeType_GetPacking (MonoReflectionType *type, guint32 *packing, guint32 *size)
 {
        MonoError error;
        MonoClass *klass = mono_class_from_mono_type (type->type);
@@ -2641,7 +2632,7 @@ ves_icall_RuntimeTypeHandle_GetAssembly (MonoReflectionType *type)
 }
 
 ICALL_EXPORT MonoReflectionType*
-ves_icall_MonoType_get_DeclaringType (MonoReflectionType *type)
+ves_icall_RuntimeType_get_DeclaringType (MonoReflectionType *type)
 {
        MonoError error;
        MonoReflectionType *ret;
@@ -2670,7 +2661,7 @@ ves_icall_MonoType_get_DeclaringType (MonoReflectionType *type)
 }
 
 ICALL_EXPORT MonoString*
-ves_icall_MonoType_get_Name (MonoReflectionType *type)
+ves_icall_RuntimeType_get_Name (MonoReflectionType *type)
 {
        MonoDomain *domain = mono_domain_get (); 
        MonoClass *klass = mono_class_from_mono_type (type->type);
@@ -2688,7 +2679,7 @@ ves_icall_MonoType_get_Name (MonoReflectionType *type)
 }
 
 ICALL_EXPORT MonoString*
-ves_icall_MonoType_get_Namespace (MonoReflectionType *type)
+ves_icall_RuntimeType_get_Namespace (MonoReflectionType *type)
 {
        MonoDomain *domain = mono_domain_get (); 
        MonoClass *klass = mono_class_from_mono_type (type->type);
@@ -2724,7 +2715,7 @@ create_type_array (MonoDomain *domain, MonoBoolean runtimeTypeArray, int count,
 }
 
 ICALL_EXPORT MonoArray*
-ves_icall_MonoType_GetGenericArguments (MonoReflectionType *type, MonoBoolean runtimeTypeArray)
+ves_icall_RuntimeType_GetGenericArguments (MonoReflectionType *type, MonoBoolean runtimeTypeArray)
 {
        MonoError error;
        MonoReflectionType *rt;
@@ -2816,7 +2807,7 @@ ves_icall_RuntimeTypeHandle_GetGenericTypeDefinition_impl (MonoReflectionType *t
 }
 
 ICALL_EXPORT MonoReflectionType*
-ves_icall_Type_MakeGenericType (MonoReflectionType *type, MonoArray *type_array)
+ves_icall_RuntimeType_MakeGenericType (MonoReflectionType *type, MonoArray *type_array)
 {
        MonoError error;
        MonoReflectionType *ret;
@@ -2874,7 +2865,7 @@ ves_icall_RuntimeTypeHandle_HasInstantiation (MonoReflectionType *type)
 }
 
 ICALL_EXPORT gint32
-ves_icall_Type_GetGenericParameterPosition (MonoReflectionType *type)
+ves_icall_RuntimeType_GetGenericParameterPosition (MonoReflectionType *type)
 {
        if (!IS_MONOTYPE (type))
                return -1;
@@ -2885,7 +2876,7 @@ ves_icall_Type_GetGenericParameterPosition (MonoReflectionType *type)
 }
 
 ICALL_EXPORT GenericParameterAttributes
-ves_icall_Type_GetGenericParameterAttributes (MonoReflectionType *type)
+ves_icall_RuntimeType_GetGenericParameterAttributes (MonoReflectionType *type)
 {
        g_assert (IS_MONOTYPE (type));
        g_assert (is_generic_parameter (type->type));
@@ -2893,7 +2884,7 @@ ves_icall_Type_GetGenericParameterAttributes (MonoReflectionType *type)
 }
 
 ICALL_EXPORT MonoArray *
-ves_icall_Type_GetGenericParameterConstraints (MonoReflectionType *type)
+ves_icall_RuntimeType_GetGenericParameterConstraints (MonoReflectionType *type)
 {
        MonoError error;
        MonoReflectionType *rt;
@@ -2910,7 +2901,7 @@ ves_icall_Type_GetGenericParameterConstraints (MonoReflectionType *type)
        for (count = 0, ptr = param_info->constraints; ptr && *ptr; ptr++, count++)
                ;
 
-       res = mono_array_new_checked (domain, mono_defaults.monotype_class, count, &error);
+       res = mono_array_new_checked (domain, mono_defaults.runtimetype_class, count, &error);
        if (mono_error_set_pending_exception (&error))
                return NULL;
        for (i = 0; i < count; i++) {
@@ -2945,7 +2936,7 @@ ves_icall_EnumBuilder_setup_enum_type (MonoReflectionType *enumtype,
 }
 
 ICALL_EXPORT MonoReflectionMethod*
-ves_icall_MonoType_GetCorrespondingInflatedMethod (MonoReflectionType *type, 
+ves_icall_RuntimeType_GetCorrespondingInflatedMethod (MonoReflectionType *type, 
                                                    MonoReflectionMethod* generic)
 {
        MonoDomain *domain; 
@@ -2975,7 +2966,7 @@ ves_icall_MonoType_GetCorrespondingInflatedMethod (MonoReflectionType *type,
 }
 
 ICALL_EXPORT MonoReflectionMethod *
-ves_icall_MonoType_get_DeclaringMethod (MonoReflectionType *ref_type)
+ves_icall_RuntimeType_get_DeclaringMethod (MonoReflectionType *ref_type)
 {
        MonoMethod *method;
        MonoType *type = ref_type->type;
@@ -3313,7 +3304,9 @@ ves_icall_InternalInvoke (MonoReflectionMethod *method, MonoObject *this_arg, Mo
                        return (MonoObject*)arr;
                }
        }
-       return mono_runtime_invoke_array (m, obj, params, NULL);
+       MonoObject *result = mono_runtime_invoke_array_checked (m, obj, params, &error);
+       mono_error_set_pending_exception (&error);
+       return result;
 }
 
 #ifndef DISABLE_REMOTING
@@ -3343,7 +3336,9 @@ ves_icall_InternalExecute (MonoReflectionMethod *method, MonoObject *this_arg, M
                        }
                        
                        name = mono_array_get (params, MonoString *, 1);
-                       str = mono_string_to_utf8 (name);
+                       str = mono_string_to_utf8_checked (name, &error);
+                       if (mono_error_set_pending_exception (&error))
+                               return NULL;
                
                        do {
                                MonoClassField* field = mono_class_get_field_from_name (k, str);
@@ -3386,7 +3381,9 @@ ves_icall_InternalExecute (MonoReflectionMethod *method, MonoObject *this_arg, M
                        }
                        
                        name = mono_array_get (params, MonoString *, 1);
-                       str = mono_string_to_utf8 (name);
+                       str = mono_string_to_utf8_checked (name, &error);
+                       if (mono_error_set_pending_exception (&error))
+                               return NULL;
                
                        do {
                                MonoClassField* field = mono_class_get_field_from_name (k, str);
@@ -3435,7 +3432,9 @@ ves_icall_InternalExecute (MonoReflectionMethod *method, MonoObject *this_arg, M
 
        /* 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_arg, params, NULL);
+       result = mono_runtime_invoke_array_checked (method->method, this_arg, params, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
 
        for (i = 0, j = 0; i < mono_array_length (params); i++) {
                if (sig->params [i]->byref) {
@@ -3772,7 +3771,7 @@ enum {
 };
 
 ICALL_EXPORT MonoArray*
-ves_icall_Type_GetFields_internal (MonoReflectionType *type, MonoString *name, guint32 bflags, MonoReflectionType *reftype)
+ves_icall_RuntimeType_GetFields_internal (MonoReflectionType *type, MonoString *name, guint32 bflags, MonoReflectionType *reftype)
 {
        MonoError error;
        MonoDomain *domain; 
@@ -3836,7 +3835,9 @@ handle_parent:
 
                if (name != NULL) {
                        if (utf8_name == NULL) {
-                               utf8_name = mono_string_to_utf8 (name);
+                               utf8_name = mono_string_to_utf8_checked (name, &error);
+                               if (!is_ok (&error))
+                                       goto fail;
                                compare_func = (bflags & BFLAGS_IgnoreCase) ? mono_utf8_strcasecmp : strcmp;
                        }
 
@@ -3999,7 +4000,7 @@ loader_error:
 }
 
 ICALL_EXPORT MonoArray*
-ves_icall_Type_GetMethodsByName (MonoReflectionType *type, MonoString *name, guint32 bflags, MonoBoolean ignore_case, MonoReflectionType *reftype)
+ves_icall_RuntimeType_GetMethodsByName (MonoReflectionType *type, MonoString *name, guint32 bflags, MonoBoolean ignore_case, MonoReflectionType *reftype)
 {
        static MonoClass *MethodInfo_array;
        MonoError error;
@@ -4035,8 +4036,11 @@ ves_icall_Type_GetMethodsByName (MonoReflectionType *type, MonoString *name, gui
                return res;
        }
 
-       if (name)
-               mname = mono_string_to_utf8 (name);
+       if (name) {
+               mname = mono_string_to_utf8_checked (name, &error);
+               if (mono_error_set_pending_exception (&error))
+                   return NULL;
+       }
 
        method_array = mono_class_get_methods_by_name (klass, mname, bflags, ignore_case, FALSE, &ex);
        g_free ((char*)mname);
@@ -4067,7 +4071,7 @@ failure:
 }
 
 ICALL_EXPORT MonoArray*
-ves_icall_Type_GetConstructors_internal (MonoReflectionType *type, guint32 bflags, MonoReflectionType *reftype)
+ves_icall_RuntimeType_GetConstructors_internal (MonoReflectionType *type, guint32 bflags, MonoReflectionType *reftype)
 {
        MonoDomain *domain; 
        MonoClass *startklass, *klass, *refklass;
@@ -4203,7 +4207,7 @@ property_accessor_nonpublic (MonoMethod* accessor, gboolean start_klass)
 }
 
 ICALL_EXPORT MonoArray*
-ves_icall_Type_GetPropertiesByName (MonoReflectionType *type, MonoString *name, guint32 bflags, MonoBoolean ignore_case, MonoReflectionType *reftype)
+ves_icall_RuntimeType_GetPropertiesByName (MonoReflectionType *type, MonoString *name, guint32 bflags, MonoBoolean ignore_case, MonoReflectionType *reftype)
 {
        MonoError error;
        MonoDomain *domain; 
@@ -4233,7 +4237,9 @@ ves_icall_Type_GetPropertiesByName (MonoReflectionType *type, MonoString *name,
        klass = startklass = mono_class_from_mono_type (type->type);
 
        if (name != NULL) {
-               propname = mono_string_to_utf8 (name);
+               propname = mono_string_to_utf8_checked (name, &error);
+               if (mono_error_set_pending_exception (&error))
+                       return NULL;
                compare_func = (ignore_case) ? mono_utf8_strcasecmp : strcmp;
        }
 
@@ -4346,7 +4352,7 @@ event_equal (MonoEvent *event1, MonoEvent *event2)
 }
 
 ICALL_EXPORT MonoArray*
-ves_icall_Type_GetEvents_internal (MonoReflectionType *type, MonoString *name, guint32 bflags, MonoReflectionType *reftype)
+ves_icall_RuntimeType_GetEvents_internal (MonoReflectionType *type, MonoString *name, guint32 bflags, MonoReflectionType *reftype)
 {
        MonoError error;
        MonoDomain *domain; 
@@ -4422,7 +4428,9 @@ handle_parent:
 
                if (name != NULL) {
                        if (utf8_name == NULL) {
-                               utf8_name = mono_string_to_utf8 (name);
+                               utf8_name = mono_string_to_utf8_checked (name, &error);
+                               if (!is_ok (&error))
+                                       goto failure;
                                compare_func = (bflags & BFLAGS_IgnoreCase) ? mono_utf8_strcasecmp : strcmp;
                        }
 
@@ -4479,7 +4487,7 @@ failure:
 }
 
 ICALL_EXPORT MonoArray*
-ves_icall_Type_GetNestedTypes (MonoReflectionType *type, MonoString *name, guint32 bflags)
+ves_icall_RuntimeType_GetNestedTypes (MonoReflectionType *type, MonoString *name, guint32 bflags)
 {
        MonoError error;
        MonoReflectionType *rt;
@@ -4496,7 +4504,7 @@ ves_icall_Type_GetNestedTypes (MonoReflectionType *type, MonoString *name, guint
 
        domain = ((MonoObject *)type)->vtable->domain;
        if (type->type->byref) {
-               MonoArray *result = mono_array_new_cached (domain, mono_defaults.monotype_class, 0, &error);
+               MonoArray *result = mono_array_new_cached (domain, mono_defaults.runtimetype_class, 0, &error);
                mono_error_set_pending_exception (&error);
                return result;
        }
@@ -4530,7 +4538,9 @@ ves_icall_Type_GetNestedTypes (MonoReflectionType *type, MonoString *name, guint
 
                if (name != NULL) {
                        if (str == NULL) {
-                               str = mono_string_to_utf8 (name);
+                               str = mono_string_to_utf8_checked (name, &error);
+                               if (!is_ok (&error))
+                                       goto leave;
                                mono_identifier_unescape_type_name_chars (str);
                        }
 
@@ -4545,7 +4555,7 @@ ves_icall_Type_GetNestedTypes (MonoReflectionType *type, MonoString *name, guint
                mono_ptr_array_append (tmp_array, (MonoObject*) rt);
        }
 
-       res = mono_array_new_cached (domain, mono_defaults.monotype_class, mono_ptr_array_size (tmp_array), &error);
+       res = mono_array_new_cached (domain, mono_defaults.runtimetype_class, mono_ptr_array_size (tmp_array), &error);
        if (!is_ok (&error))
                goto leave;
 
@@ -4573,7 +4583,9 @@ ves_icall_System_Reflection_Assembly_InternalGetType (MonoReflectionAssembly *as
 
        /* On MS.NET, this does not fire a TypeResolve event */
        type_resolve = TRUE;
-       str = mono_string_to_utf8 (name);
+       str = mono_string_to_utf8_checked (name, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
        /*g_print ("requested type %s in %s\n", str, assembly->assembly->aname.name);*/
        if (!mono_reflection_parse_type (str, &info)) {
                g_free (str);
@@ -4786,7 +4798,9 @@ ves_icall_System_Reflection_Assembly_load_with_partial_name (MonoString *mname,
        MonoImageOpenStatus status;
        MonoReflectionAssembly* result = NULL;
        
-       name = mono_string_to_utf8 (mname);
+       name = mono_string_to_utf8_checked (mname, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
        res = mono_assembly_load_with_partial_name (name, &status);
 
        g_free (name);
@@ -5033,7 +5047,6 @@ ICALL_EXPORT void *
 ves_icall_System_Reflection_Assembly_GetManifestResourceInternal (MonoReflectionAssembly *assembly, MonoString *name, gint32 *size, MonoReflectionModule **ref_module) 
 {
        MonoError error;
-       char *n = mono_string_to_utf8 (name);
        MonoTableInfo *table = &assembly->assembly->image->tables [MONO_TABLE_MANIFESTRESOURCE];
        guint32 i;
        guint32 cols [MONO_MANIFEST_SIZE];
@@ -5041,6 +5054,10 @@ ves_icall_System_Reflection_Assembly_GetManifestResourceInternal (MonoReflection
        const char *val;
        MonoImage *module;
 
+       char *n = mono_string_to_utf8_checked (name, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
+
        for (i = 0; i < table->rows; ++i) {
                mono_metadata_decode_row (table, i, cols, MONO_MANIFEST_SIZE);
                val = mono_metadata_string_heap (assembly->assembly->image, cols [MONO_MANIFEST_NAME]);
@@ -5087,7 +5104,9 @@ ves_icall_System_Reflection_Assembly_GetManifestResourceInfoInternal (MonoReflec
        const char *val;
        char *n;
 
-       n = mono_string_to_utf8 (name);
+       n = mono_string_to_utf8_checked (name, &error);
+       if (mono_error_set_pending_exception (&error))
+               return FALSE;
        for (i = 0; i < table->rows; ++i) {
                mono_metadata_decode_row (table, i, cols, MONO_MANIFEST_SIZE);
                val = mono_metadata_string_heap (assembly->assembly->image, cols [MONO_MANIFEST_NAME]);
@@ -5159,7 +5178,10 @@ ves_icall_System_Reflection_Assembly_GetFilesInternal (MonoReflectionAssembly *a
 
        /* check hash if needed */
        if (name) {
-               n = mono_string_to_utf8 (name);
+               n = mono_string_to_utf8_checked (name, &error);
+               if (mono_error_set_pending_exception (&error))
+                       return NULL;
+
                for (i = 0; i < table->rows; ++i) {
                        val = mono_metadata_string_heap (assembly->assembly->image, mono_metadata_decode_row_col (table, i, MONO_FILE_NAME));
                        if (strcmp (val, n) == 0) {
@@ -5450,7 +5472,7 @@ ves_icall_System_MonoType_getFullName (MonoReflectionType *object, gboolean full
 }
 
 ICALL_EXPORT int
-vell_icall_MonoType_get_core_clr_security_level (MonoReflectionType *rfield)
+vell_icall_RuntimeType_get_core_clr_security_level (MonoReflectionType *rfield)
 {
        MonoError error;
        MonoClass *klass = mono_class_from_mono_type (rfield->type);
@@ -5639,7 +5661,9 @@ ves_icall_System_Reflection_Assembly_InternalGetAssemblyName (MonoString *fname,
        MonoAssemblyName name;
        char *dirname;
 
-       filename = mono_string_to_utf8 (fname);
+       filename = mono_string_to_utf8_checked (fname, &error);
+       if (mono_error_set_pending_exception (&error))
+               return;
 
        dirname = g_path_get_dirname (filename);
        replace_shadow_path (mono_domain_get (), dirname, &filename);
@@ -5739,7 +5763,7 @@ mono_module_get_types (MonoDomain *domain, MonoImage *image, MonoArray **excepti
        } else {
                count = tdef->rows - 1;
        }
-       res = mono_array_new_checked (domain, mono_defaults.monotype_class, count, error);
+       res = mono_array_new_checked (domain, mono_defaults.runtimetype_class, count, error);
        return_val_if_nok (error, NULL);
        *exceptions = mono_array_new_checked (domain, mono_defaults.exception_class, count, error);
        return_val_if_nok (error, NULL);
@@ -5806,14 +5830,14 @@ ves_icall_System_Reflection_Assembly_GetTypes (MonoReflectionAssembly *assembly,
                                        len1 = mono_array_length (res);
                                        len2 = mono_array_length (res2);
 
-                                       res3 = mono_array_new_checked (domain, mono_defaults.monotype_class, len1 + len2, &error);
+                                       res3 = mono_array_new_checked (domain, mono_defaults.runtimetype_class, len1 + len2, &error);
                                        if (mono_error_set_pending_exception (&error))
                                                return NULL;
                                        mono_array_memcpy_refs (res3, 0, res, 0, len1);
                                        mono_array_memcpy_refs (res3, len1, res2, 0, len2);
                                        res = res3;
 
-                                       ex3 = mono_array_new_checked (domain, mono_defaults.monotype_class, len1 + len2, &error);
+                                       ex3 = mono_array_new_checked (domain, mono_defaults.runtimetype_class, len1 + len2, &error);
                                        if (mono_error_set_pending_exception (&error))
                                                return NULL;
                                        mono_array_memcpy_refs (ex3, 0, exceptions, 0, len1);
@@ -5900,7 +5924,10 @@ ves_icall_System_Reflection_AssemblyName_ParseName (MonoReflectionAssemblyName *
        gboolean is_token_defined;
 
        aname.public_key = NULL;
-       val = mono_string_to_utf8 (assname);
+       val = mono_string_to_utf8_checked (assname, &error);
+       if (mono_error_set_pending_exception (&error))
+               return FALSE;
+
        if (!mono_assembly_name_parse_full (val, &aname, TRUE, &is_version_defined, &is_token_defined)) {
                g_free ((guint8*) aname.public_key);
                g_free (val);
@@ -6001,7 +6028,7 @@ ves_icall_System_Reflection_Module_InternalGetTypes (MonoReflectionModule *modul
        int i;
 
        if (!module->image) {
-               MonoArray *arr = mono_array_new_checked (mono_object_domain (module), mono_defaults.monotype_class, 0, &error);
+               MonoArray *arr = mono_array_new_checked (mono_object_domain (module), mono_defaults.runtimetype_class, 0, &error);
                mono_error_set_pending_exception (&error);
                return arr;
        } else {
@@ -6190,7 +6217,9 @@ ves_icall_System_Reflection_Module_ResolveStringToken (MonoImage *image, guint32
 
        /* FIXME: What to do if the index points into the middle of a string ? */
 
-       return mono_ldstr (mono_domain_get (), image, index);
+       MonoString *result = mono_ldstr_checked (mono_domain_get (), image, index, &error);
+       mono_error_set_pending_exception (&error);
+       return result;
 }
 
 ICALL_EXPORT MonoClassField*
@@ -6362,8 +6391,10 @@ ves_icall_ModuleBuilder_create_modified_type (MonoReflectionTypeBuilder *tb, Mon
        MonoReflectionType *ret;
        MonoClass *klass;
        int isbyref = 0, rank;
-       char *str = mono_string_to_utf8 (smodifiers);
        char *p;
+       char *str = mono_string_to_utf8_checked (smodifiers, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
 
        klass = mono_class_from_mono_type (tb->type.type);
        p = str;
@@ -6454,7 +6485,7 @@ check_for_invalid_type (MonoClass *klass, MonoError *error)
 
 }
 ICALL_EXPORT MonoReflectionType *
-ves_icall_Type_make_array_type (MonoReflectionType *type, int rank)
+ves_icall_RuntimeType_make_array_type (MonoReflectionType *type, int rank)
 {
        MonoError error;
        MonoReflectionType *ret;
@@ -6476,7 +6507,7 @@ ves_icall_Type_make_array_type (MonoReflectionType *type, int rank)
 }
 
 ICALL_EXPORT MonoReflectionType *
-ves_icall_Type_make_byref_type (MonoReflectionType *type)
+ves_icall_RuntimeType_make_byref_type (MonoReflectionType *type)
 {
        MonoError error;
        MonoReflectionType *ret;
@@ -6498,7 +6529,7 @@ ves_icall_Type_make_byref_type (MonoReflectionType *type)
 }
 
 ICALL_EXPORT MonoReflectionType *
-ves_icall_Type_MakePointerType (MonoReflectionType *type)
+ves_icall_RuntimeType_MakePointerType (MonoReflectionType *type)
 {
        MonoError error;
        MonoReflectionType *ret;
@@ -6571,8 +6602,9 @@ ves_icall_System_Delegate_CreateDelegate_internal (MonoReflectionType *type, Mon
                func = mono_create_ftnptr (mono_domain_get (), trampoline);
        }
 
-       mono_delegate_ctor_with_method (delegate, target, func, method);
-
+       mono_delegate_ctor_with_method (delegate, target, func, method, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
        return delegate;
 }
 
@@ -6726,17 +6758,15 @@ ves_icall_Remoting_RealProxy_GetTransparentProxy (MonoObject *this_obj, MonoStri
        }
 
        tp->custom_type_info = (mono_object_isinst_checked (this_obj, mono_defaults.iremotingtypeinfo_class, &error) != NULL);
-       if (!is_ok (&error)) {
-               mono_error_set_pending_exception (&error);
+       if (mono_error_set_pending_exception (&error))
                return NULL;
-       }
        tp->remote_class = mono_remote_class (domain, class_name, klass, &error);
-       if (!is_ok (&error)) {
-               mono_error_set_pending_exception (&error);
+       if (mono_error_set_pending_exception (&error))
                return NULL;
-       }
 
-       res->vtable = (MonoVTable *)mono_remote_class_vtable (domain, tp->remote_class, rp);
+       res->vtable = (MonoVTable *)mono_remote_class_vtable (domain, tp->remote_class, rp, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
        return res;
 }
 
@@ -6862,13 +6892,16 @@ ves_icall_System_Environment_GetIs64BitOperatingSystem (void)
 ICALL_EXPORT MonoString *
 ves_icall_System_Environment_GetEnvironmentVariable (MonoString *name)
 {
+       MonoError error;
        const gchar *value;
        gchar *utf8_name;
 
        if (name == NULL)
                return NULL;
 
-       utf8_name = mono_string_to_utf8 (name); /* FIXME: this should be ascii */
+       utf8_name = mono_string_to_utf8_checked (name, &error); /* FIXME: this should be ascii */
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
        value = g_getenv (utf8_name);
 
        g_free (utf8_name);
@@ -7004,14 +7037,6 @@ ves_icall_System_Environment_GetEnvironmentVariableNames (void)
 #endif
 }
 
-/*
- * If your platform lacks setenv/unsetenv, you must upgrade your glib.
- */
-#if !GLIB_CHECK_VERSION(2,4,0)
-#define g_setenv(a,b,c)   setenv(a,b,c)
-#define g_unsetenv(a) unsetenv(a)
-#endif
-
 ICALL_EXPORT void
 ves_icall_System_Environment_InternalSetEnvironmentVariable (MonoString *name, MonoString *value)
 {
@@ -7037,7 +7062,9 @@ ves_icall_System_Environment_InternalSetEnvironmentVariable (MonoString *name, M
        g_free (utf16_name);
        g_free (utf16_value);
 #else
-       utf8_name = mono_string_to_utf8 (name); /* FIXME: this should be ascii */
+       utf8_name = mono_string_to_utf8_checked (name, &error); /* FIXME: this should be ascii */
+       if (mono_error_set_pending_exception (&error))
+               return;
 
        if ((value == NULL) || (mono_string_length (value) == 0) || (mono_string_chars (value)[0] == 0)) {
                g_unsetenv (utf8_name);
@@ -7306,7 +7333,9 @@ ves_icall_MonoMethodMessage_InitMessage (MonoMethodMessage *this_obj,
                                         MonoReflectionMethod *method,
                                         MonoArray *out_args)
 {
-       mono_message_init (mono_object_domain (this_obj), this_obj, method, out_args);
+       MonoError error;
+       mono_message_init (mono_object_domain (this_obj), this_obj, method, out_args, &error);
+       mono_error_set_pending_exception (&error);
 }
 
 #ifndef DISABLE_REMOTING
@@ -7520,9 +7549,11 @@ ves_icall_System_Configuration_DefaultConfig_get_machine_config_path (void)
        return mcpath;
 }
 
+/* this is an icall */
 static MonoString *
 get_bundled_app_config (void)
 {
+       MonoError error;
        const gchar *app_config;
        MonoDomain *domain;
        MonoString *file;
@@ -7536,7 +7567,9 @@ get_bundled_app_config (void)
                return NULL;
 
        // Retrieve config file and remove the extension
-       config_file_name = mono_string_to_utf8 (file);
+       config_file_name = mono_string_to_utf8_checked (file, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
        config_file_path = mono_portability_find_file (config_file_name, TRUE);
        if (!config_file_path)
                config_file_path = config_file_name;
index 7b1b4278315a2eddd8463dd5b6e86039efa3ed65..c58c4b6794a056cdcec340a869748af3bb66bfa0 100644 (file)
@@ -1300,6 +1300,7 @@ mono_image_open_from_data_internal (char *data, guint32 data_len, gboolean need_
        image->image_info = iinfo;
        image->ref_only = refonly;
        image->metadata_only = metadata_only;
+       image->ref_count = 1;
 
        image = do_mono_image_load (image, status, TRUE, TRUE);
        if (image == NULL)
index e01f8be31d67a836e5f8c9e0b7bcffb725de557f..bcb0dc3c0146748719a55c6a9002fc609a2c61b4 100644 (file)
@@ -177,7 +177,9 @@ ves_icall_System_Globalization_CalendarData_fill_calendar_data (MonoCalendarData
        const CultureInfoEntry *ci;
        char *n;
 
-       n = mono_string_to_utf8 (name);
+       n = mono_string_to_utf8_checked (name, &error);
+       if (mono_error_set_pending_exception (&error))
+               return FALSE;
        ne = (const CultureInfoNameEntry *)mono_binary_search (n, culture_name_entries, NUM_CULTURE_ENTRIES,
                        sizeof (CultureInfoNameEntry), culture_name_locator);
        g_free (n);
@@ -574,7 +576,9 @@ ves_icall_System_Globalization_CultureInfo_construct_internal_locale_from_name (
        const CultureInfoNameEntry *ne;
        char *n;
        
-       n = mono_string_to_utf8 (name);
+       n = mono_string_to_utf8_checked (name, &error);
+       if (mono_error_set_pending_exception (&error))
+               return FALSE;
        ne = (const CultureInfoNameEntry *)mono_binary_search (n, culture_name_entries, NUM_CULTURE_ENTRIES,
                        sizeof (CultureInfoNameEntry), culture_name_locator);
 
@@ -623,10 +627,13 @@ MonoBoolean
 ves_icall_System_Globalization_RegionInfo_construct_internal_region_from_name (MonoRegionInfo *this_obj,
                MonoString *name)
 {
+       MonoError error;
        const RegionInfoNameEntry *ne;
        char *n;
        
-       n = mono_string_to_utf8 (name);
+       n = mono_string_to_utf8_checked (name, &error);
+       if (mono_error_set_pending_exception (&error))
+               return FALSE;
        ne = (const RegionInfoNameEntry *)mono_binary_search (n, region_name_entries, NUM_REGION_ENTRIES,
                sizeof (RegionInfoNameEntry), region_name_locator);
 
index 3ef72af387fa55637032d48c9cb68254bc785a7e..86e66ece626ce9a7560ea03a47cf58d44222bf69 100644 (file)
@@ -45,6 +45,7 @@
 #include "mono/utils/mono-memory-model.h"
 #include "mono/utils/atomic.h"
 #include <mono/utils/mono-threads.h>
+#include <mono/utils/mono-threads-coop.h>
 #include <mono/utils/mono-error-internals.h>
 
 #include <string.h>
@@ -266,6 +267,15 @@ ves_icall_mono_string_from_utf16 (gunichar2 *data)
        return result;
 }
 
+static char*
+ves_icall_mono_string_to_utf8 (MonoString *str)
+{
+       MonoError error;
+       char *result = mono_string_to_utf8_checked (str, &error);
+       mono_error_set_pending_exception (&error);
+       return result;
+}
+
 void
 mono_marshal_init (void)
 {
@@ -285,7 +295,7 @@ mono_marshal_init (void)
                register_icall (mono_string_from_byvalwstr, "mono_string_from_byvalwstr", "obj ptr int", FALSE);
                register_icall (mono_string_new_wrapper, "mono_string_new_wrapper", "obj ptr", FALSE);
                register_icall (mono_string_new_len_wrapper, "mono_string_new_len_wrapper", "obj ptr int", FALSE);
-               register_icall (mono_string_to_utf8, "mono_string_to_utf8", "ptr obj", FALSE);
+               register_icall (ves_icall_mono_string_to_utf8, "ves_icall_mono_string_to_utf8", "ptr obj", FALSE);
                register_icall (mono_string_to_lpstr, "mono_string_to_lpstr", "ptr obj", FALSE);
                register_icall (mono_string_to_ansibstr, "mono_string_to_ansibstr", "ptr object", FALSE);
                register_icall (mono_string_builder_to_utf8, "mono_string_builder_to_utf8", "ptr object", FALSE);
@@ -326,6 +336,8 @@ mono_marshal_init (void)
                register_icall (mono_marshal_ftnptr_eh_callback, "mono_marshal_ftnptr_eh_callback", "void uint32", TRUE);
                register_icall (mono_threads_enter_gc_safe_region_unbalanced, "mono_threads_enter_gc_safe_region_unbalanced", "ptr ptr", TRUE);
                register_icall (mono_threads_exit_gc_safe_region_unbalanced, "mono_threads_exit_gc_safe_region_unbalanced", "void ptr ptr", TRUE);
+               register_icall (mono_threads_attach_coop, "mono_threads_attach_coop", "ptr ptr ptr", TRUE);
+               register_icall (mono_threads_detach_coop, "mono_threads_detach_coop", "void ptr ptr", TRUE);
 
                mono_cominterop_init ();
                mono_remoting_init ();
@@ -405,14 +417,10 @@ mono_delegate_to_ftnptr (MonoDelegate *delegate)
        delegate_hash_table_add (delegate);
 
        /* when the object is collected, collect the dynamic method, too */
-       mono_object_register_finalizer ((MonoObject*)delegate, &error);
-       if (!is_ok (&error))
-               goto fail2;
+       mono_object_register_finalizer ((MonoObject*)delegate);
 
        return delegate->delegate_trampoline;
 
-fail2:
-       delegate_hash_table_remove (delegate);
 fail:
        mono_gchandle_free (target_handle);
        mono_error_set_pending_exception (&error);
@@ -584,7 +592,9 @@ mono_ftnptr_to_delegate (MonoClass *klass, gpointer ftn)
                gpointer compiled_ptr = mono_compile_method_checked (wrapper, &error);
                if (mono_error_set_pending_exception (&error))
                        return NULL;
-               mono_delegate_ctor_with_method ((MonoObject*)d, this_obj, compiled_ptr, wrapper);
+               mono_delegate_ctor_with_method ((MonoObject*)d, this_obj, compiled_ptr, wrapper, &error);
+               if (mono_error_set_pending_exception (&error))
+                       return NULL;
        }
 
        if (d->object.vtable->domain != mono_domain_get ()) {
@@ -1084,7 +1094,10 @@ mono_string_to_lpstr (MonoString *s)
                return as;
        }
 #else
-       return mono_string_to_utf8 (s);
+       MonoError error;
+       char *result = mono_string_to_utf8_checked (s, &error);
+       mono_error_set_pending_exception (&error);
+       return result;
 #endif
 }      
 
@@ -1107,6 +1120,7 @@ mono_string_to_ansibstr (MonoString *string_obj)
 void
 mono_string_to_byvalstr (gpointer dst, MonoString *src, int size)
 {
+       MonoError error;
        char *s;
        int len;
 
@@ -1117,7 +1131,9 @@ mono_string_to_byvalstr (gpointer dst, MonoString *src, int size)
        if (!src)
                return;
 
-       s = mono_string_to_utf8 (src);
+       s = mono_string_to_utf8_checked (src, &error);
+       if (mono_error_set_pending_exception (&error))
+               return;
        len = MIN (size, strlen (s));
        if (len >= size)
                len--;
@@ -2236,8 +2252,12 @@ mono_delegate_begin_invoke (MonoDelegate *delegate, gpointer *params)
                        MonoArray *out_args;
                        method = delegate->method;
 
-                       msg = mono_method_call_message_new (mono_marshal_method_from_wrapper (method), params, NULL, &async_callback, &state);
-                       ares = mono_async_result_new (mono_domain_get (), NULL, state, NULL, NULL);
+                       msg = mono_method_call_message_new (mono_marshal_method_from_wrapper (method), params, NULL, &async_callback, &state, &error);
+                       if (mono_error_set_pending_exception (&error))
+                               return NULL;
+                       ares = mono_async_result_new (mono_domain_get (), NULL, state, NULL, NULL, &error);
+                       if (mono_error_set_pending_exception (&error))
+                               return NULL;
                        MONO_OBJECT_SETREF (ares, async_delegate, (MonoObject *)delegate);
                        MONO_OBJECT_SETREF (ares, async_callback, (MonoObject *)async_callback);
                        MONO_OBJECT_SETREF (msg, async_result, ares);
@@ -2964,7 +2984,9 @@ mono_delegate_end_invoke (MonoDelegate *delegate, gpointer *params)
 
        sig = mono_signature_no_pinvoke (method);
 
-       msg = mono_method_call_message_new (method, params, NULL, NULL, NULL);
+       msg = mono_method_call_message_new (method, params, NULL, NULL, NULL, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
 
        ares = (MonoAsyncResult *)mono_array_get (msg->args, gpointer, sig->param_count - 1);
        if (ares == NULL) {
@@ -2986,7 +3008,9 @@ mono_delegate_end_invoke (MonoDelegate *delegate, gpointer *params)
                        mono_error_set_pending_exception (&error);
                        return NULL;
                }
-               mono_message_init (domain, msg, delegate->method_info, NULL);
+               mono_message_init (domain, msg, delegate->method_info, NULL, &error);
+               if (mono_error_set_pending_exception (&error))
+                       return NULL;
                msg->call_type = CallType_EndInvoke;
                MONO_OBJECT_SETREF (msg, async_result, ares);
                res = mono_remoting_invoke ((MonoObject *)tp->rp, msg, &exc, &out_args, &error);
@@ -2997,17 +3021,23 @@ mono_delegate_end_invoke (MonoDelegate *delegate, gpointer *params)
        } else
 #endif
        {
-               res = mono_threadpool_ms_end_invoke (ares, &out_args, &exc);
+               res = mono_threadpool_ms_end_invoke (ares, &out_args, &exc, &error);
+               if (mono_error_set_pending_exception (&error))
+                       return NULL;
        }
 
        if (exc) {
                if (((MonoException*)exc)->stack_trace) {
-                       char *strace = mono_string_to_utf8 (((MonoException*)exc)->stack_trace);
-                       char  *tmp;
-                       tmp = g_strdup_printf ("%s\nException Rethrown at:\n", strace);
-                       g_free (strace);        
-                       MONO_OBJECT_SETREF (((MonoException*)exc), stack_trace, mono_string_new (domain, tmp));
-                       g_free (tmp);
+                       MonoError inner_error;
+                       char *strace = mono_string_to_utf8_checked (((MonoException*)exc)->stack_trace, &inner_error);
+                       if (is_ok (&inner_error)) {
+                               char  *tmp;
+                               tmp = g_strdup_printf ("%s\nException Rethrown at:\n", strace);
+                               g_free (strace);        
+                               MONO_OBJECT_SETREF (((MonoException*)exc), stack_trace, mono_string_new (domain, tmp));
+                               g_free (tmp);
+                       } else
+                               mono_error_cleanup (&inner_error); /* no stack trace, but at least throw the original exception */
                }
                mono_set_pending_exception ((MonoException*)exc);
        }
@@ -7294,7 +7324,6 @@ mono_marshal_emit_native_wrapper (MonoImage *image, MonoMethodBuilder *mb, MonoM
        MonoClass *klass;
        int i, argnum, *tmp_locals;
        int type, param_shift = 0;
-       static MonoMethodSignature *get_last_error_sig = NULL;
        int coop_gc_stack_dummy, coop_gc_var;
 
        memset (&m, 0, sizeof (m));
@@ -7420,33 +7449,16 @@ mono_marshal_emit_native_wrapper (MonoImage *image, MonoMethodBuilder *mb, MonoM
                }
        }
 
-       if (MONO_TYPE_ISSTRUCT (sig->ret)) {
-               MonoClass *klass = mono_class_from_mono_type (sig->ret);
-               mono_class_init (klass);
-               if (!(((klass->flags & TYPE_ATTRIBUTE_LAYOUT_MASK) == TYPE_ATTRIBUTE_EXPLICIT_LAYOUT) || klass->blittable)) {
-                       /* This is used by emit_marshal_vtype (), but it needs to go right before the call */
-                       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
-                       mono_mb_emit_byte (mb, CEE_MONO_VTADDR);
-                       mono_mb_emit_stloc (mb, m.vtaddr_var);
-               }
-       }
-
-       /* Unblock before converting the result, since that can involve calls into the runtime */
-       if (mono_threads_is_coop_enabled ()) {
-               mono_mb_emit_ldloc (mb, coop_gc_var);
-               mono_mb_emit_ldloc_addr (mb, coop_gc_stack_dummy);
-               mono_mb_emit_icall (mb, mono_threads_exit_gc_safe_region_unbalanced);
-       }
-
        /* Set LastError if needed */
        if (piinfo->piflags & PINVOKE_ATTRIBUTE_SUPPORTS_LAST_ERROR) {
+#ifdef TARGET_WIN32
+               static MonoMethodSignature *get_last_error_sig = NULL;
                if (!get_last_error_sig) {
                        get_last_error_sig = mono_metadata_signature_alloc (mono_defaults.corlib, 0);
                        get_last_error_sig->ret = &mono_defaults.int_class->byval_arg;
                        get_last_error_sig->pinvoke = 1;
                }
 
-#ifdef TARGET_WIN32
                /*
                 * Have to call GetLastError () early and without a wrapper, since various runtime components could
                 * clobber its value.
@@ -7458,6 +7470,24 @@ mono_marshal_emit_native_wrapper (MonoImage *image, MonoMethodBuilder *mb, MonoM
 #endif
        }
 
+       if (MONO_TYPE_ISSTRUCT (sig->ret)) {
+               MonoClass *klass = mono_class_from_mono_type (sig->ret);
+               mono_class_init (klass);
+               if (!(((klass->flags & TYPE_ATTRIBUTE_LAYOUT_MASK) == TYPE_ATTRIBUTE_EXPLICIT_LAYOUT) || klass->blittable)) {
+                       /* This is used by emit_marshal_vtype (), but it needs to go right before the call */
+                       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
+                       mono_mb_emit_byte (mb, CEE_MONO_VTADDR);
+                       mono_mb_emit_stloc (mb, m.vtaddr_var);
+               }
+       }
+
+       /* Unblock before converting the result, since that can involve calls into the runtime */
+       if (mono_threads_is_coop_enabled ()) {
+               mono_mb_emit_ldloc (mb, coop_gc_var);
+               mono_mb_emit_ldloc_addr (mb, coop_gc_stack_dummy);
+               mono_mb_emit_icall (mb, mono_threads_exit_gc_safe_region_unbalanced);
+       }
+
        /* convert the result */
        if (!sig->ret->byref) {
                MonoMarshalSpec *spec = mspecs [0];
@@ -7955,7 +7985,7 @@ mono_marshal_emit_managed_wrapper (MonoMethodBuilder *mb, MonoMethodSignature *i
 #else
        MonoMethodSignature *sig, *csig;
        MonoExceptionClause *clauses, *clause_finally, *clause_catch;
-       int i, *tmp_locals, ex_local, e_local;
+       int i, *tmp_locals, ex_local, e_local, attach_cookie_local, attach_dummy_local;
        int leave_try_pos, leave_catch_pos, ex_m1_pos;
        gboolean closed = FALSE;
 
@@ -7990,10 +8020,14 @@ mono_marshal_emit_managed_wrapper (MonoMethodBuilder *mb, MonoMethodSignature *i
        ex_local = mono_mb_add_local (mb, &mono_defaults.uint32_class->byval_arg);
        e_local = mono_mb_add_local (mb, &mono_defaults.exception_class->byval_arg);
 
+       attach_cookie_local = mono_mb_add_local (mb, &mono_defaults.int_class->byval_arg);
+       attach_dummy_local = mono_mb_add_local (mb, &mono_defaults.int_class->byval_arg);
+
        /*
         * guint32 ex = -1;
         * try {
-        *   mono_jit_attach ();
+        *   // does (STARTING|RUNNING|BLOCKING) -> RUNNING + set/switch domain
+        *   mono_threads_attach_coop ();
         *
         *   <interrupt check>
         *
@@ -8001,7 +8035,8 @@ mono_marshal_emit_managed_wrapper (MonoMethodBuilder *mb, MonoMethodSignature *i
         * } catch (Exception e) {
         *   ex = mono_gchandle_new (e, false);
         * } finally {
-        *   mono_jit_detach ();
+        *   // does RUNNING -> (RUNNING|BLOCKING) + unset/switch domain
+        *   mono_threads_detach_coop ();
         *
         *   if (ex != -1)
         *     mono_marshal_ftnptr_eh_callback (ex);
@@ -8029,16 +8064,17 @@ mono_marshal_emit_managed_wrapper (MonoMethodBuilder *mb, MonoMethodSignature *i
        /* try { */
        clause_catch->try_offset = clause_finally->try_offset = mono_mb_get_label (mb);
 
-       /*
-        * Might need to attach the thread to the JIT or change the
-        * domain for the callback.
-        *
-        * Also does the (STARTING|BLOCKING|RUNNING) -> RUNNING thread state transtion
-        *
-        * mono_jit_attach ();
-        */
-       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
-       mono_mb_emit_byte (mb, CEE_MONO_JIT_ATTACH);
+       if (!mono_threads_is_coop_enabled ()) {
+               mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
+               mono_mb_emit_byte (mb, CEE_MONO_JIT_ATTACH);
+       } else {
+               /* mono_threads_attach_coop (); */
+               mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
+               mono_mb_emit_byte (mb, CEE_MONO_LDDOMAIN);
+               mono_mb_emit_ldloc_addr (mb, attach_dummy_local);
+               mono_mb_emit_icall (mb, mono_threads_attach_coop);
+               mono_mb_emit_stloc (mb, attach_cookie_local);
+       }
 
        /* <interrupt check> */
        emit_thread_interrupt_checkpoint (mb);
@@ -8206,13 +8242,15 @@ mono_marshal_emit_managed_wrapper (MonoMethodBuilder *mb, MonoMethodSignature *i
        clause_finally->try_len = mono_mb_get_label (mb) - clause_finally->try_offset;
        clause_finally->handler_offset = mono_mb_get_label (mb);
 
-       /*
-        * Also does the RUNNING -> (BLOCKING|RUNNING) thread state transition
-        *
-        * mono_jit_detach ();
-        */
-       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
-       mono_mb_emit_byte (mb, CEE_MONO_JIT_DETACH);
+       if (!mono_threads_is_coop_enabled ()) {
+               mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
+               mono_mb_emit_byte (mb, CEE_MONO_JIT_DETACH);
+       } else {
+               /* mono_threads_detach_coop (); */
+               mono_mb_emit_ldloc (mb, attach_cookie_local);
+               mono_mb_emit_ldloc_addr (mb, attach_dummy_local);
+               mono_mb_emit_icall (mb, mono_threads_detach_coop);
+       }
 
        /* if (ex != -1) */
        mono_mb_emit_ldloc (mb, ex_local);
@@ -8671,12 +8709,14 @@ mono_marshal_get_castclass_with_cache (void)
        return cached;
 }
 
+/* this is an icall */
 static MonoObject *
 mono_marshal_isinst_with_cache (MonoObject *obj, MonoClass *klass, uintptr_t *cache)
 {
        MonoError error;
        MonoObject *isinst = mono_object_isinst_checked (obj, klass, &error);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
 
 #ifndef DISABLE_REMOTING
        if (obj->vtable->klass == mono_defaults.transparent_proxy_class)
@@ -10754,6 +10794,7 @@ ves_icall_System_Runtime_InteropServices_Marshal_PtrToStructure_type (gpointer s
 int
 ves_icall_System_Runtime_InteropServices_Marshal_OffsetOf (MonoReflectionType *type, MonoString *field_name)
 {
+       MonoError error;
        MonoMarshalType *info;
        MonoClass *klass;
        char *fname;
@@ -10762,7 +10803,9 @@ ves_icall_System_Runtime_InteropServices_Marshal_OffsetOf (MonoReflectionType *t
        MONO_CHECK_ARG_NULL (type, 0);
        MONO_CHECK_ARG_NULL (field_name, 0);
 
-       fname = mono_string_to_utf8 (field_name);
+       fname = mono_string_to_utf8_checked (field_name, &error);
+       if (mono_error_set_pending_exception (&error))
+               return 0;
        klass = mono_class_from_mono_type (type->type);
        if (!mono_class_init (klass)) {
                mono_set_pending_exception (mono_class_get_exception_for_failure (klass));
@@ -10811,10 +10854,13 @@ ves_icall_System_Runtime_InteropServices_Marshal_OffsetOf (MonoReflectionType *t
 gpointer
 ves_icall_System_Runtime_InteropServices_Marshal_StringToHGlobalAnsi (MonoString *string)
 {
+       MonoError error;
 #ifdef HOST_WIN32
        char* tres, *ret;
        size_t len;
-       tres = mono_string_to_utf8 (string);
+       tres = mono_string_to_utf8_checked (string, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
        if (!tres)
                return tres;
 
@@ -10825,7 +10871,9 @@ ves_icall_System_Runtime_InteropServices_Marshal_StringToHGlobalAnsi (MonoString
        return ret;
 
 #else
-       return mono_string_to_utf8 (string);
+       char *ret = mono_string_to_utf8_checked (string, &error);
+       mono_error_set_pending_exception (&error);
+       return ret;
 #endif
 }
 
index e3efe674fb90dcc4abf21fc316673c030b8ee7d7..d3c0a2b051762f2ec82b4f7b8095a053f78c9e9b 100644 (file)
@@ -593,7 +593,10 @@ void
 mono_marshal_use_aot_wrappers (gboolean use);
 
 MonoObject *
-mono_marshal_xdomain_copy_value (MonoObject *val);
+mono_marshal_xdomain_copy_value (MonoObject *val, MonoError *error);
+
+MonoObject *
+ves_icall_mono_marshal_xdomain_copy_value (MonoObject *val);
 
 int
 mono_mb_emit_save_args (MonoMethodBuilder *mb, MonoMethodSignature *sig, gboolean save_this);
index 6b8fdcb44ca396a788f220bac28c4795f2bd4752..ba5f9d72e1aa81d635a3e6e5d1d1979da9985620 100644 (file)
@@ -735,6 +735,10 @@ mono_metadata_parse_mh_full                 (MonoImage             *image,
                                             const char            *ptr,
                                                 MonoError *error);
 
+MonoMethodSignature  *mono_metadata_parse_signature_checked (MonoImage *image, 
+                                                            uint32_t    token,
+                                                            MonoError *error);
+
 gboolean
 mono_method_get_header_summary (MonoMethod *method, MonoMethodHeaderSummary *summary);
 
index d278a7487ee68a8d59dce5902675362b2200dd39..ab0911bc677f89e1459c8f7476aff317c5e4eccf 100644 (file)
@@ -1822,7 +1822,7 @@ mono_metadata_get_param_attrs (MonoImage *m, int def, int param_count)
 /*
  * mono_metadata_parse_signature:
  * @image: metadata context
- * @toke: metadata token
+ * @token: metadata token
  *
  * Decode a method signature stored in the STANDALONESIG table
  *
@@ -1833,15 +1833,34 @@ mono_metadata_parse_signature (MonoImage *image, guint32 token)
 {
        MonoError error;
        MonoMethodSignature *ret;
+       ret = mono_metadata_parse_signature_checked (image, token, &error);
+       mono_error_cleanup (&error);
+       return ret;
+}
+
+/*
+ * mono_metadata_parse_signature_checked:
+ * @image: metadata context
+ * @token: metadata token
+ * @error: set on error
+ *
+ * Decode a method signature stored in the STANDALONESIG table
+ *
+ * Returns: a MonoMethodSignature describing the signature. On failure
+ * returns NULL and sets @error.
+ */
+MonoMethodSignature*
+mono_metadata_parse_signature_checked (MonoImage *image, guint32 token, MonoError *error)
+{
+
+       mono_error_init (error);
        MonoTableInfo *tables = image->tables;
        guint32 idx = mono_metadata_token_index (token);
        guint32 sig;
        const char *ptr;
 
        if (image_is_dynamic (image)) {
-               ret = (MonoMethodSignature *)mono_lookup_dynamic_token (image, token, NULL, &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
-               return ret;
+               return (MonoMethodSignature *)mono_lookup_dynamic_token (image, token, NULL, error);
        }
 
        g_assert (mono_metadata_token_table(token) == MONO_TABLE_STANDALONESIG);
@@ -1851,9 +1870,7 @@ mono_metadata_parse_signature (MonoImage *image, guint32 token)
        ptr = mono_metadata_blob_heap (image, sig);
        mono_metadata_decode_blob_size (ptr, &ptr);
 
-       ret = mono_metadata_parse_method_signature_full (image, NULL, 0, ptr, NULL, &error);
-       mono_error_cleanup (&error); /*FIXME don't swallow the error message*/
-       return ret;
+       return mono_metadata_parse_method_signature_full (image, NULL, 0, ptr, NULL, error);
 }
 
 /*
index 35afec7e3eac6f0a4eea92c57f7aededa9b4c917..542f9e108e4c9d4eea8ff0a5fa5ccb556a48a2ca 100644 (file)
@@ -422,6 +422,7 @@ MONO_API MonoMethodSignature  *mono_metadata_signature_alloc (MonoImage *image,
 
 MONO_API MonoMethodSignature  *mono_metadata_signature_dup (MonoMethodSignature *sig);
 
+MONO_RT_EXTERNAL_ONLY
 MONO_API MonoMethodSignature  *mono_metadata_parse_signature (MonoImage *image, 
                                                     uint32_t    token);
 
index 6cf9691777ea783631f39c7cac24c239cd180a7f..b9a305121641975286467b84392ceba8856a4111 100644 (file)
@@ -1250,7 +1250,8 @@ ves_icall_System_Threading_Monitor_Monitor_wait (MonoObject *obj, guint32 ms)
        mon = lock_word_get_inflated_lock (lw);
 
        /* Do this WaitSleepJoin check before creating the event handle */
-       mono_thread_current_check_pending_interrupt ();
+       if (mono_thread_current_check_pending_interrupt ())
+               return FALSE;
        
        event = CreateEvent (NULL, FALSE, FALSE, NULL);
        if (event == NULL) {
@@ -1260,7 +1261,11 @@ ves_icall_System_Threading_Monitor_Monitor_wait (MonoObject *obj, guint32 ms)
        
        LOCK_DEBUG (g_message ("%s: (%d) queuing handle %p", __func__, mono_thread_info_get_small_id (), event));
 
-       mono_thread_current_check_pending_interrupt ();
+       /* This looks superfluous */
+       if (mono_thread_current_check_pending_interrupt ()) {
+               CloseHandle (event);
+               return FALSE;
+       }
        
        mono_thread_set_state (thread, ThreadState_WaitSleepJoin);
 
index aaff73db581ffa249deeab394dfb93737e5b34e8..075c62f129bbd06f19442241c2ee0777aca36c8b 100644 (file)
@@ -32,6 +32,7 @@
 #include "mono-hash.h"
 #include "metadata/gc-internals.h"
 #include <mono/utils/checked-build.h>
+#include <mono/utils/mono-threads-coop.h>
 
 #ifdef HAVE_BOEHM_GC
 #define mg_new0(type,n)  ((type *) GC_MALLOC(sizeof(type) * (n)))
index fb205e80eaff2781966cdb448262ac85e9bac19f..dbd443d7328d4a77a92ecfb7fa22120516686886 100644 (file)
@@ -802,16 +802,14 @@ fill_sample (MonoCounterSample *sample)
 }
 
 static int
-id_from_string (MonoString *instance, gboolean is_process)
+id_from_string (const gchar *id_str, gboolean is_process)
 {
        int id = -1;
-       if (mono_string_length (instance)) {
-               char *id_str = mono_string_to_utf8 (instance);
+       if (strcmp("", id_str) != 0) {
                char *end;
                id = strtol (id_str, &end, 0);
                if (end == id_str && !is_process)
                        id = -1;
-               g_free (id_str);
        }
        return id;
 }
@@ -849,7 +847,7 @@ get_cpu_counter (ImplVtable *vtable, MonoBoolean only_value, MonoCounterSample *
 }
 
 static void*
-cpu_get_impl (MonoString* counter, MonoString* instance, int *type, MonoBoolean *custom)
+cpu_get_impl (MonoString* counter, const gchar* instance, int *type, MonoBoolean *custom)
 {
        int id = id_from_string (instance, FALSE) << 5;
        const CounterDesc *cdesc;
@@ -910,7 +908,7 @@ network_cleanup (ImplVtable *vtable)
 }
 
 static void*
-network_get_impl (MonoString* counter, MonoString* instance, int *type, MonoBoolean *custom)
+network_get_impl (MonoString* counter, const gchar* instance, int *type, MonoBoolean *custom)
 {
        const CounterDesc *cdesc;
        NetworkVtableArg *narg;
@@ -919,7 +917,7 @@ network_get_impl (MonoString* counter, MonoString* instance, int *type, MonoBool
 
        *custom = FALSE;
        if ((cdesc = get_counter_in_category (&predef_categories [CATEGORY_NETWORK], counter))) {
-               instance_name = mono_string_to_utf8 (instance);
+               instance_name = g_strdup (instance);
                narg = g_new0 (NetworkVtableArg, 1);
                narg->id = cdesc->id;
                narg->name = instance_name;
@@ -971,7 +969,7 @@ get_process_counter (ImplVtable *vtable, MonoBoolean only_value, MonoCounterSamp
 }
 
 static void*
-process_get_impl (MonoString* counter, MonoString* instance, int *type, MonoBoolean *custom)
+process_get_impl (MonoString* counter, const gchar* instance, int *type, MonoBoolean *custom)
 {
        int id = id_from_string (instance, TRUE) << 5;
        const CounterDesc *cdesc;
@@ -1009,7 +1007,7 @@ mono_mem_counter (ImplVtable *vtable, MonoBoolean only_value, MonoCounterSample
 }
 
 static void*
-mono_mem_get_impl (MonoString* counter, MonoString* instance, int *type, MonoBoolean *custom)
+mono_mem_get_impl (MonoString* counter, const gchar* instance, int *type, MonoBoolean *custom)
 {
        const CounterDesc *cdesc;
        *custom = FALSE;
@@ -1041,15 +1039,13 @@ predef_readonly_counter (ImplVtable *vtable, MonoBoolean only_value, MonoCounter
 }
 
 static ImplVtable*
-predef_vtable (void *arg, MonoString *instance)
+predef_vtable (void *arg, const gchar *pids)
 {
        MonoSharedArea *area;
        PredefVtable *vtable;
-       char *pids = mono_string_to_utf8 (instance);
        int pid;
 
        pid = atoi (pids);
-       g_free (pids);
        area = load_sarea_for_pid (pid);
        if (!area)
                return NULL;
@@ -1194,13 +1190,13 @@ predef_writable_update (ImplVtable *vtable, MonoBoolean do_incr, gint64 value)
 }
 
 static void*
-predef_writable_get_impl (int cat, MonoString* counter, MonoString* instance, int *type, MonoBoolean *custom)
+predef_writable_get_impl (int cat, MonoString* counter, const gchar *instance, int *type, MonoBoolean *custom)
 {
        const CounterDesc *cdesc;
        *custom = TRUE;
        if ((cdesc = get_counter_in_category (&predef_categories [cat], counter))) {
                *type = cdesc->type;
-               if (instance == NULL || mono_string_compare_ascii (instance, "") == 0)
+               if (instance == NULL || strcmp (instance, "") == 0)
                        return create_vtable (GINT_TO_POINTER ((cdesc->id << 16) | cat), predef_writable_counter, predef_writable_update);
                else
                        return predef_vtable (GINT_TO_POINTER ((cdesc->id << 16) | cat), instance);
@@ -1298,17 +1294,19 @@ custom_get_value_address (SharedCounter *scounter, SharedInstance* sinst)
 }
 
 static void*
-custom_get_impl (SharedCategory *cat, MonoString* counter, MonoString* instance, int *type)
+custom_get_impl (SharedCategory *cat, MonoString *counter, MonoString* instance, int *type, MonoError *error)
 {
        SharedCounter *scounter;
        SharedInstance* inst;
        char *name;
 
+       mono_error_init (error);
        scounter = find_custom_counter (cat, counter);
        if (!scounter)
                return NULL;
+       name = mono_string_to_utf8_checked (counter, error);
+       return_val_if_nok (error, NULL);
        *type = simple_type_to_type [scounter->type];
-       name = mono_string_to_utf8 (counter);
        inst = custom_get_instance (cat, scounter, name);
        g_free (name);
        if (!inst)
@@ -1331,7 +1329,9 @@ void*
 mono_perfcounter_get_impl (MonoString* category, MonoString* counter, MonoString* instance,
                MonoString* machine, int *type, MonoBoolean *custom)
 {
+       MonoError error;
        const CategoryDesc *cdesc;
+       void *result = NULL;
        /* no support for counters on other machines */
        if (mono_string_compare_ascii (machine, "."))
                return NULL;
@@ -1341,17 +1341,27 @@ mono_perfcounter_get_impl (MonoString* category, MonoString* counter, MonoString
                if (!scat)
                        return NULL;
                *custom = TRUE;
-               return custom_get_impl (scat, counter, instance, type);
+               result = custom_get_impl (scat, counter, instance, type, &error);
+               if (mono_error_set_pending_exception (&error))
+                       return NULL;
+               return result;
        }
+       gchar *c_instance = mono_string_to_utf8_checked (instance, &error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
        switch (cdesc->id) {
        case CATEGORY_CPU:
-               return cpu_get_impl (counter, instance, type, custom);
+               result = cpu_get_impl (counter, c_instance, type, custom);
+               break;
        case CATEGORY_PROC:
-               return process_get_impl (counter, instance, type, custom);
+               result = process_get_impl (counter, c_instance, type, custom);
+               break;
        case CATEGORY_MONO_MEM:
-               return mono_mem_get_impl (counter, instance, type, custom);
+               result = mono_mem_get_impl (counter, c_instance, type, custom);
+               break;
        case CATEGORY_NETWORK:
-               return network_get_impl (counter, instance, type, custom);
+               result = network_get_impl (counter, c_instance, type, custom);
+               break;
        case CATEGORY_JIT:
        case CATEGORY_EXC:
        case CATEGORY_GC:
@@ -1362,9 +1372,11 @@ mono_perfcounter_get_impl (MonoString* category, MonoString* counter, MonoString
        case CATEGORY_SECURITY:
        case CATEGORY_ASPNET:
        case CATEGORY_THREADPOOL:
-               return predef_writable_get_impl (cdesc->id, counter, instance, type, custom);
+               result = predef_writable_get_impl (cdesc->id, counter, c_instance, type, custom);
+               break;
        }
-       return NULL;
+       g_free (c_instance);
+       return result;
 }
 
 MonoBoolean
@@ -1490,7 +1502,6 @@ mono_perfcounter_create (MonoString *category, MonoString *help, int type, MonoA
        SharedCategory *cat;
 
        /* FIXME: ensure there isn't a category created already */
-       mono_error_init (&error);
        name = mono_string_to_utf8_checked (category, &error);
        if (!mono_error_ok (&error))
                goto failure;
@@ -1563,6 +1574,7 @@ failure:
 int
 mono_perfcounter_instance_exists (MonoString *instance, MonoString *category, MonoString *machine)
 {
+       MonoError error;
        const CategoryDesc *cdesc;
        SharedInstance *sinst;
        char *name;
@@ -1576,7 +1588,9 @@ mono_perfcounter_instance_exists (MonoString *instance, MonoString *category, Mo
                scat = find_custom_category (category);
                if (!scat)
                        return FALSE;
-               name = mono_string_to_utf8 (instance);
+               name = mono_string_to_utf8_checked (instance, &error);
+               if (mono_error_set_pending_exception (&error))
+                       return FALSE;
                sinst = find_custom_instance (scat, name);
                g_free (name);
                if (sinst)
index 4b5ca588056df60fcb60404b58fee9d8bd18fd79..d651b0e5b08387b9b4829e0ce74b612e1fc3cc54 100644 (file)
@@ -21,6 +21,7 @@
 
 extern MonoBoolean ves_icall_System_Net_NetworkInformation_MacOsIPInterfaceProperties_ParseRouteInfo_internal(MonoString *iface, MonoArray **gw_addr_list)
 {
+       MonoError error;
        size_t needed;
        in_addr_t in;
        int mib[6];
@@ -31,7 +32,10 @@ extern MonoBoolean ves_icall_System_Net_NetworkInformation_MacOsIPInterfacePrope
 
        MonoDomain *domain = mono_domain_get ();
 
-       ifacename = mono_string_to_utf8(iface);
+       ifacename = mono_string_to_utf8_checked(iface, &error);
+       if (mono_error_set_pending_exception (&error))
+               return FALSE;
+
        if ((ifindex = if_nametoindex(ifacename)) == 0)
                return FALSE;
        g_free(ifacename);
index 7f904f3dec7b08970d31c3b3f6161c8489aed3b7..f987e6c34837248b7368e0e19dda783615a0a3bd 100644 (file)
@@ -321,7 +321,7 @@ mono_gc_get_managed_array_allocator (MonoClass *klass)
 }
 
 MonoMethod*
-mono_gc_get_managed_allocator_by_type (int atype, gboolean slowpath)
+mono_gc_get_managed_allocator_by_type (int atype, ManagedAllocatorVariant variant)
 {
        return NULL;
 }
index 2587d877e642b6d6bb6a204bc8fe65f4104c7492..e7cc7db89cd6efb69dd4d1daa72bd660115a78a2 100644 (file)
@@ -263,6 +263,7 @@ struct _MonoReflectionType {
        MonoType  *type;
 };
 
+/* This corresponds to System.RuntimeType */
 typedef struct {
        MonoReflectionType type;
        MonoObject *type_info;
@@ -594,7 +595,7 @@ MONO_COLD void mono_set_pending_exception (MonoException *exc);
 
 MonoAsyncResult *
 mono_async_result_new      (MonoDomain *domain, HANDLE handle, 
-                            MonoObject *state, gpointer data, MonoObject *object_data);
+                            MonoObject *state, gpointer data, MonoObject *object_data, MonoError *error);
 
 MonoObject *
 ves_icall_System_Runtime_Remoting_Messaging_AsyncResult_Invoke (MonoAsyncResult *ares);
@@ -605,26 +606,26 @@ mono_wait_handle_new          (MonoDomain *domain, HANDLE handle, MonoError *error);
 HANDLE
 mono_wait_handle_get_handle (MonoWaitHandle *handle);
 
-void
+gboolean
 mono_message_init          (MonoDomain *domain, MonoMethodMessage *this_obj, 
-                            MonoReflectionMethod *method, MonoArray *out_args);
+                            MonoReflectionMethod *method, MonoArray *out_args, MonoError *error);
 
 MonoObject *
 mono_message_invoke        (MonoObject *target, MonoMethodMessage *msg, 
-                            MonoObject **exc, MonoArray **out_args);
+                            MonoObject **exc, MonoArray **out_args, MonoError *error);
 
 MonoMethodMessage *
 mono_method_call_message_new (MonoMethod *method, gpointer *params, MonoMethod *invoke, 
-                             MonoDelegate **cb, MonoObject **state);
+                             MonoDelegate **cb, MonoObject **state, MonoError *error);
 
 void
 mono_method_return_message_restore (MonoMethod *method, gpointer *params, MonoArray *out_args, MonoError *error);
 
-void
-mono_delegate_ctor_with_method (MonoObject *this_obj, MonoObject *target, gpointer addr, MonoMethod *method);
+gboolean
+mono_delegate_ctor_with_method (MonoObject *this_obj, MonoObject *target, gpointer addr, MonoMethod *method, MonoError *error);
 
-void
-mono_delegate_ctor         (MonoObject *this_obj, MonoObject *target, gpointer addr);
+gboolean
+mono_delegate_ctor         (MonoObject *this_obj, MonoObject *target, gpointer addr, MonoError *error);
 
 void*
 mono_class_get_allocation_ftn (MonoVTable *vtable, gboolean for_box, gboolean *pass_size_in_words);
@@ -1447,10 +1448,10 @@ MonoObject *
 mono_remoting_invoke (MonoObject *real_proxy, MonoMethodMessage *msg, MonoObject **exc, MonoArray **out_args, MonoError *error);
 
 gpointer
-mono_remote_class_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, MonoRealProxy *real_proxy);
+mono_remote_class_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, MonoRealProxy *real_proxy, MonoError *error);
 
-void
-mono_upgrade_remote_class (MonoDomain *domain, MonoObject *tproxy, MonoClass *klass);
+gboolean
+mono_upgrade_remote_class (MonoDomain *domain, MonoObject *tproxy, MonoClass *klass, MonoError *error);
 
 void*
 mono_load_remote_field_checked (MonoObject *this_obj, MonoClass *klass, MonoClassField *field, void **res, MonoError *error);
@@ -1622,6 +1623,12 @@ mono_property_set_value_checked (MonoProperty *prop, void *obj, void **params, M
 MonoObject*
 mono_property_get_value_checked (MonoProperty *prop, void *obj, void **params, MonoError *error);
 
+MonoString*
+mono_object_to_string_checked (MonoObject *obj, MonoError *error);
+
+MonoString*
+mono_object_try_to_string (MonoObject *obj, MonoObject **exc, MonoError *error);
+
 char *
 mono_string_to_utf8_ignore (MonoString *s);
 
@@ -1682,6 +1689,9 @@ mono_object_isinst_mbyref_checked   (MonoObject *obj, MonoClass *klass, MonoErro
 MonoString *
 mono_string_new_size_checked (MonoDomain *domain, gint32 len, MonoError *error);
 
+MonoString*
+mono_ldstr_checked (MonoDomain *domain, MonoImage *image, uint32_t str_index, MonoError *error);
+
 MonoString*
 mono_string_new_len_checked (MonoDomain *domain, const char *text, guint length, MonoError *error);
 
@@ -1706,9 +1716,25 @@ mono_runtime_try_invoke (MonoMethod *method, void *obj, void **params, MonoObjec
 MonoObject*
 mono_runtime_invoke_checked (MonoMethod *method, void *obj, void **params, MonoError *error);
 
+MonoObject*
+mono_runtime_try_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
+                              MonoObject **exc, MonoError *error);
+
+MonoObject*
+mono_runtime_invoke_array_checked (MonoMethod *method, void *obj, MonoArray *params,
+                                  MonoError *error);
+
 void* 
 mono_compile_method_checked (MonoMethod *method, MonoError *error);
 
+MonoObject*
+mono_runtime_delegate_try_invoke (MonoObject *delegate, void **params,
+                                 MonoObject **exc, MonoError *error);
+
+MonoObject*
+mono_runtime_delegate_invoke_checked (MonoObject *delegate, void **params,
+                                     MonoError *error);
+
 MonoArray*
 mono_runtime_get_main_args_checked (MonoError *error);
 
index c032bc0ff585868f3c67cfb9e3512dea1728b2ad..34d9ffc1df1dcc9f41f066323529c6666403981b 100644 (file)
@@ -129,10 +129,13 @@ DECL_OFFSET(MonoTypedRef, value)
 DECL_OFFSET(MonoThreadsSync, status)
 DECL_OFFSET(MonoThreadsSync, nest)
 
-#if defined (HAVE_SGEN_GC) && !defined (HAVE_KW_THREAD)
+#ifdef HAVE_SGEN_GC
+DECL_OFFSET(SgenClientThreadInfo, in_critical_region)
+#ifndef HAVE_KW_THREAD
 DECL_OFFSET(SgenThreadInfo, tlab_next_addr)
 DECL_OFFSET(SgenThreadInfo, tlab_temp_end)
 #endif
+#endif
 
 #endif //DISABLE METADATA OFFSETS
 
index 9cd1ae22152b903057256a1132ea38110b254b65..5da5f6bbf33833dae7f001d288074a710f02b6ae 100644 (file)
@@ -47,6 +47,7 @@
 #include <mono/utils/mono-memory-model.h>
 #include <mono/utils/checked-build.h>
 #include <mono/utils/mono-threads.h>
+#include <mono/utils/mono-threads-coop.h>
 #include "cominterop.h"
 
 static void
@@ -457,6 +458,7 @@ mono_runtime_class_init_full (MonoVTable *vtable, MonoError *error)
                        MonoException *exc_to_store = mono_error_convert_to_exception (error);
                        /* What we really want to do here is clone the error object and store one copy in the
                         * domain's exception hash and use the other one to error out here. */
+                       mono_error_init (error);
                        mono_error_set_exception_instance (error, exc_to_store);
                        /*
                         * Store the exception object so it could be thrown on subsequent
@@ -541,7 +543,7 @@ mono_release_type_locks (MonoInternalThread *thread)
 #ifndef DISABLE_REMOTING
 
 static gpointer
-default_remoting_trampoline (MonoDomain *domain, MonoMethod *method, MonoRemotingTarget target)
+default_remoting_trampoline (MonoDomain *domain, MonoMethod *method, MonoRemotingTarget target, MonoError *error)
 {
        g_error ("remoting not installed");
        return NULL;
@@ -2215,7 +2217,7 @@ mono_class_create_runtime_vtable (MonoDomain *domain, MonoClass *klass, MonoErro
         * re-acquire them and check if another thread has created the vtable in the meantime.
         */
        /* Special case System.MonoType to avoid infinite recursion */
-       if (klass != mono_defaults.monotype_class) {
+       if (klass != mono_defaults.runtimetype_class) {
                vt->type = mono_type_get_object_checked (domain, &klass->byval_arg, error);
                if (!is_ok (error)) {
                        mono_domain_unlock (domain);
@@ -2223,7 +2225,7 @@ mono_class_create_runtime_vtable (MonoDomain *domain, MonoClass *klass, MonoErro
                        return NULL;
                }
 
-               if (mono_object_get_class ((MonoObject *)vt->type) != mono_defaults.monotype_class)
+               if (mono_object_get_class ((MonoObject *)vt->type) != mono_defaults.runtimetype_class)
                        /* This is unregistered in
                           unregister_vtable_reflection_type() in
                           domain.c. */
@@ -2274,7 +2276,7 @@ mono_class_create_runtime_vtable (MonoDomain *domain, MonoClass *klass, MonoErro
                klass->runtime_info = runtime_info;
        }
 
-       if (klass == mono_defaults.monotype_class) {
+       if (klass == mono_defaults.runtimetype_class) {
                vt->type = mono_type_get_object_checked (domain, &klass->byval_arg, error);
                if (!is_ok (error)) {
                        mono_domain_unlock (domain);
@@ -2282,7 +2284,7 @@ mono_class_create_runtime_vtable (MonoDomain *domain, MonoClass *klass, MonoErro
                        return NULL;
                }
 
-               if (mono_object_get_class ((MonoObject *)vt->type) != mono_defaults.monotype_class)
+               if (mono_object_get_class ((MonoObject *)vt->type) != mono_defaults.runtimetype_class)
                        /* This is unregistered in
                           unregister_vtable_reflection_type() in
                           domain.c. */
@@ -2305,25 +2307,27 @@ mono_class_create_runtime_vtable (MonoDomain *domain, MonoClass *klass, MonoErro
  * mono_class_proxy_vtable:
  * @domain: the application domain
  * @remove_class: the remote class
+ * @error: set on error
  *
  * Creates a vtable for transparent proxies. It is basically
  * a copy of the real vtable of the class wrapped in @remote_class,
  * but all function pointers invoke the remoting functions, and
  * vtable->klass points to the transparent proxy class, and not to @class.
+ *
+ * On failure returns NULL and sets @error
  */
 static MonoVTable *
-mono_class_proxy_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, MonoRemotingTarget target_type)
+mono_class_proxy_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, MonoRemotingTarget target_type, MonoError *error)
 {
        MONO_REQ_GC_UNSAFE_MODE;
 
-       MonoError error;
        MonoVTable *vt, *pvt;
        int i, j, vtsize, max_interface_id, extra_interface_vtsize = 0;
        MonoClass *k;
        GSList *extra_interfaces = NULL;
        MonoClass *klass = remote_class->proxy_class;
        gpointer *interface_offsets;
-       uint8_t *bitmap;
+       uint8_t *bitmap = NULL;
        int bsize;
        size_t imt_table_bytes;
        
@@ -2331,6 +2335,8 @@ mono_class_proxy_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, Mono
        int bcsize;
 #endif
 
+       mono_error_init (error);
+
        vt = mono_class_vtable (domain, klass);
        g_assert (vt); /*FIXME property handle failure*/
        max_interface_id = vt->max_interface_id;
@@ -2351,8 +2357,9 @@ mono_class_proxy_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, Mono
                
                method_count = mono_class_num_methods (iclass);
        
-               ifaces = mono_class_get_implemented_interfaces (iclass, &error);
-               g_assert (mono_error_ok (&error)); /*FIXME do proper error handling*/
+               ifaces = mono_class_get_implemented_interfaces (iclass, error);
+               if (!is_ok (error))
+                       goto failure;
                if (ifaces) {
                        for (i = 0; i < ifaces->len; ++i) {
                                MonoClass *ic = (MonoClass *)g_ptr_array_index (ifaces, i);
@@ -2365,6 +2372,7 @@ mono_class_proxy_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, Mono
                                method_count += mono_class_num_methods (ic);
                        }
                        g_ptr_array_free (ifaces, TRUE);
+                       ifaces = NULL;
                }
 
                extra_interface_vtsize += method_count * sizeof (gpointer);
@@ -2394,9 +2402,11 @@ mono_class_proxy_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, Mono
        for (i = 0; i < klass->vtable_size; ++i) {
                MonoMethod *cm;
                    
-               if ((cm = klass->vtable [i]))
-                       pvt->vtable [i] = arch_create_remoting_trampoline (domain, cm, target_type);
-               else
+               if ((cm = klass->vtable [i])) {
+                       pvt->vtable [i] = arch_create_remoting_trampoline (domain, cm, target_type, error);
+                       if (!is_ok (error))
+                               goto failure;
+               } else
                        pvt->vtable [i] = NULL;
        }
 
@@ -2406,8 +2416,11 @@ mono_class_proxy_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, Mono
                        MonoMethod* m;
                        gpointer iter = NULL;
                        while ((m = mono_class_get_methods (k, &iter)))
-                               if (!pvt->vtable [m->slot])
-                                       pvt->vtable [m->slot] = arch_create_remoting_trampoline (domain, m, target_type);
+                               if (!pvt->vtable [m->slot]) {
+                                       pvt->vtable [m->slot] = arch_create_remoting_trampoline (domain, m, target_type, error);
+                                       if (!is_ok (error))
+                                               goto failure;
+                               }
                }
        }
 
@@ -2439,8 +2452,11 @@ mono_class_proxy_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, Mono
 
                        iter = NULL;
                        j = 0;
-                       while ((cm = mono_class_get_methods (interf, &iter)))
-                               pvt->vtable [slot + j++] = arch_create_remoting_trampoline (domain, cm, target_type);
+                       while ((cm = mono_class_get_methods (interf, &iter))) {
+                               pvt->vtable [slot + j++] = arch_create_remoting_trampoline (domain, cm, target_type, error);
+                               if (!is_ok (error))
+                                       goto failure;
+                       }
                        
                        slot += mono_class_num_methods (interf);
                }
@@ -2461,6 +2477,13 @@ mono_class_proxy_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, Mono
        pvt->interface_bitmap = bitmap;
 #endif
        return pvt;
+failure:
+       if (extra_interfaces)
+               g_slist_free (extra_interfaces);
+#ifdef COMPRESSED_INTERFACE_BITMAP
+       g_free (bitmap);
+#endif
+       return NULL;
 }
 
 #endif /* DISABLE_REMOTING */
@@ -2726,17 +2749,20 @@ clone_remote_class (MonoDomain *domain, MonoRemoteClass* remote_class, MonoClass
 }
 
 gpointer
-mono_remote_class_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, MonoRealProxy *rp)
+mono_remote_class_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, MonoRealProxy *rp, MonoError *error)
 {
        MONO_REQ_GC_UNSAFE_MODE;
 
+       mono_error_init (error);
+
        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) {
                if (remote_class->xdomain_vtable == NULL)
-                       remote_class->xdomain_vtable = mono_class_proxy_vtable (domain, remote_class, MONO_REMOTING_TARGET_APPDOMAIN);
+                       remote_class->xdomain_vtable = mono_class_proxy_vtable (domain, remote_class, MONO_REMOTING_TARGET_APPDOMAIN, error);
                mono_domain_unlock (domain);
                mono_loader_unlock ();
+               return_val_if_nok (error, NULL);
                return remote_class->xdomain_vtable;
        }
        if (remote_class->default_vtable == NULL) {
@@ -2746,10 +2772,16 @@ mono_remote_class_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, Mon
                klass = mono_class_from_mono_type (type);
 #ifndef DISABLE_COM
                if ((mono_class_is_com_object (klass) || (mono_class_get_com_object_class () && klass == mono_class_get_com_object_class ())) && !mono_vtable_is_remote (mono_class_vtable (mono_domain_get (), klass)))
-                       remote_class->default_vtable = mono_class_proxy_vtable (domain, remote_class, MONO_REMOTING_TARGET_COMINTEROP);
+                       remote_class->default_vtable = mono_class_proxy_vtable (domain, remote_class, MONO_REMOTING_TARGET_COMINTEROP, error);
                else
 #endif
-                       remote_class->default_vtable = mono_class_proxy_vtable (domain, remote_class, MONO_REMOTING_TARGET_UNKNOWN);
+                       remote_class->default_vtable = mono_class_proxy_vtable (domain, remote_class, MONO_REMOTING_TARGET_UNKNOWN, error);
+               /* N.B. both branches of the if modify error */
+               if (!is_ok (error)) {
+                       mono_domain_unlock (domain);
+                       mono_loader_unlock ();
+                       return NULL;
+               }
        }
        
        mono_domain_unlock (domain);
@@ -2762,13 +2794,14 @@ mono_remote_class_vtable (MonoDomain *domain, MonoRemoteClass *remote_class, Mon
  * @domain: the application domain
  * @tproxy: the proxy whose remote class has to be upgraded.
  * @klass: class to which the remote class can be casted.
+ * @error: set on error
  *
  * Updates the vtable of the remote class by adding the necessary method slots
  * and interface offsets so it can be safely casted to klass. klass can be a
- * class or an interface.
+ * class or an interface.  On success returns TRUE, on failure returns FALSE and sets @error.
  */
-void
-mono_upgrade_remote_class (MonoDomain *domain, MonoObject *proxy_object, MonoClass *klass)
+gboolean
+mono_upgrade_remote_class (MonoDomain *domain, MonoObject *proxy_object, MonoClass *klass, MonoError *error)
 {
        MONO_REQ_GC_UNSAFE_MODE;
 
@@ -2776,6 +2809,7 @@ mono_upgrade_remote_class (MonoDomain *domain, MonoObject *proxy_object, MonoCla
        MonoRemoteClass *remote_class;
        gboolean redo_vtable;
 
+       mono_error_init (error);
        mono_loader_lock (); /*FIXME mono_remote_class_vtable requires it.*/
        mono_domain_lock (domain);
 
@@ -2795,11 +2829,15 @@ mono_upgrade_remote_class (MonoDomain *domain, MonoObject *proxy_object, MonoCla
 
        if (redo_vtable) {
                tproxy->remote_class = clone_remote_class (domain, remote_class, klass);
-               proxy_object->vtable = (MonoVTable *)mono_remote_class_vtable (domain, tproxy->remote_class, tproxy->rp);
+               proxy_object->vtable = (MonoVTable *)mono_remote_class_vtable (domain, tproxy->remote_class, tproxy->rp, error);
+               if (!is_ok (error))
+                       goto leave;
        }
        
+leave:
        mono_domain_unlock (domain);
        mono_loader_unlock ();
+       return is_ok (error);
 }
 #endif /* DISABLE_REMOTING */
 
@@ -2908,12 +2946,8 @@ do_runtime_invoke (MonoMethod *method, void *obj, void **params, MonoObject **ex
        if (mono_profiler_get_events () & MONO_PROFILE_METHOD_EVENTS)
                mono_profiler_method_start_invoke (method);
 
-       MONO_ENTER_GC_UNSAFE;
-
        result = callbacks.runtime_invoke (method, obj, params, exc, error);
 
-       MONO_EXIT_GC_UNSAFE;
-
        if (mono_profiler_get_events () & MONO_PROFILE_METHOD_EVENTS)
                mono_profiler_method_end_invoke (method);
 
@@ -2970,7 +3004,7 @@ mono_runtime_invoke (MonoMethod *method, void *obj, void **params, MonoObject **
                        mono_error_cleanup (&error);
        } else {
                res = mono_runtime_invoke_checked (method, obj, params, &error);
-               mono_error_raise_exception (&error);
+               mono_error_raise_exception (&error); /* OK to throw, external only without a good alternative */
        }
        return res;
 }
@@ -3966,6 +4000,44 @@ mono_runtime_delegate_invoke (MonoObject *delegate, void **params, MonoObject **
        MONO_REQ_GC_UNSAFE_MODE;
 
        MonoError error;
+       if (exc) {
+               MonoObject *result = mono_runtime_delegate_try_invoke (delegate, params, exc, &error);
+               if (*exc) {
+                       mono_error_cleanup (&error);
+                       return NULL;
+               } else {
+                       if (!is_ok (&error))
+                               *exc = (MonoObject*)mono_error_convert_to_exception (&error);
+                       return result;
+               }
+       } else {
+               MonoObject *result = mono_runtime_delegate_invoke_checked (delegate, params, &error);
+               mono_error_raise_exception (&error); /* OK to throw, external only without a good alternative */
+               return result;
+       }
+}
+
+/**
+ * mono_runtime_delegate_try_invoke:
+ * @delegate: pointer to a delegate object.
+ * @params: parameters for the delegate.
+ * @exc: Pointer to the exception result.
+ * @error: set on error
+ *
+ * Invokes the delegate method @delegate with the parameters provided.
+ *
+ * You can pass NULL as the exc argument if you don't want to
+ * catch exceptions, otherwise, *exc will be set to the exception
+ * thrown, if any.  On failure to execute, @error will be set.
+ * if an exception is thrown, you can't use the
+ * MonoObject* result from the function.
+ */
+MonoObject*
+mono_runtime_delegate_try_invoke (MonoObject *delegate, void **params, MonoObject **exc, MonoError *error)
+{
+       MONO_REQ_GC_UNSAFE_MODE;
+
+       mono_error_init (error);
        MonoMethod *im;
        MonoClass *klass = delegate->vtable->klass;
        MonoObject *o;
@@ -3975,19 +4047,32 @@ mono_runtime_delegate_invoke (MonoObject *delegate, void **params, MonoObject **
                g_error ("Could not lookup delegate invoke method for delegate %s", mono_type_get_full_name (klass));
 
        if (exc) {
-               o = mono_runtime_try_invoke (im, delegate, params, exc, &error);
-               if (*exc == NULL && !mono_error_ok (&error))
-                       *exc = (MonoObject*) mono_error_convert_to_exception (&error);
-               else
-                       mono_error_cleanup (&error);
+               o = mono_runtime_try_invoke (im, delegate, params, exc, error);
        } else {
-               o = mono_runtime_invoke_checked (im, delegate, params, &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
+               o = mono_runtime_invoke_checked (im, delegate, params, error);
        }
 
        return o;
 }
 
+/**
+ * mono_runtime_delegate_invoke_checked:
+ * @delegate: pointer to a delegate object.
+ * @params: parameters for the delegate.
+ * @error: set on error
+ *
+ * Invokes the delegate method @delegate with the parameters provided.
+ *
+ * On failure @error will be set and you can't use the MonoObject*
+ * result from the function.
+ */
+MonoObject*
+mono_runtime_delegate_invoke_checked (MonoObject *delegate, void **params, MonoError *error)
+{
+       mono_error_init (error);
+       return mono_runtime_delegate_try_invoke (delegate, params, NULL, error);
+}
+
 static char **main_args = NULL;
 static int num_main_args = 0;
 
@@ -4348,11 +4433,11 @@ mono_object_xdomain_representation (MonoObject *obj, MonoDomain *target_domain,
 
 /* Used in call_unhandled_exception_delegate */
 static MonoObject *
-create_unhandled_exception_eventargs (MonoObject *exc)
+create_unhandled_exception_eventargs (MonoObject *exc, MonoError *error)
 {
        MONO_REQ_GC_UNSAFE_MODE;
 
-       MonoError error;
+       mono_error_init (error);
        MonoClass *klass;
        gpointer args [2];
        MonoMethod *method = NULL;
@@ -4369,11 +4454,11 @@ create_unhandled_exception_eventargs (MonoObject *exc)
        args [0] = exc;
        args [1] = &is_terminating;
 
-       obj = mono_object_new_checked (mono_domain_get (), klass, &error);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       obj = mono_object_new_checked (mono_domain_get (), klass, error);
+       return_val_if_nok (error, NULL);
 
-       mono_runtime_invoke_checked (method, obj, args, &error);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       mono_runtime_invoke_checked (method, obj, args, error);
+       return_val_if_nok (error, NULL);
 
        return obj;
 }
@@ -4383,6 +4468,7 @@ static void
 call_unhandled_exception_delegate (MonoDomain *domain, MonoObject *delegate, MonoObject *exc) {
        MONO_REQ_GC_UNSAFE_MODE;
 
+       MonoError error;
        MonoObject *e = NULL;
        gpointer pa [2];
        MonoDomain *current_domain = mono_domain_get ();
@@ -4393,7 +4479,6 @@ call_unhandled_exception_delegate (MonoDomain *domain, MonoObject *delegate, Mon
        g_assert (domain == mono_object_domain (domain->domain));
 
        if (mono_object_domain (exc) != domain) {
-               MonoError error;
 
                exc = mono_object_xdomain_representation (exc, domain, &error);
                if (!exc) {
@@ -4412,14 +4497,20 @@ call_unhandled_exception_delegate (MonoDomain *domain, MonoObject *delegate, Mon
        g_assert (mono_object_domain (exc) == domain);
 
        pa [0] = domain->domain;
-       pa [1] = create_unhandled_exception_eventargs (exc);
-       mono_runtime_delegate_invoke (delegate, pa, &e);
+       pa [1] = create_unhandled_exception_eventargs (exc, &error);
+       mono_error_assert_ok (&error);
+       mono_runtime_delegate_try_invoke (delegate, pa, &e, &error);
+       if (!is_ok (&error)) {
+               if (e == NULL)
+                       e = (MonoObject*)mono_error_convert_to_exception (&error);
+               else
+                       mono_error_cleanup (&error);
+       }
 
        if (domain != current_domain)
                mono_domain_set_internal_with_options (current_domain, FALSE);
 
        if (e) {
-               MonoError error;
                gchar *msg = mono_string_to_utf8_checked (((MonoException *) e)->message, &error);
                if (!mono_error_ok (&error)) {
                        g_warning ("Exception inside UnhandledException handler with invalid message (Invalid characters)\n");
@@ -4490,10 +4581,10 @@ mono_unhandled_exception (MonoObject *exc)
        root_domain = mono_get_root_domain ();
 
        root_appdomain_delegate = mono_field_get_value_object_checked (root_domain, field, (MonoObject*) root_domain->domain, &error);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       mono_error_assert_ok (&error);
        if (current_domain != root_domain) {
                current_appdomain_delegate = mono_field_get_value_object_checked (current_domain, field, (MonoObject*) current_domain->domain, &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
+               mono_error_assert_ok (&error);
        }
 
        if (!current_appdomain_delegate && !root_appdomain_delegate) {
@@ -4646,61 +4737,24 @@ mono_runtime_exec_main (MonoMethod *method, MonoArray *args, MonoObject **exc)
        return rval;
 }
 
-/**
- * mono_runtime_invoke_array:
- * @method: method to invoke
- * @obJ: object instance
- * @params: arguments to the method
- * @exc: exception information.
- *
- * Invokes the method represented by @method on the object @obj.
- *
- * obj is the 'this' pointer, it should be NULL for static
- * methods, a MonoObject* for object instances and a pointer to
- * the value type for value types.
+/** invoke_array_extract_argument:
+ * @params: array of arguments to the method.
+ * @i: the index of the argument to extract.
+ * @t: ith type from the method signature.
+ * @has_byref_nullables: outarg - TRUE if method expects a byref nullable argument
+ * @error: set on error.
  *
- * The params array contains the arguments to the method with the
- * same convention: MonoObject* pointers for object instances and
- * pointers to the value type otherwise. The _invoke_array
- * variant takes a C# object[] as the params argument (MonoArray
- * *params): in this case the value types are boxed inside the
- * respective reference representation.
- * 
- * From unmanaged code you'll usually use the
- * mono_runtime_invoke_checked() variant.
+ * Given an array of method arguments, return the ith one using the corresponding type
+ * to perform necessary unboxing.  If method expects a ref nullable argument, writes TRUE to @has_byref_nullables.
  *
- * Note that this function doesn't handle virtual methods for
- * you, it will exec the exact method you pass: we still need to
- * expose a function to lookup the derived class implementation
- * of a virtual method (there are examples of this in the code,
- * though).
- * 
- * You can pass NULL as the exc argument if you don't want to
- * catch exceptions, otherwise, *exc will be set to the exception
- * thrown, if any.  if an exception is thrown, you can't use the
- * MonoObject* result from the function.
- * 
- * If the method returns a value type, it is boxed in an object
- * reference.
+ * On failure sets @error and returns NULL.
  */
-MonoObject*
-mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
-                          MonoObject **exc)
+static gpointer
+invoke_array_extract_argument (MonoArray *params, int i, MonoType *t, gboolean* has_byref_nullables, MonoError *error)
 {
-       MONO_REQ_GC_UNSAFE_MODE;
-
-       MonoError error;
-       MonoMethodSignature *sig = mono_method_signature (method);
-       gpointer *pa = NULL;
-       MonoObject *res;
-       int i;
-       gboolean has_byref_nullables = FALSE;
-
-       if (NULL != params) {
-               pa = (void **)alloca (sizeof (gpointer) * mono_array_length (params));
-               for (i = 0; i < mono_array_length (params); i++) {
-                       MonoType *t = sig->params [i];
-
+       MonoType *t_orig = t;
+       gpointer result = NULL;
+       mono_error_init (error);
                again:
                        switch (t->type) {
                        case MONO_TYPE_U1:
@@ -4718,16 +4772,16 @@ mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
                        case MONO_TYPE_R4:
                        case MONO_TYPE_R8:
                        case MONO_TYPE_VALUETYPE:
-                               if (t->type == MONO_TYPE_VALUETYPE && mono_class_is_nullable (mono_class_from_mono_type (sig->params [i]))) {
+                               if (t->type == MONO_TYPE_VALUETYPE && mono_class_is_nullable (mono_class_from_mono_type (t_orig))) {
                                        /* The runtime invoke wrapper needs the original boxed vtype, it does handle byref values as well. */
-                                       pa [i] = mono_array_get (params, MonoObject*, i);
+                                       result = mono_array_get (params, MonoObject*, i);
                                        if (t->byref)
-                                               has_byref_nullables = TRUE;
+                                               *has_byref_nullables = TRUE;
                                } else {
                                        /* MS seems to create the objects if a null is passed in */
                                        if (!mono_array_get (params, MonoObject*, i)) {
-                                               MonoObject *o = mono_object_new_checked (mono_domain_get (), mono_class_from_mono_type (sig->params [i]), &error);
-                                               mono_error_raise_exception (&error); /* FIXME don't raise here */
+                                               MonoObject *o = mono_object_new_checked (mono_domain_get (), mono_class_from_mono_type (t_orig), error);
+                                               return_val_if_nok (error, NULL);
                                                mono_array_setref (params, i, o); 
                                        }
 
@@ -4740,12 +4794,12 @@ mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
                                                 * boxed object in the arg array with the copy.
                                                 */
                                                MonoObject *orig = mono_array_get (params, MonoObject*, i);
-                                               MonoObject *copy = mono_value_box_checked (mono_domain_get (), orig->vtable->klass, mono_object_unbox (orig), &error);
-                                               mono_error_raise_exception (&error); /* FIXME don't raise here */
+                                               MonoObject *copy = mono_value_box_checked (mono_domain_get (), orig->vtable->klass, mono_object_unbox (orig), error);
+                                               return_val_if_nok (error, NULL);
                                                mono_array_setref (params, i, copy);
                                        }
                                                
-                                       pa [i] = mono_object_unbox (mono_array_get (params, MonoObject*, i));
+                                       result = mono_object_unbox (mono_array_get (params, MonoObject*, i));
                                }
                                break;
                        case MONO_TYPE_STRING:
@@ -4754,10 +4808,10 @@ mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
                        case MONO_TYPE_ARRAY:
                        case MONO_TYPE_SZARRAY:
                                if (t->byref)
-                                       pa [i] = mono_array_addr (params, MonoObject*, i);
+                                       result = mono_array_addr (params, MonoObject*, i);
                                        // FIXME: I need to check this code path
                                else
-                                       pa [i] = mono_array_get (params, MonoObject*, i);
+                                       result = mono_array_get (params, MonoObject*, i);
                                break;
                        case MONO_TYPE_GENERICINST:
                                if (t->byref)
@@ -4771,16 +4825,179 @@ mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
                                /* The argument should be an IntPtr */
                                arg = mono_array_get (params, MonoObject*, i);
                                if (arg == NULL) {
-                                       pa [i] = NULL;
+                                       result = NULL;
                                } else {
                                        g_assert (arg->vtable->klass == mono_defaults.int_class);
-                                       pa [i] = ((MonoIntPtr*)arg)->m_value;
+                                       result = ((MonoIntPtr*)arg)->m_value;
                                }
                                break;
                        }
                        default:
-                               g_error ("type 0x%x not handled in mono_runtime_invoke_array", sig->params [i]->type);
+                               g_error ("type 0x%x not handled in mono_runtime_invoke_array", t_orig->type);
                        }
+       return result;
+}
+/**
+ * mono_runtime_invoke_array:
+ * @method: method to invoke
+ * @obJ: object instance
+ * @params: arguments to the method
+ * @exc: exception information.
+ *
+ * Invokes the method represented by @method on the object @obj.
+ *
+ * obj is the 'this' pointer, it should be NULL for static
+ * methods, a MonoObject* for object instances and a pointer to
+ * the value type for value types.
+ *
+ * The params array contains the arguments to the method with the
+ * same convention: MonoObject* pointers for object instances and
+ * pointers to the value type otherwise. The _invoke_array
+ * variant takes a C# object[] as the params argument (MonoArray
+ * *params): in this case the value types are boxed inside the
+ * respective reference representation.
+ * 
+ * From unmanaged code you'll usually use the
+ * mono_runtime_invoke_checked() variant.
+ *
+ * Note that this function doesn't handle virtual methods for
+ * you, it will exec the exact method you pass: we still need to
+ * expose a function to lookup the derived class implementation
+ * of a virtual method (there are examples of this in the code,
+ * though).
+ * 
+ * You can pass NULL as the exc argument if you don't want to
+ * catch exceptions, otherwise, *exc will be set to the exception
+ * thrown, if any.  if an exception is thrown, you can't use the
+ * MonoObject* result from the function.
+ * 
+ * If the method returns a value type, it is boxed in an object
+ * reference.
+ */
+MonoObject*
+mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
+                          MonoObject **exc)
+{
+       MonoError error;
+       if (exc) {
+               MonoObject *result = mono_runtime_try_invoke_array (method, obj, params, exc, &error);
+               if (*exc) {
+                       mono_error_cleanup (&error);
+                       return NULL;
+               } else {
+                       if (!is_ok (&error))
+                               *exc = (MonoObject*)mono_error_convert_to_exception (&error);
+                       return result;
+               }
+       } else {
+               MonoObject *result = mono_runtime_try_invoke_array (method, obj, params, NULL, &error);
+               mono_error_raise_exception (&error); /* FIXME don't raise here */
+               return result;
+       }
+}
+
+/**
+ * mono_runtime_invoke_array_checked:
+ * @method: method to invoke
+ * @obJ: object instance
+ * @params: arguments to the method
+ * @error: set on failure.
+ *
+ * Invokes the method represented by @method on the object @obj.
+ *
+ * obj is the 'this' pointer, it should be NULL for static
+ * methods, a MonoObject* for object instances and a pointer to
+ * the value type for value types.
+ *
+ * The params array contains the arguments to the method with the
+ * same convention: MonoObject* pointers for object instances and
+ * pointers to the value type otherwise. The _invoke_array
+ * variant takes a C# object[] as the params argument (MonoArray
+ * *params): in this case the value types are boxed inside the
+ * respective reference representation.
+ *
+ * From unmanaged code you'll usually use the
+ * mono_runtime_invoke_checked() variant.
+ *
+ * Note that this function doesn't handle virtual methods for
+ * you, it will exec the exact method you pass: we still need to
+ * expose a function to lookup the derived class implementation
+ * of a virtual method (there are examples of this in the code,
+ * though).
+ *
+ * On failure or exception, @error will be set. In that case, you
+ * can't use the MonoObject* result from the function.
+ *
+ * If the method returns a value type, it is boxed in an object
+ * reference.
+ */
+MonoObject*
+mono_runtime_invoke_array_checked (MonoMethod *method, void *obj, MonoArray *params,
+                                  MonoError *error)
+{
+       mono_error_init (error);
+       return mono_runtime_try_invoke_array (method, obj, params, NULL, error);
+}
+
+/**
+ * mono_runtime_try_invoke_array:
+ * @method: method to invoke
+ * @obJ: object instance
+ * @params: arguments to the method
+ * @exc: exception information.
+ * @error: set on failure.
+ *
+ * Invokes the method represented by @method on the object @obj.
+ *
+ * obj is the 'this' pointer, it should be NULL for static
+ * methods, a MonoObject* for object instances and a pointer to
+ * the value type for value types.
+ *
+ * The params array contains the arguments to the method with the
+ * same convention: MonoObject* pointers for object instances and
+ * pointers to the value type otherwise. The _invoke_array
+ * variant takes a C# object[] as the params argument (MonoArray
+ * *params): in this case the value types are boxed inside the
+ * respective reference representation.
+ *
+ * From unmanaged code you'll usually use the
+ * mono_runtime_invoke_checked() variant.
+ *
+ * Note that this function doesn't handle virtual methods for
+ * you, it will exec the exact method you pass: we still need to
+ * expose a function to lookup the derived class implementation
+ * of a virtual method (there are examples of this in the code,
+ * though).
+ *
+ * You can pass NULL as the exc argument if you don't want to catch
+ * exceptions, otherwise, *exc will be set to the exception thrown, if
+ * any.  On other failures, @error will be set. If an exception is
+ * thrown or there's an error, you can't use the MonoObject* result
+ * from the function.
+ *
+ * If the method returns a value type, it is boxed in an object
+ * reference.
+ */
+MonoObject*
+mono_runtime_try_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
+                              MonoObject **exc, MonoError *error)
+{
+       MONO_REQ_GC_UNSAFE_MODE;
+
+       mono_error_init (error);
+
+       MonoMethodSignature *sig = mono_method_signature (method);
+       gpointer *pa = NULL;
+       MonoObject *res;
+       int i;
+       gboolean has_byref_nullables = FALSE;
+
+       if (NULL != params) {
+               pa = (void **)alloca (sizeof (gpointer) * mono_array_length (params));
+               for (i = 0; i < mono_array_length (params); i++) {
+                       MonoType *t = sig->params [i];
+                       pa [i] = invoke_array_extract_argument (params, i, t, &has_byref_nullables, error);
+                       return_val_if_nok (error, NULL);
                }
        }
 
@@ -4794,15 +5011,14 @@ mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
                        if (!params)
                                return NULL;
                        else {
-                               MonoObject *result = mono_value_box_checked (mono_domain_get (), method->klass->cast_class, pa [0], &error);
-                               mono_error_raise_exception (&error); /* FIXME don't raise here */
-                               return result;
+                               return mono_value_box_checked (mono_domain_get (), method->klass->cast_class, pa [0], error);
                        }
                }
 
                if (!obj) {
-                       obj = mono_object_new_checked (mono_domain_get (), method->klass, &error);
-                       g_assert (obj && mono_error_ok (&error)); /*maybe we should raise a TLE instead?*/ /* FIXME don't swallow error */
+                       obj = mono_object_new_checked (mono_domain_get (), method->klass, error);
+                       mono_error_assert_ok (error);
+                       g_assert (obj); /*maybe we should raise a TLE instead?*/
 #ifndef DISABLE_REMOTING
                        if (mono_object_class(obj) == mono_defaults.transparent_proxy_class) {
                                method = mono_marshal_get_remoting_invoke (method->slot == -1 ? method : method->klass->vtable [method->slot]);
@@ -4813,19 +5029,14 @@ mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
                        else
                                o = obj;
                } else if (method->klass->valuetype) {
-                       obj = mono_value_box_checked (mono_domain_get (), method->klass, obj, &error);
-                       mono_error_raise_exception (&error); /* FIXME don't raise here */
+                       obj = mono_value_box_checked (mono_domain_get (), method->klass, obj, error);
+                       return_val_if_nok (error, NULL);
                }
 
                if (exc) {
-                       mono_runtime_try_invoke (method, o, pa, exc, &error);
-                       if (*exc == NULL && !mono_error_ok (&error))
-                               *exc = (MonoObject*) mono_error_convert_to_exception (&error);
-                       else
-                               mono_error_cleanup (&error);
+                       mono_runtime_try_invoke (method, o, pa, exc, error);
                } else {
-                       mono_runtime_invoke_checked (method, o, pa, &error);
-                       mono_error_raise_exception (&error); /* FIXME don't raise here */
+                       mono_runtime_invoke_checked (method, o, pa, error);
                }
 
                return (MonoObject *)obj;
@@ -4834,26 +5045,22 @@ mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
                        MonoObject *nullable;
 
                        /* Convert the unboxed vtype into a Nullable structure */
-                       nullable = mono_object_new_checked (mono_domain_get (), method->klass, &error);
-                       mono_error_raise_exception (&error); /* FIXME don't raise here */
+                       nullable = mono_object_new_checked (mono_domain_get (), method->klass, error);
+                       return_val_if_nok (error, NULL);
 
-                       MonoObject *boxed = mono_value_box_checked (mono_domain_get (), method->klass->cast_class, obj, &error);
-                       mono_error_raise_exception (&error); /* FIXME don't raise here */
+                       MonoObject *boxed = mono_value_box_checked (mono_domain_get (), method->klass->cast_class, obj, error);
+                       return_val_if_nok (error, NULL);
                        mono_nullable_init ((guint8 *)mono_object_unbox (nullable), boxed, method->klass);
                        obj = mono_object_unbox (nullable);
                }
 
                /* obj must be already unboxed if needed */
                if (exc) {
-                       res = mono_runtime_try_invoke (method, obj, pa, exc, &error);
-                       if (*exc == NULL && !mono_error_ok (&error))
-                               *exc = (MonoObject*) mono_error_convert_to_exception (&error);
-                       else
-                               mono_error_cleanup (&error);
+                       res = mono_runtime_try_invoke (method, obj, pa, exc, error);
                } else {
-                       res = mono_runtime_invoke_checked (method, obj, pa, &error);
-                       mono_error_raise_exception (&error); /* FIXME don't raise here */
+                       res = mono_runtime_invoke_checked (method, obj, pa, error);
                }
+               return_val_if_nok (error, NULL);
 
                if (sig->ret->type == MONO_TYPE_PTR) {
                        MonoClass *pointer_class;
@@ -4871,12 +5078,12 @@ mono_runtime_invoke_array (MonoMethod *method, void *obj, MonoArray *params,
 
                        g_assert (res->vtable->klass == mono_defaults.int_class);
                        box_args [0] = ((MonoIntPtr*)res)->m_value;
-                       box_args [1] = mono_type_get_object_checked (mono_domain_get (), sig->ret, &error);
-                       mono_error_raise_exception (&error); /* FIXME don't raise here */
+                       box_args [1] = mono_type_get_object_checked (mono_domain_get (), sig->ret, error);
+                       return_val_if_nok (error, NULL);
 
-                       res = mono_runtime_try_invoke (box_method, NULL, box_args, &box_exc, &error);
+                       res = mono_runtime_try_invoke (box_method, NULL, box_args, &box_exc, error);
                        g_assert (box_exc == NULL);
-                       mono_error_assert_ok (&error);
+                       mono_error_assert_ok (error);
                }
 
                if (has_byref_nullables) {
@@ -4983,7 +5190,7 @@ mono_object_new_pinned (MonoDomain *domain, MonoClass *klass, MonoError *error)
        if (G_UNLIKELY (!o))
                mono_error_set_out_of_memory (error, "Could not allocate %i bytes", mono_class_instance_size (klass));
        else if (G_UNLIKELY (vtable->klass->has_finalize))
-               mono_object_register_finalizer (o, error);
+               mono_object_register_finalizer (o);
 
        return o;
 }
@@ -5113,7 +5320,7 @@ mono_object_new_alloc_specific_checked (MonoVTable *vtable, MonoError *error)
        if (G_UNLIKELY (!o))
                mono_error_set_out_of_memory (error, "Could not allocate %i bytes", vtable->klass->instance_size);
        else if (G_UNLIKELY (vtable->klass->has_finalize))
-               mono_object_register_finalizer (o, error);
+               mono_object_register_finalizer (o);
 
        return o;
 }
@@ -5201,7 +5408,7 @@ mono_object_new_mature (MonoVTable *vtable, MonoError *error)
        if (G_UNLIKELY (!o))
                mono_error_set_out_of_memory (error, "Could not allocate %i bytes", vtable->klass->instance_size);
        else if (G_UNLIKELY (vtable->klass->has_finalize))
-               mono_object_register_finalizer (o, error);
+               mono_object_register_finalizer (o);
 
        return o;
 }
@@ -5316,7 +5523,7 @@ mono_object_clone_checked (MonoObject *obj, MonoError *error)
        mono_gc_wbarrier_object_copy (o, obj);
 
        if (obj->vtable->klass->has_finalize)
-               mono_object_register_finalizer (o, error);
+               mono_object_register_finalizer (o);
        return o;
 }
 
@@ -6091,7 +6298,7 @@ mono_value_box_checked (MonoDomain *domain, MonoClass *klass, gpointer value, Mo
 #endif
 #endif
        if (klass->has_finalize) {
-               mono_object_register_finalizer (res, error);
+               mono_object_register_finalizer (res);
                return_val_if_nok (error, NULL);
        }
        return res;
@@ -6332,7 +6539,8 @@ mono_object_isinst_mbyref_checked (MonoObject *obj, MonoClass *klass, MonoError
 
                if (*(MonoBoolean *) mono_object_unbox(res)) {
                        /* Update the vtable of the remote type, so it can safely cast to this new type */
-                       mono_upgrade_remote_class (domain, obj, klass);
+                       mono_upgrade_remote_class (domain, obj, klass, error);
+                       return_val_if_nok (error, NULL);
                        return obj;
                }
        }
@@ -6517,18 +6725,36 @@ mono_string_intern_checked (MonoString *str, MonoError *error)
 MonoString*
 mono_ldstr (MonoDomain *domain, MonoImage *image, guint32 idx)
 {
-       MONO_REQ_GC_UNSAFE_MODE;
        MonoError error;
+       MonoString *result = mono_ldstr_checked (domain, image, idx, &error);
+       mono_error_cleanup (&error);
+       return result;
+}
+
+/**
+ * mono_ldstr_checked:
+ * @domain: the domain where the string will be used.
+ * @image: a metadata context
+ * @idx: index into the user string table.
+ * @error: set on error.
+ * 
+ * Implementation for the ldstr opcode.
+ * Returns: a loaded string from the @image/@idx combination.
+ * On failure returns NULL and sets @error.
+ */
+MonoString*
+mono_ldstr_checked (MonoDomain *domain, MonoImage *image, guint32 idx, MonoError *error)
+{
+       MONO_REQ_GC_UNSAFE_MODE;
+       mono_error_init (error);
 
        if (image->dynamic) {
-               MonoString *str = (MonoString *)mono_lookup_dynamic_token (image, MONO_TOKEN_STRING | idx, NULL, &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
+               MonoString *str = (MonoString *)mono_lookup_dynamic_token (image, MONO_TOKEN_STRING | idx, NULL, error);
                return str;
        } else {
                if (!mono_verifier_verify_string_signature (image, idx, NULL))
                        return NULL; /*FIXME we should probably be raising an exception here*/
-               MonoString *str = mono_ldstr_metadata_sig (domain, mono_metadata_user_string (image, idx), &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
+               MonoString *str = mono_ldstr_metadata_sig (domain, mono_metadata_user_string (image, idx), error);
                return str;
        }
 }
@@ -6604,8 +6830,10 @@ mono_string_to_utf8 (MonoString *s)
        MonoError error;
        char *result = mono_string_to_utf8_checked (s, &error);
        
-       if (!mono_error_ok (&error))
-               mono_error_raise_exception (&error);
+       if (!is_ok (&error)) {
+               mono_error_cleanup (&error);
+               return NULL;
+       }
        return result;
 }
 
@@ -7059,21 +7287,23 @@ mono_runtime_capture_context (MonoDomain *domain, MonoError *error)
  * @handle: wait handle.
  * @state: state to pass to AsyncResult
  * @data: C closure data.
+ * @error: set on error.
  *
  * Creates a new MonoAsyncResult (AsyncResult C# class) in the given domain.
  * If the handle is not null, the handle is initialized to a MonOWaitHandle.
+ * On failure returns NULL and sets @error.
  *
  */
 MonoAsyncResult *
-mono_async_result_new (MonoDomain *domain, HANDLE handle, MonoObject *state, gpointer data, MonoObject *object_data)
+mono_async_result_new (MonoDomain *domain, HANDLE handle, MonoObject *state, gpointer data, MonoObject *object_data, MonoError *error)
 {
        MONO_REQ_GC_UNSAFE_MODE;
 
-       MonoError error;
-       MonoAsyncResult *res = (MonoAsyncResult *)mono_object_new_checked (domain, mono_defaults.asyncresult_class, &error);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
-       MonoObject *context = mono_runtime_capture_context (domain, &error);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       mono_error_init (error);
+       MonoAsyncResult *res = (MonoAsyncResult *)mono_object_new_checked (domain, mono_defaults.asyncresult_class, error);
+       return_val_if_nok (error, NULL);
+       MonoObject *context = mono_runtime_capture_context (domain, error);
+       return_val_if_nok (error, NULL);
        /* we must capture the execution context from the original thread */
        if (context) {
                MONO_OBJECT_SETREF (res, execution_context, context);
@@ -7083,8 +7313,8 @@ mono_async_result_new (MonoDomain *domain, HANDLE handle, MonoObject *state, gpo
        res->data = (void **)data;
        MONO_OBJECT_SETREF (res, object_data, object_data);
        MONO_OBJECT_SETREF (res, async_state, state);
-       MonoWaitHandle *wait_handle = mono_wait_handle_new (domain, handle, &error);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       MonoWaitHandle *wait_handle = mono_wait_handle_new (domain, handle, error);
+       return_val_if_nok (error, NULL);
        if (handle != NULL)
                MONO_OBJECT_SETREF (res, handle, (MonoObject *) wait_handle);
 
@@ -7108,12 +7338,16 @@ ves_icall_System_Runtime_Remoting_Messaging_AsyncResult_Invoke (MonoAsyncResult
 
        ac = (MonoAsyncCall*) ares->object_data;
        if (!ac) {
-               res = mono_runtime_delegate_invoke (ares->async_delegate, (void**) &ares->async_state, NULL);
+               res = mono_runtime_delegate_invoke_checked (ares->async_delegate, (void**) &ares->async_state, &error);
+               if (mono_error_set_pending_exception (&error))
+                       return NULL;
        } else {
                gpointer wait_event = NULL;
 
                ac->msg->exc = NULL;
-               res = mono_message_invoke (ares->async_delegate, ac->msg, &ac->msg->exc, &ac->out_args);
+               res = mono_message_invoke (ares->async_delegate, ac->msg, &ac->msg->exc, &ac->out_args, &error);
+               if (mono_error_set_pending_exception (&error))
+                       return NULL;
                MONO_OBJECT_SETREF (ac, res, res);
 
                mono_monitor_enter ((MonoObject*) ares);
@@ -7135,18 +7369,19 @@ ves_icall_System_Runtime_Remoting_Messaging_AsyncResult_Invoke (MonoAsyncResult
        return res;
 }
 
-void
+gboolean
 mono_message_init (MonoDomain *domain,
                   MonoMethodMessage *this_obj, 
                   MonoReflectionMethod *method,
-                  MonoArray *out_args)
+                  MonoArray *out_args,
+                  MonoError *error)
 {
        MONO_REQ_GC_UNSAFE_MODE;
 
        static MonoClass *object_array_klass;
        static MonoClass *byte_array_klass;
        static MonoClass *string_array_klass;
-       MonoError error;
+       mono_error_init (error);
        MonoMethodSignature *sig = mono_method_signature (method->method);
        MonoString *name;
        MonoArray *arr;
@@ -7173,13 +7408,13 @@ mono_message_init (MonoDomain *domain,
 
        MONO_OBJECT_SETREF (this_obj, method, method);
 
-       arr = mono_array_new_specific_checked (mono_class_vtable (domain, object_array_klass), sig->param_count, &error);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       arr = mono_array_new_specific_checked (mono_class_vtable (domain, object_array_klass), sig->param_count, error);
+       return_val_if_nok (error, FALSE);
 
        MONO_OBJECT_SETREF (this_obj, args, arr);
 
-       arr = mono_array_new_specific_checked (mono_class_vtable (domain, byte_array_klass), sig->param_count, &error);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       arr = mono_array_new_specific_checked (mono_class_vtable (domain, byte_array_klass), sig->param_count, error);
+       return_val_if_nok (error, FALSE);
 
        MONO_OBJECT_SETREF (this_obj, arg_types, arr);
 
@@ -7189,13 +7424,16 @@ mono_message_init (MonoDomain *domain,
        names = g_new (char *, sig->param_count);
        mono_method_get_param_names (method->method, (const char **) names);
 
-       arr = mono_array_new_specific_checked (mono_class_vtable (domain, string_array_klass), sig->param_count, &error);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       arr = mono_array_new_specific_checked (mono_class_vtable (domain, string_array_klass), sig->param_count, error);
+       if (!is_ok (error))
+               goto fail;
 
        MONO_OBJECT_SETREF (this_obj, names, arr);
        
        for (i = 0; i < sig->param_count; i++) {
-               name = mono_string_new (domain, names [i]);
+               name = mono_string_new_checked (domain, names [i], error);
+               if (!is_ok (error))
+                       goto fail;
                mono_array_setref (this_obj->names, i, name);   
        }
 
@@ -7217,6 +7455,11 @@ mono_message_init (MonoDomain *domain,
                }
                mono_array_set (this_obj->arg_types, guint8, i, arg_type);
        }
+
+       return TRUE;
+fail:
+       g_free (names);
+       return FALSE;
 }
 
 #ifndef DISABLE_REMOTING
@@ -7272,16 +7515,16 @@ mono_remoting_invoke (MonoObject *real_proxy, MonoMethodMessage *msg, MonoObject
 
 MonoObject *
 mono_message_invoke (MonoObject *target, MonoMethodMessage *msg, 
-                    MonoObject **exc, MonoArray **out_args) 
+                    MonoObject **exc, MonoArray **out_args, MonoError *error
 {
        MONO_REQ_GC_UNSAFE_MODE;
 
        static MonoClass *object_array_klass;
-       MonoError error;
+       mono_error_init (error);
+
        MonoDomain *domain; 
        MonoMethod *method;
        MonoMethodSignature *sig;
-       MonoObject *ret;
        MonoArray *arr;
        int i, j, outarg_count = 0;
 
@@ -7291,10 +7534,7 @@ mono_message_invoke (MonoObject *target, MonoMethodMessage *msg,
                if (mono_class_is_contextbound (tp->remote_class->proxy_class) && tp->rp->context == (MonoObject *) mono_context_get ()) {
                        target = tp->rp->unwrapped_server;
                } else {
-                       ret = mono_remoting_invoke ((MonoObject *)tp->rp, msg, exc, out_args, &error);
-                       mono_error_raise_exception (&error); /* FIXME don't raise here */
-
-                       return ret;
+                       return mono_remoting_invoke ((MonoObject *)tp->rp, msg, exc, out_args, error);
                }
        }
 #endif
@@ -7318,13 +7558,14 @@ mono_message_invoke (MonoObject *target, MonoMethodMessage *msg,
                object_array_klass = klass;
        }
 
-       arr = mono_array_new_specific_checked (mono_class_vtable (domain, object_array_klass), outarg_count, &error);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       arr = mono_array_new_specific_checked (mono_class_vtable (domain, object_array_klass), outarg_count, error);
+       return_val_if_nok (error, NULL);
 
        mono_gc_wbarrier_generic_store (out_args, (MonoObject*) arr);
        *exc = NULL;
 
-       ret = mono_runtime_invoke_array (method, method->klass->valuetype? mono_object_unbox (target): target, msg->args, exc);
+       MonoObject *ret = mono_runtime_try_invoke_array (method, method->klass->valuetype? mono_object_unbox (target): target, msg->args, exc, error);
+       return_val_if_nok (error, NULL);
 
        for (i = 0, j = 0; i < sig->param_count; i++) {
                if (sig->params [i]->byref) {
@@ -7339,25 +7580,24 @@ mono_message_invoke (MonoObject *target, MonoMethodMessage *msg,
 }
 
 /**
- * mono_object_to_string:
+ * prepare_to_string_method:
  * @obj: The object
- * @exc: Any exception thrown by ToString (). May be NULL.
+ * @target: Set to @obj or unboxed value if a valuetype
  *
- * Returns: the result of calling ToString () on an object.
+ * Returns: the ToString override for @obj. If @obj is a valuetype, @target is unboxed otherwise it's @obj.
  */
-MonoString *
-mono_object_to_string (MonoObject *obj, MonoObject **exc)
+static MonoMethod *
+prepare_to_string_method (MonoObject *obj, void **target)
 {
        MONO_REQ_GC_UNSAFE_MODE;
 
        static MonoMethod *to_string = NULL;
-       MonoError error;
        MonoMethod *method;
-       MonoString *s;
-       void *target = obj;
-
+       g_assert (target);
        g_assert (obj);
 
+       *target = obj;
+
        if (!to_string)
                to_string = mono_class_get_method_from_name_flags (mono_get_object_class (), "ToString", 0, METHOD_ATTRIBUTE_VIRTUAL | METHOD_ATTRIBUTE_PUBLIC);
 
@@ -7365,9 +7605,25 @@ mono_object_to_string (MonoObject *obj, MonoObject **exc)
 
        // Unbox value type if needed
        if (mono_class_is_valuetype (mono_method_get_class (method))) {
-               target = mono_object_unbox (obj);
+               *target = mono_object_unbox (obj);
        }
+       return method;
+}
 
+/**
+ * mono_object_to_string:
+ * @obj: The object
+ * @exc: Any exception thrown by ToString (). May be NULL.
+ *
+ * Returns: the result of calling ToString () on an object.
+ */
+MonoString *
+mono_object_to_string (MonoObject *obj, MonoObject **exc)
+{
+       MonoError error;
+       MonoString *s = NULL;
+       void *target;
+       MonoMethod *method = prepare_to_string_method (obj, &target);
        if (exc) {
                s = (MonoString *) mono_runtime_try_invoke (method, target, NULL, exc, &error);
                if (*exc == NULL && !mono_error_ok (&error))
@@ -7376,12 +7632,52 @@ mono_object_to_string (MonoObject *obj, MonoObject **exc)
                        mono_error_cleanup (&error);
        } else {
                s = (MonoString *) mono_runtime_invoke_checked (method, target, NULL, &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
+               mono_error_raise_exception (&error); /* OK to throw, external only without a good alternative */
        }
 
        return s;
 }
 
+/**
+ * mono_object_to_string_checked:
+ * @obj: The object
+ * @error: Set on error.
+ *
+ * Returns: the result of calling ToString () on an object. If the
+ * method cannot be invoked or if it raises an exception, sets @error
+ * and returns NULL.
+ */
+MonoString *
+mono_object_to_string_checked (MonoObject *obj, MonoError *error)
+{
+       mono_error_init (error);
+       void *target;
+       MonoMethod *method = prepare_to_string_method (obj, &target);
+       return (MonoString*) mono_runtime_invoke_checked (method, target, NULL, error);
+}
+
+/**
+ * mono_object_try_to_string:
+ * @obj: The object
+ * @exc: Any exception thrown by ToString (). Must not be NULL.
+ * @error: Set if method cannot be invoked.
+ *
+ * Returns: the result of calling ToString () on an object. If the
+ * method cannot be invoked sets @error, if it raises an exception sets @exc,
+ * and returns NULL.
+ */
+MonoString *
+mono_object_try_to_string (MonoObject *obj, MonoObject **exc, MonoError *error)
+{
+       g_assert (exc);
+       mono_error_init (error);
+       void *target;
+       MonoMethod *method = prepare_to_string_method (obj, &target);
+       return (MonoString*) mono_runtime_try_invoke (method, target, NULL, exc, error);
+}
+
+
+
 /**
  * mono_print_unhandled_exception:
  * @exc: The exception
@@ -7411,7 +7707,11 @@ mono_print_unhandled_exception (MonoObject *exc)
                        free_message = TRUE;
                } else {
                        MonoObject *other_exc = NULL;
-                       str = mono_object_to_string (exc, &other_exc);
+                       str = mono_object_try_to_string (exc, &other_exc, &error);
+                       if (other_exc == NULL && !is_ok (&error))
+                               other_exc = (MonoObject*)mono_error_convert_to_exception (&error);
+                       else
+                               mono_error_cleanup (&error);
                        if (other_exc) {
                                char *original_backtrace = mono_exception_get_managed_backtrace ((MonoException*)exc);
                                char *nested_backtrace = mono_exception_get_managed_backtrace ((MonoException*)other_exc);
@@ -7445,23 +7745,25 @@ mono_print_unhandled_exception (MonoObject *exc)
 }
 
 /**
- * mono_delegate_ctor:
+ * mono_delegate_ctor_with_method:
  * @this: pointer to an uninitialized delegate object
  * @target: target object
  * @addr: pointer to native code
  * @method: method
+ * @error: set on error.
  *
  * Initialize a delegate and sets a specific method, not the one
  * associated with addr.  This is useful when sharing generic code.
  * In that case addr will most probably not be associated with the
  * correct instantiation of the method.
+ * On failure returns FALSE and sets @error.
  */
-void
-mono_delegate_ctor_with_method (MonoObject *this_obj, MonoObject *target, gpointer addr, MonoMethod *method)
+gboolean
+mono_delegate_ctor_with_method (MonoObject *this_obj, MonoObject *target, gpointer addr, MonoMethod *method, MonoError *error)
 {
        MONO_REQ_GC_UNSAFE_MODE;
 
-       MonoError error;
+       mono_error_init (error);
        MonoDelegate *delegate = (MonoDelegate *)this_obj;
 
        g_assert (this_obj);
@@ -7478,8 +7780,8 @@ mono_delegate_ctor_with_method (MonoObject *this_obj, MonoObject *target, gpoint
        if (target && target->vtable->klass == mono_defaults.transparent_proxy_class) {
                g_assert (method);
                method = mono_marshal_get_remoting_invoke (method);
-               delegate->method_ptr = mono_compile_method_checked (method, &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
+               delegate->method_ptr = mono_compile_method_checked (method, error);
+               return_val_if_nok (error, FALSE);
                MONO_OBJECT_SETREF (delegate, target, target);
        } else
 #endif
@@ -7491,6 +7793,7 @@ mono_delegate_ctor_with_method (MonoObject *this_obj, MonoObject *target, gpoint
        delegate->invoke_impl = arch_create_delegate_trampoline (delegate->object.vtable->domain, delegate->object.vtable->klass);
        if (callbacks.init_delegate)
                callbacks.init_delegate (delegate);
+       return TRUE;
 }
 
 /**
@@ -7498,14 +7801,17 @@ mono_delegate_ctor_with_method (MonoObject *this_obj, MonoObject *target, gpoint
  * @this: pointer to an uninitialized delegate object
  * @target: target object
  * @addr: pointer to native code
+ * @error: set on error.
  *
  * This is used to initialize a delegate.
+ * On failure returns FALSE and sets @error.
  */
-void
-mono_delegate_ctor (MonoObject *this_obj, MonoObject *target, gpointer addr)
+gboolean
+mono_delegate_ctor (MonoObject *this_obj, MonoObject *target, gpointer addr, MonoError *error)
 {
        MONO_REQ_GC_UNSAFE_MODE;
 
+       mono_error_init (error);
        MonoDomain *domain = mono_domain_get ();
        MonoJitInfo *ji;
        MonoMethod *method = NULL;
@@ -7521,7 +7827,7 @@ mono_delegate_ctor (MonoObject *this_obj, MonoObject *target, gpointer addr)
                g_assert (!method->klass->generic_container);
        }
 
-       mono_delegate_ctor_with_method (this_obj, target, addr, method);
+       return mono_delegate_ctor_with_method (this_obj, target, addr, method, error);
 }
 
 /**
@@ -7531,34 +7837,38 @@ mono_delegate_ctor (MonoObject *this_obj, MonoObject *target, gpointer addr)
  * @invoke: optional, delegate invoke.
  * @cb: async callback delegate.
  * @state: state passed to the async callback.
+ * @error: set on error.
  *
  * Translates arguments pointers into a MonoMethodMessage.
+ * On failure returns NULL and sets @error.
  */
 MonoMethodMessage *
 mono_method_call_message_new (MonoMethod *method, gpointer *params, MonoMethod *invoke, 
-                             MonoDelegate **cb, MonoObject **state)
+                             MonoDelegate **cb, MonoObject **state, MonoError *error)
 {
        MONO_REQ_GC_UNSAFE_MODE;
 
-       MonoError error;
+       mono_error_init (error);
 
        MonoDomain *domain = mono_domain_get ();
        MonoMethodSignature *sig = mono_method_signature (method);
        MonoMethodMessage *msg;
        int i, count;
 
-       msg = (MonoMethodMessage *)mono_object_new_checked (domain, mono_defaults.mono_method_message_class, &error); 
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       msg = (MonoMethodMessage *)mono_object_new_checked (domain, mono_defaults.mono_method_message_class, error); 
+       return_val_if_nok  (error, NULL);
 
        if (invoke) {
-               MonoReflectionMethod *rm = mono_method_get_object_checked (domain, invoke, NULL, &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
-               mono_message_init (domain, msg, rm, NULL);
+               MonoReflectionMethod *rm = mono_method_get_object_checked (domain, invoke, NULL, error);
+               return_val_if_nok (error, NULL);
+               mono_message_init (domain, msg, rm, NULL, error);
+               return_val_if_nok (error, NULL);
                count =  sig->param_count - 2;
        } else {
-               MonoReflectionMethod *rm = mono_method_get_object_checked (domain, method, NULL, &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
-               mono_message_init (domain, msg, rm, NULL);
+               MonoReflectionMethod *rm = mono_method_get_object_checked (domain, method, NULL, error);
+               return_val_if_nok (error, NULL);
+               mono_message_init (domain, msg, rm, NULL, error);
+               return_val_if_nok (error, NULL);
                count =  sig->param_count;
        }
 
@@ -7575,8 +7885,8 @@ mono_method_call_message_new (MonoMethod *method, gpointer *params, MonoMethod *
                klass = mono_class_from_mono_type (sig->params [i]);
 
                if (klass->valuetype) {
-                       arg = mono_value_box_checked (domain, klass, vpos, &error);
-                       mono_error_raise_exception (&error); /* FIXME don't raise here */
+                       arg = mono_value_box_checked (domain, klass, vpos, error);
+                       return_val_if_nok (error, NULL);
                } else 
                        arg = *((MonoObject **)vpos);
                      
@@ -7730,7 +8040,8 @@ mono_load_remote_field_checked (MonoObject *this_obj, MonoClass *klass, MonoClas
        return_val_if_nok (error, NULL);
        MonoReflectionMethod *rm = mono_method_get_object_checked (domain, getter, NULL, error);
        return_val_if_nok (error, NULL);
-       mono_message_init (domain, msg, rm, out_args);
+       mono_message_init (domain, msg, rm, out_args, error);
+       return_val_if_nok (error, NULL);
 
        full_name = mono_type_get_full_name (klass);
        mono_array_setref (msg->args, 0, mono_string_new (domain, full_name));
@@ -7857,7 +8168,8 @@ mono_load_remote_field_new_checked (MonoObject *this_obj, MonoClass *klass, Mono
 
        MonoReflectionMethod *rm = mono_method_get_object_checked (domain, getter, NULL, error);
        return_val_if_nok (error, NULL);
-       mono_message_init (domain, msg, rm, out_args);
+       mono_message_init (domain, msg, rm, out_args, error);
+       return_val_if_nok (error, NULL);
 
        full_name = mono_type_get_full_name (klass);
        mono_array_setref (msg->args, 0, mono_string_new (domain, full_name));
@@ -7961,7 +8273,8 @@ mono_store_remote_field_checked (MonoObject *this_obj, MonoClass *klass, MonoCla
        return_val_if_nok (error, FALSE);
        MonoReflectionMethod *rm = mono_method_get_object_checked (domain, setter, NULL, error);
        return_val_if_nok (error, FALSE);
-       mono_message_init (domain, msg, rm, NULL);
+       mono_message_init (domain, msg, rm, NULL, error);
+       return_val_if_nok (error, FALSE);
 
        full_name = mono_type_get_full_name (klass);
        mono_array_setref (msg->args, 0, mono_string_new (domain, full_name));
@@ -8061,7 +8374,8 @@ mono_store_remote_field_new_checked (MonoObject *this_obj, MonoClass *klass, Mon
        return_val_if_nok (error, FALSE);
        MonoReflectionMethod *rm = mono_method_get_object_checked (domain, setter, NULL, error);
        return_val_if_nok (error, FALSE);
-       mono_message_init (domain, msg, rm, NULL);
+       mono_message_init (domain, msg, rm, NULL, error);
+       return_val_if_nok (error, FALSE);
 
        full_name = mono_type_get_full_name (klass);
        mono_array_setref (msg->args, 0, mono_string_new (domain, full_name));
index bf23c26c61a1d1d0da6583be1b80e018799fedbd..0a5a7b0bc0ff9897b4bff67481917ca192369a5b 100644 (file)
@@ -120,6 +120,7 @@ MONO_RT_EXTERNAL_ONLY
 MONO_API MonoString*
 mono_string_new_size       (MonoDomain *domain, int32_t len);
 
+MONO_RT_EXTERNAL_ONLY
 MONO_API MonoString*
 mono_ldstr                 (MonoDomain *domain, MonoImage *image, uint32_t str_index);
 
@@ -144,6 +145,7 @@ MONO_RT_EXTERNAL_ONLY
 MONO_API MonoString*
 mono_string_new_utf32      (MonoDomain *domain, const mono_unichar4 *text, int32_t len);
 
+MONO_RT_EXTERNAL_ONLY
 MONO_API char *
 mono_string_to_utf8        (MonoString *string_obj);
 
@@ -173,6 +175,7 @@ mono_string_hash            (MonoString *s);
 MONO_API int
 mono_object_hash            (MonoObject* obj);
 
+MONO_RT_EXTERNAL_ONLY
 MONO_API MonoString *
 mono_object_to_string (MonoObject *obj, MonoObject **exc);
 
@@ -254,10 +257,12 @@ mono_get_delegate_begin_invoke (MonoClass *klass);
 MONO_API MonoMethod *
 mono_get_delegate_end_invoke (MonoClass *klass);
 
+MONO_RT_EXTERNAL_ONLY
 MONO_API MonoObject*
 mono_runtime_delegate_invoke (MonoObject *delegate, void **params, 
                              MonoObject **exc);
 
+MONO_RT_EXTERNAL_ONLY
 MONO_API MonoObject*
 mono_runtime_invoke_array   (MonoMethod *method, void *obj, MonoArray *params,
                             MonoObject **exc);
index d74ca084f10e586c0521ee9d848db9c1dcf42fbf..138bd98553b4a5d2434edbf760af5e32602f5fb5 100644 (file)
@@ -693,6 +693,7 @@ ves_icall_System_Diagnostics_Process_ShellExecuteEx_internal (MonoProcessStartIn
 MonoBoolean
 ves_icall_System_Diagnostics_Process_CreateProcess_internal (MonoProcessStartInfo *proc_start_info, HANDLE stdin_handle, HANDLE stdout_handle, HANDLE stderr_handle, MonoProcInfo *process_info)
 {
+       MonoError error G_GNUC_UNUSED;
        gboolean ret;
        gunichar2 *dir;
        STARTUPINFO startinfo={0};
@@ -727,7 +728,11 @@ ves_icall_System_Diagnostics_Process_CreateProcess_internal (MonoProcessStartInf
        free_shell_path = FALSE;
        if (cmd) {
                gchar *newcmd, *tmp;
-               tmp = mono_string_to_utf8 (cmd);
+               tmp = mono_string_to_utf8_checked (cmd, &error);
+               if (mono_error_set_pending_exception (&error)) {
+                       g_free (spath);
+                       return NULL;
+               }
                newcmd = g_strdup_printf ("%s %s", spath, tmp);
                cmd = mono_string_new_wrapper (newcmd);
                g_free (tmp);
index 4a651b09f18df10603a8e3e6b20011f145f75a5d..a9b46372aa63bdcd79e471571bbd63361b08624a 100644 (file)
@@ -527,11 +527,13 @@ string_heap_insert (MonoDynamicStream *sh, const char *str)
 }
 
 static guint32
-string_heap_insert_mstring (MonoDynamicStream *sh, MonoString *str)
+string_heap_insert_mstring (MonoDynamicStream *sh, MonoString *str, MonoError *error)
 {
        MONO_REQ_GC_UNSAFE_MODE;
 
-       char *name = mono_string_to_utf8 (str);
+       mono_error_init (error);
+       char *name = mono_string_to_utf8_checked (str, error);
+       return_val_if_nok (error, -1);
        guint32 idx;
        idx = string_heap_insert (sh, name);
        g_free (name);
@@ -1264,7 +1266,12 @@ method_encode_code (MonoDynamicImage *assembly, ReflectionMethodBuilder *mb, Mon
        } else {
                code = mb->code;
                if (code == NULL){
-                       char *name = mono_string_to_utf8 (mb->name);
+                       MonoError inner_error;
+                       char *name = mono_string_to_utf8_checked (mb->name, &inner_error);
+                       if (!is_ok (&inner_error)) {
+                               name = g_strdup ("");
+                               mono_error_cleanup (&inner_error);
+                       }
                        char *str = g_strdup_printf ("Method %s does not have any IL associated", name);
                        mono_error_set_argument (error, NULL, "a method does not have any IL associated");
                        g_free (str);
@@ -1662,7 +1669,8 @@ mono_image_basic_method (ReflectionMethodBuilder *mb, MonoDynamicImage *assembly
        *mb->table_idx = table->next_idx ++;
        g_hash_table_insert (assembly->method_to_table_idx, mb->mhandle, GUINT_TO_POINTER ((*mb->table_idx)));
        values = table->values + *mb->table_idx * MONO_METHOD_SIZE;
-       values [MONO_METHOD_NAME] = string_heap_insert_mstring (&assembly->sheap, mb->name);
+       values [MONO_METHOD_NAME] = string_heap_insert_mstring (&assembly->sheap, mb->name, error);
+       return_val_if_nok (error, FALSE);
        values [MONO_METHOD_FLAGS] = mb->attrs;
        values [MONO_METHOD_IMPLFLAGS] = mb->iattrs;
        values [MONO_METHOD_SIGNATURE] = method_builder_encode_signature (assembly, mb, error);
@@ -1697,7 +1705,8 @@ mono_image_basic_method (ReflectionMethodBuilder *mb, MonoDynamicImage *assembly
                                values [MONO_PARAM_FLAGS] = pb->attrs;
                                values [MONO_PARAM_SEQUENCE] = i;
                                if (pb->name != NULL) {
-                                       values [MONO_PARAM_NAME] = string_heap_insert_mstring (&assembly->sheap, pb->name);
+                                       values [MONO_PARAM_NAME] = string_heap_insert_mstring (&assembly->sheap, pb->name, error);
+                                       return_val_if_nok (error, FALSE);
                                } else {
                                        values [MONO_PARAM_NAME] = 0;
                                }
@@ -1926,11 +1935,15 @@ mono_image_get_method_info (MonoReflectionMethodBuilder *mb, MonoDynamicImage *a
                
                values [MONO_IMPLMAP_FLAGS] = (mb->native_cc << 8) | ncharset | extra_flags;
                values [MONO_IMPLMAP_MEMBER] = (mb->table_idx << 1) | 1; /* memberforwarded: method */
-               if (mb->dllentry)
-                       values [MONO_IMPLMAP_NAME] = string_heap_insert_mstring (&assembly->sheap, mb->dllentry);
-               else
-                       values [MONO_IMPLMAP_NAME] = string_heap_insert_mstring (&assembly->sheap, mb->name);
-               moduleref = string_heap_insert_mstring (&assembly->sheap, mb->dll);
+               if (mb->dllentry) {
+                       values [MONO_IMPLMAP_NAME] = string_heap_insert_mstring (&assembly->sheap, mb->dllentry, error);
+                       return_val_if_nok (error, FALSE);
+               } else {
+                       values [MONO_IMPLMAP_NAME] = string_heap_insert_mstring (&assembly->sheap, mb->name, error);
+                       return_val_if_nok (error, FALSE);
+               }
+               moduleref = string_heap_insert_mstring (&assembly->sheap, mb->dll, error);
+               return_val_if_nok (error, FALSE);
                if (!(values [MONO_IMPLMAP_SCOPE] = find_index_in_table (assembly, MONO_TABLE_MODULEREF, MONO_MODULEREF_NAME, moduleref))) {
                        table = &assembly->tables [MONO_TABLE_MODULEREF];
                        table->rows ++;
@@ -2233,7 +2246,11 @@ encode_marshal_blob (MonoDynamicImage *assembly, MonoReflectionMarshal *minfo, M
                break;
        case MONO_NATIVE_CUSTOM:
                if (minfo->guid) {
-                       str = mono_string_to_utf8 (minfo->guid);
+                       str = mono_string_to_utf8_checked (minfo->guid, error);
+                       if (!is_ok (error)) {
+                               sigbuffer_free (&buf);
+                               return 0;
+                       }
                        len = strlen (str);
                        sigbuffer_add_value (&buf, len);
                        sigbuffer_add_mem (&buf, str, len);
@@ -2252,8 +2269,13 @@ encode_marshal_blob (MonoDynamicImage *assembly, MonoReflectionMarshal *minfo, M
                                        return 0;
                                }
                                str = type_get_fully_qualified_name (marshaltype);
-                       } else
-                               str = mono_string_to_utf8 (minfo->marshaltype);
+                       } else {
+                               str = mono_string_to_utf8_checked (minfo->marshaltype, error);
+                               if (!is_ok (error)) {
+                                       sigbuffer_free (&buf);
+                                       return 0;
+                               }
+                       }
                        len = strlen (str);
                        sigbuffer_add_value (&buf, len);
                        sigbuffer_add_mem (&buf, str, len);
@@ -2263,7 +2285,11 @@ encode_marshal_blob (MonoDynamicImage *assembly, MonoReflectionMarshal *minfo, M
                        sigbuffer_add_value (&buf, 0);
                }
                if (minfo->mcookie) {
-                       str = mono_string_to_utf8 (minfo->mcookie);
+                       str = mono_string_to_utf8_checked (minfo->mcookie, error);
+                       if (!is_ok (error)) {
+                               sigbuffer_free (&buf);
+                               return 0;
+                       }
                        len = strlen (str);
                        sigbuffer_add_value (&buf, len);
                        sigbuffer_add_mem (&buf, str, len);
@@ -2297,7 +2323,8 @@ mono_image_get_field_info (MonoReflectionFieldBuilder *fb, MonoDynamicImage *ass
        fb->table_idx = table->next_idx ++;
        g_hash_table_insert (assembly->field_to_table_idx, fb->handle, GUINT_TO_POINTER (fb->table_idx));
        values = table->values + fb->table_idx * MONO_FIELD_SIZE;
-       values [MONO_FIELD_NAME] = string_heap_insert_mstring (&assembly->sheap, fb->name);
+       values [MONO_FIELD_NAME] = string_heap_insert_mstring (&assembly->sheap, fb->name, error);
+       return_if_nok (error);
        values [MONO_FIELD_FLAGS] = fb->attrs;
        values [MONO_FIELD_SIGNATURE] = field_encode_signature (assembly, fb, error);
        return_if_nok (error);
@@ -2433,7 +2460,8 @@ mono_image_get_property_info (MonoReflectionPropertyBuilder *pb, MonoDynamicImag
        table = &assembly->tables [MONO_TABLE_PROPERTY];
        pb->table_idx = table->next_idx ++;
        values = table->values + pb->table_idx * MONO_PROPERTY_SIZE;
-       values [MONO_PROPERTY_NAME] = string_heap_insert_mstring (&assembly->sheap, pb->name);
+       values [MONO_PROPERTY_NAME] = string_heap_insert_mstring (&assembly->sheap, pb->name, error);
+       return_if_nok (error);
        values [MONO_PROPERTY_FLAGS] = pb->attrs;
        values [MONO_PROPERTY_TYPE] = property_encode_signature (assembly, pb, error);
        return_if_nok (error);
@@ -2494,7 +2522,8 @@ mono_image_get_event_info (MonoReflectionEventBuilder *eb, MonoDynamicImage *ass
        table = &assembly->tables [MONO_TABLE_EVENT];
        eb->table_idx = table->next_idx ++;
        values = table->values + eb->table_idx * MONO_EVENT_SIZE;
-       values [MONO_EVENT_NAME] = string_heap_insert_mstring (&assembly->sheap, eb->name);
+       values [MONO_EVENT_NAME] = string_heap_insert_mstring (&assembly->sheap, eb->name, error);
+       return_if_nok (error);
        values [MONO_EVENT_FLAGS] = eb->attrs;
        MonoType *ebtype = mono_reflection_type_get_handle (eb->type, error);
        return_if_nok (error);
@@ -2977,7 +3006,8 @@ mono_image_get_methodref_token_for_methodbuilder (MonoDynamicImage *assembly, Mo
                parent = mono_image_typedef_or_ref (assembly, t);
        }
 
-       char *name = mono_string_to_utf8 (method->name);
+       char *name = mono_string_to_utf8_checked (method->name, error);
+       return_val_if_nok (error, 0);
 
        token = mono_image_add_memberef_row (assembly, parent, name, sig);
        g_free (name);
@@ -3127,7 +3157,8 @@ mono_image_get_ctorbuilder_token (MonoDynamicImage *assembly, MonoReflectionCtor
                parent = mono_image_typedef_or_ref (assembly, type);
        }
        
-       name = mono_string_to_utf8 (rmb.name);
+       name = mono_string_to_utf8_checked (rmb.name, error);
+       return_val_if_nok (error, 0);
        sig = method_builder_encode_signature (assembly, &rmb, error);
        return_val_if_nok (error, 0);
 
@@ -3228,7 +3259,8 @@ mono_image_get_field_on_inst_token (MonoDynamicImage *assembly, MonoReflectionFi
 
                guint32 sig_token = field_encode_signature (assembly, fb, error);
                return_val_if_nok (error, 0);
-               name = mono_string_to_utf8 (fb->name);
+               name = mono_string_to_utf8_checked (fb->name, error);
+               return_val_if_nok (error, 0);
                token = mono_image_get_memberref_token (assembly, &klass->byval_arg, name, sig_token);
                g_free (name);          
        } else if (is_sr_mono_field (mono_object_class (f->fb))) {
@@ -3284,7 +3316,8 @@ mono_image_get_ctor_on_inst_token (MonoDynamicImage *assembly, MonoReflectionCto
                sig = method_builder_encode_signature (assembly, &rmb, error);
                return_val_if_nok (error, 0);
 
-               name = mono_string_to_utf8 (rmb.name);
+               name = mono_string_to_utf8_checked (rmb.name, error);
+               return_val_if_nok (error, 0);
 
                token = mono_image_get_memberref_token (assembly, &klass->byval_arg, name, sig);
                g_free (name);
@@ -3396,7 +3429,8 @@ mono_image_get_method_on_inst_token (MonoDynamicImage *assembly, MonoReflectionM
                sig = method_builder_encode_signature (assembly, &rmb, error);
                return_val_if_nok (error, 0);
 
-               name = mono_string_to_utf8 (rmb.name);
+               name = mono_string_to_utf8_checked (rmb.name, error);
+               return_val_if_nok (error, 0);
 
                token = mono_image_get_memberref_token (assembly, &klass->byval_arg, name, sig);
                g_free (name);          
@@ -3713,7 +3747,8 @@ mono_image_get_generic_field_token (MonoDynamicImage *assembly, MonoReflectionFi
 
        table = &assembly->tables [MONO_TABLE_MEMBERREF];
 
-       name = mono_string_to_utf8 (fb->name);
+       name = mono_string_to_utf8_checked (fb->name, error);
+       return_val_if_nok (error, 0);
 
        if (assembly->save) {
                alloc_table (table, table->rows + 1);
@@ -3879,7 +3914,9 @@ mono_image_get_array_token (MonoDynamicImage *assembly, MonoReflectionArrayMetho
                        goto fail;
        }
 
-       name = mono_string_to_utf8 (m->name);
+       name = mono_string_to_utf8_checked (m->name, error);
+       if (!is_ok (error))
+               goto fail;
        for (tmp = assembly->array_methods; tmp; tmp = tmp->next) {
                am = (ArrayMethod *)tmp->data;
                if (strcmp (name, am->name) == 0 && 
@@ -3925,12 +3962,14 @@ mono_image_get_type_info (MonoDomain *domain, MonoReflectionTypeBuilder *tb, Mon
        table = &assembly->tables [MONO_TABLE_TYPEDEF];
        values = table->values + tb->table_idx * MONO_TYPEDEF_SIZE;
        values [MONO_TYPEDEF_FLAGS] = tb->attrs;
-       n = mono_string_to_utf8 (tb->name);
+       n = mono_string_to_utf8_checked (tb->name, error);
+       return_val_if_nok (error, FALSE);
        if (strcmp (n, "Object") == 0)
                is_object++;
        values [MONO_TYPEDEF_NAME] = string_heap_insert (&assembly->sheap, n);
        g_free (n);
-       n = mono_string_to_utf8 (tb->nspace);
+       n = mono_string_to_utf8_checked (tb->nspace, error);
+       return_val_if_nok (error, FALSE);
        if (strcmp (n, "System") == 0)
                is_system++;
        values [MONO_TYPEDEF_NAMESPACE] = string_heap_insert (&assembly->sheap, n);
@@ -4237,8 +4276,8 @@ module_add_cattrs (MonoDynamicImage *assembly, MonoReflectionModuleBuilder *modu
        return TRUE;
 }
 
-static void
-mono_image_fill_file_table (MonoDomain *domain, MonoReflectionModule *module, MonoDynamicImage *assembly)
+static gboolean
+mono_image_fill_file_table (MonoDomain *domain, MonoReflectionModule *module, MonoDynamicImage *assembly, MonoError *error)
 {
        MonoDynamicTable *table;
        guint32 *values;
@@ -4247,6 +4286,8 @@ mono_image_fill_file_table (MonoDomain *domain, MonoReflectionModule *module, Mo
        char *b = blob_size;
        char *dir, *path;
 
+       mono_error_init (error);
+
        table = &assembly->tables [MONO_TABLE_FILE];
        table->rows++;
        alloc_table (table, table->rows);
@@ -4255,7 +4296,8 @@ mono_image_fill_file_table (MonoDomain *domain, MonoReflectionModule *module, Mo
        values [MONO_FILE_NAME] = string_heap_insert (&assembly->sheap, module->image->module_name);
        if (image_is_dynamic (module->image)) {
                /* This depends on the fact that the main module is emitted last */
-               dir = mono_string_to_utf8 (((MonoReflectionModuleBuilder*)module)->assemblyb->dir);
+               dir = mono_string_to_utf8_checked (((MonoReflectionModuleBuilder*)module)->assemblyb->dir, error);
+               return_val_if_nok (error, FALSE);
                path = g_strdup_printf ("%s%c%s", dir, G_DIR_SEPARATOR, module->image->module_name);
        } else {
                dir = NULL;
@@ -4268,17 +4310,21 @@ mono_image_fill_file_table (MonoDomain *domain, MonoReflectionModule *module, Mo
        values [MONO_FILE_HASH_VALUE] = mono_image_add_stream_data (&assembly->blob, blob_size, b-blob_size);
        mono_image_add_stream_data (&assembly->blob, (char*)hash, 20);
        table->next_idx ++;
+       return TRUE;
 }
 
 static void
-mono_image_fill_module_table (MonoDomain *domain, MonoReflectionModuleBuilder *mb, MonoDynamicImage *assembly)
+mono_image_fill_module_table (MonoDomain *domain, MonoReflectionModuleBuilder *mb, MonoDynamicImage *assembly, MonoError *error)
 {
        MonoDynamicTable *table;
        int i;
 
+       mono_error_init (error);
+
        table = &assembly->tables [MONO_TABLE_MODULE];
        mb->table_idx = table->next_idx ++;
-       table->values [mb->table_idx * MONO_MODULE_SIZE + MONO_MODULE_NAME] = string_heap_insert_mstring (&assembly->sheap, mb->module.name);
+       table->values [mb->table_idx * MONO_MODULE_SIZE + MONO_MODULE_NAME] = string_heap_insert_mstring (&assembly->sheap, mb->module.name, error);
+       return_if_nok (error);
        i = mono_image_add_stream_data (&assembly->guid, mono_array_addr (mb->guid, char, 0), 16);
        i /= 16;
        ++i;
@@ -4937,25 +4983,29 @@ fixup_cattrs (MonoDynamicImage *assembly)
        }
 }
 
-static void
-assembly_add_resource_manifest (MonoReflectionModuleBuilder *mb, MonoDynamicImage *assembly, MonoReflectionResource *rsrc, guint32 implementation)
+static gboolean
+assembly_add_resource_manifest (MonoReflectionModuleBuilder *mb, MonoDynamicImage *assembly, MonoReflectionResource *rsrc, guint32 implementation, MonoError *error)
 {
        MonoDynamicTable *table;
        guint32 *values;
 
+       mono_error_init (error);
+
        table = &assembly->tables [MONO_TABLE_MANIFESTRESOURCE];
        table->rows++;
        alloc_table (table, table->rows);
        values = table->values + table->next_idx * MONO_MANIFEST_SIZE;
        values [MONO_MANIFEST_OFFSET] = rsrc->offset;
        values [MONO_MANIFEST_FLAGS] = rsrc->attrs;
-       values [MONO_MANIFEST_NAME] = string_heap_insert_mstring (&assembly->sheap, rsrc->name);
+       values [MONO_MANIFEST_NAME] = string_heap_insert_mstring (&assembly->sheap, rsrc->name, error);
+       return_val_if_nok (error, FALSE);
        values [MONO_MANIFEST_IMPLEMENTATION] = implementation;
        table->next_idx++;
+       return TRUE;
 }
 
-static void
-assembly_add_resource (MonoReflectionModuleBuilder *mb, MonoDynamicImage *assembly, MonoReflectionResource *rsrc)
+static gboolean
+assembly_add_resource (MonoReflectionModuleBuilder *mb, MonoDynamicImage *assembly, MonoReflectionResource *rsrc, MonoError *error)
 {
        MonoDynamicTable *table;
        guint32 *values;
@@ -4965,8 +5015,11 @@ assembly_add_resource (MonoReflectionModuleBuilder *mb, MonoDynamicImage *assemb
        char *name, *sname;
        guint32 idx, offset;
 
+       mono_error_init (error);
+
        if (rsrc->filename) {
-               name = mono_string_to_utf8 (rsrc->filename);
+               name = mono_string_to_utf8_checked (rsrc->filename, error);
+               return_val_if_nok (error, FALSE);
                sname = g_path_get_basename (name);
        
                table = &assembly->tables [MONO_TABLE_FILE];
@@ -5008,27 +5061,30 @@ assembly_add_resource (MonoReflectionModuleBuilder *mb, MonoDynamicImage *assemb
                         * the main module, but that needs to reference the FILE table
                         * which isn't emitted yet.
                         */
-                       return;
+                       return TRUE;
                else
                        idx = 0;
        }
 
-       assembly_add_resource_manifest (mb, assembly, rsrc, idx);
+       return assembly_add_resource_manifest (mb, assembly, rsrc, idx, error);
 }
 
-static void
-set_version_from_string (MonoString *version, guint32 *values)
+static gboolean
+set_version_from_string (MonoString *version, guint32 *values, MonoError *error)
 {
        gchar *ver, *p, *str;
        guint32 i;
        
+       mono_error_init (error);
+
        values [MONO_ASSEMBLY_MAJOR_VERSION] = 0;
        values [MONO_ASSEMBLY_MINOR_VERSION] = 0;
        values [MONO_ASSEMBLY_REV_NUMBER] = 0;
        values [MONO_ASSEMBLY_BUILD_NUMBER] = 0;
        if (!version)
-               return;
-       ver = str = mono_string_to_utf8 (version);
+               return TRUE;
+       ver = str = mono_string_to_utf8_checked (version, error);
+       return_val_if_nok (error, FALSE);
        for (i = 0; i < 4; ++i) {
                values [MONO_ASSEMBLY_MAJOR_VERSION + i] = strtol (ver, &p, 10);
                switch (*p) {
@@ -5043,6 +5099,7 @@ set_version_from_string (MonoString *version, guint32 *values)
                ver = p;
        }
        g_free (str);
+       return TRUE;
 }
 
 static guint32
@@ -5081,7 +5138,7 @@ load_public_key (MonoArray *pkey, MonoDynamicImage *assembly) {
        return token;
 }
 
-static void
+static gboolean
 mono_image_emit_manifest (MonoReflectionModuleBuilder *moduleb, MonoError *error)
 {
        MonoDynamicTable *table;
@@ -5103,15 +5160,18 @@ mono_image_emit_manifest (MonoReflectionModuleBuilder *moduleb, MonoError *error
        alloc_table (table, 1);
        values = table->values + MONO_ASSEMBLY_SIZE;
        values [MONO_ASSEMBLY_HASH_ALG] = assemblyb->algid? assemblyb->algid: ASSEMBLY_HASH_SHA1;
-       values [MONO_ASSEMBLY_NAME] = string_heap_insert_mstring (&assembly->sheap, assemblyb->name);
+       values [MONO_ASSEMBLY_NAME] = string_heap_insert_mstring (&assembly->sheap, assemblyb->name, error);
+       return_val_if_nok (error, FALSE);
        if (assemblyb->culture) {
-               values [MONO_ASSEMBLY_CULTURE] = string_heap_insert_mstring (&assembly->sheap, assemblyb->culture);
+               values [MONO_ASSEMBLY_CULTURE] = string_heap_insert_mstring (&assembly->sheap, assemblyb->culture, error);
+               return_val_if_nok (error, FALSE);
        } else {
                values [MONO_ASSEMBLY_CULTURE] = string_heap_insert (&assembly->sheap, "");
        }
        values [MONO_ASSEMBLY_PUBLIC_KEY] = load_public_key (assemblyb->public_key, assembly);
        values [MONO_ASSEMBLY_FLAGS] = assemblyb->flags;
-       set_version_from_string (assemblyb->version, values);
+       if (!set_version_from_string (assemblyb->version, values, error))
+               return FALSE;
 
        /* Emit FILE + EXPORTED_TYPE table */
        module_index = 0;
@@ -5120,13 +5180,14 @@ mono_image_emit_manifest (MonoReflectionModuleBuilder *moduleb, MonoError *error
                MonoReflectionModuleBuilder *file_module = 
                        mono_array_get (assemblyb->modules, MonoReflectionModuleBuilder*, i);
                if (file_module != moduleb) {
-                       mono_image_fill_file_table (domain, (MonoReflectionModule*)file_module, assembly);
+                       if (!mono_image_fill_file_table (domain, (MonoReflectionModule*)file_module, assembly, error))
+                               return FALSE;
                        module_index ++;
                        if (file_module->types) {
                                for (j = 0; j < file_module->num_types; ++j) {
                                        MonoReflectionTypeBuilder *tb = mono_array_get (file_module->types, MonoReflectionTypeBuilder*, j);
                                        mono_image_fill_export_table (domain, tb, module_index, 0, assembly, error);
-                                       return_if_nok (error);
+                                       return_val_if_nok (error, FALSE);
                                }
                        }
                }
@@ -5135,7 +5196,8 @@ mono_image_emit_manifest (MonoReflectionModuleBuilder *moduleb, MonoError *error
                for (i = 0; i < mono_array_length (assemblyb->loaded_modules); ++i) {
                        MonoReflectionModule *file_module = 
                                mono_array_get (assemblyb->loaded_modules, MonoReflectionModule*, i);
-                       mono_image_fill_file_table (domain, file_module, assembly);
+                       if (!mono_image_fill_file_table (domain, file_module, assembly, error))
+                               return FALSE;
                        module_index ++;
                        mono_image_fill_export_table_from_module (domain, file_module, module_index, assembly);
                }
@@ -5156,11 +5218,13 @@ mono_image_emit_manifest (MonoReflectionModuleBuilder *moduleb, MonoError *error
                                int len = mono_array_length (file_module->resources);
                                for (j = 0; j < len; ++j) {
                                        MonoReflectionResource* res = (MonoReflectionResource*)mono_array_addr (file_module->resources, MonoReflectionResource, j);
-                                       assembly_add_resource_manifest (file_module, assembly, res, MONO_IMPLEMENTATION_FILE | (module_index << MONO_IMPLEMENTATION_BITS));
+                                       if (!assembly_add_resource_manifest (file_module, assembly, res, MONO_IMPLEMENTATION_FILE | (module_index << MONO_IMPLEMENTATION_BITS), error))
+                                               return FALSE;
                                }
                        }
                }
-       }               
+       }
+       return TRUE;
 }
 
 #ifndef DISABLE_REFLECTION_EMIT_SAVE
@@ -5243,7 +5307,9 @@ mono_image_build_metadata (MonoReflectionModuleBuilder *moduleb, MonoError *erro
 
        table = &assembly->tables [MONO_TABLE_MODULE];
        alloc_table (table, 1);
-       mono_image_fill_module_table (domain, moduleb, assembly);
+       mono_image_fill_module_table (domain, moduleb, assembly, error);
+       if (!is_ok (error))
+               goto leave;
 
        /* Collect all types into a list sorted by their table_idx */
        mono_ptr_array_init (types, moduleb->num_types, MONO_ROOT_SOURCE_REFLECTION, "dynamic module types list");
@@ -5265,11 +5331,15 @@ mono_image_build_metadata (MonoReflectionModuleBuilder *moduleb, MonoError *erro
         */
        for (i = 0; i < mono_ptr_array_size (types); ++i) {
                MonoReflectionTypeBuilder *tb = (MonoReflectionTypeBuilder *)mono_ptr_array_get (types, i);
-               string_heap_insert_mstring (&assembly->sheap, tb->nspace);
+               string_heap_insert_mstring (&assembly->sheap, tb->nspace, error);
+               if (!is_ok (error))
+                       goto leave_types;
        }
        for (i = 0; i < mono_ptr_array_size (types); ++i) {
                MonoReflectionTypeBuilder *tb = (MonoReflectionTypeBuilder *)mono_ptr_array_get (types, i);
-               string_heap_insert_mstring (&assembly->sheap, tb->name);
+               string_heap_insert_mstring (&assembly->sheap, tb->name, error);
+               if (!is_ok (error))
+                       goto leave_types;
        }
 
        for (i = 0; i < mono_ptr_array_size (types); ++i) {
@@ -5501,7 +5571,8 @@ mono_image_create_method_token (MonoDynamicImage *assembly, MonoObject *obj, Mon
                parent = mono_metadata_token_index (parent) << MONO_MEMBERREF_PARENT_BITS;
                parent |= MONO_MEMBERREF_PARENT_METHODDEF;
 
-               char *name = mono_string_to_utf8 (rmb.name);
+               char *name = mono_string_to_utf8_checked (rmb.name, error);
+               if (!is_ok (error)) goto fail;
                token = mono_image_get_varargs_method_token (
                        assembly, parent, name, sig_token);
                g_free (name);
@@ -5602,7 +5673,7 @@ mono_image_create_token (MonoDynamicImage *assembly, MonoObject *obj,
                        return_val_if_nok (error, 0);
                        token = mono_metadata_token_from_dor (mono_image_typedef_or_ref (assembly, type));
                }
-       } else if (strcmp (klass->name, "MonoType") == 0) {
+       } else if (strcmp (klass->name, "RuntimeType") == 0) {
                MonoType *type = mono_reflection_type_get_handle ((MonoReflectionType *)obj, error);
                return_val_if_nok (error, 0);
                MonoClass *mc = mono_class_from_mono_type (type);
@@ -5950,6 +6021,7 @@ mono_dynamic_image_free_image (MonoDynamicImage *image)
 void
 mono_image_basic_init (MonoReflectionAssemblyBuilder *assemblyb)
 {
+       MonoError error;
        MonoDynamicAssembly *assembly;
        MonoDynamicImage *image;
        MonoDomain *domain = mono_object_domain (assemblyb);
@@ -5970,14 +6042,20 @@ mono_image_basic_init (MonoReflectionAssemblyBuilder *assemblyb)
        assembly->assembly.dynamic = TRUE;
        assembly->assembly.corlib_internal = assemblyb->corlib_internal;
        assemblyb->assembly.assembly = (MonoAssembly*)assembly;
-       assembly->assembly.basedir = mono_string_to_utf8 (assemblyb->dir);
-       if (assemblyb->culture)
-               assembly->assembly.aname.culture = mono_string_to_utf8 (assemblyb->culture);
-       else
+       assembly->assembly.basedir = mono_string_to_utf8_checked (assemblyb->dir, &error);
+       if (mono_error_set_pending_exception (&error))
+               return;
+       if (assemblyb->culture) {
+               assembly->assembly.aname.culture = mono_string_to_utf8_checked (assemblyb->culture, &error);
+               if (mono_error_set_pending_exception (&error))
+                       return;
+       } else
                assembly->assembly.aname.culture = g_strdup ("");
 
         if (assemblyb->version) {
-                       char *vstr = mono_string_to_utf8 (assemblyb->version);
+                       char *vstr = mono_string_to_utf8_checked (assemblyb->version, &error);
+                       if (mono_error_set_pending_exception (&error))
+                               return;
                        char **version = g_strsplit (vstr, ".", 4);
                        char **parts = version;
                        assembly->assembly.aname.major = atoi (*parts++);
@@ -5998,7 +6076,10 @@ mono_image_basic_init (MonoReflectionAssemblyBuilder *assemblyb)
        assembly->save = assemblyb->access != 1;
        assembly->domain = domain;
 
-       image = create_dynamic_mono_image (assembly, mono_string_to_utf8 (assemblyb->name), g_strdup ("RefEmit_YouForgotToDefineAModule"));
+       char *assembly_name = mono_string_to_utf8_checked (assemblyb->name, &error);
+       if (mono_error_set_pending_exception (&error))
+               return;
+       image = create_dynamic_mono_image (assembly, assembly_name, g_strdup ("RefEmit_YouForgotToDefineAModule"));
        image->initial_image = TRUE;
        assembly->assembly.aname.name = image->image.name;
        assembly->assembly.image = &image->image;
@@ -6353,14 +6434,18 @@ mono_image_create_pefile (MonoReflectionModuleBuilder *mb, HANDLE file, MonoErro
 
        if (mb->is_main && assemblyb->resources) {
                int len = mono_array_length (assemblyb->resources);
-               for (i = 0; i < len; ++i)
-                       assembly_add_resource (mb, assembly, (MonoReflectionResource*)mono_array_addr (assemblyb->resources, MonoReflectionResource, i));
+               for (i = 0; i < len; ++i) {
+                       if (!assembly_add_resource (mb, assembly, (MonoReflectionResource*)mono_array_addr (assemblyb->resources, MonoReflectionResource, i), error))
+                               return FALSE;
+               }
        }
 
        if (mb->resources) {
                int len = mono_array_length (mb->resources);
-               for (i = 0; i < len; ++i)
-                       assembly_add_resource (mb, assembly, (MonoReflectionResource*)mono_array_addr (mb->resources, MonoReflectionResource, i));
+               for (i = 0; i < len; ++i) {
+                       if (!assembly_add_resource (mb, assembly, (MonoReflectionResource*)mono_array_addr (mb->resources, MonoReflectionResource, i), error))
+                               return FALSE;
+               }
        }
 
        if (!build_compressed_metadata (assembly, error))
@@ -6691,7 +6776,8 @@ mono_image_load_module_dynamic (MonoReflectionAssemblyBuilder *ab, MonoString *f
        
        mono_error_init (error);
        
-       name = mono_string_to_utf8 (fileName);
+       name = mono_string_to_utf8_checked (fileName, error);
+       return_val_if_nok (error, NULL);
 
        image = mono_image_open (name, &status);
        if (!image) {
@@ -6879,7 +6965,8 @@ image_module_basic_init (MonoReflectionModuleBuilder *moduleb, MonoError *error)
                 * determined at assembly save time.
                 */
                /*image = (MonoDynamicImage*)ab->dynamic_assembly->assembly.image; */
-               name = mono_string_to_utf8 (ab->name);
+               name = mono_string_to_utf8_checked (ab->name, error);
+               return_val_if_nok (error, FALSE);
                fqname = mono_string_to_utf8_checked (moduleb->module.fqname, error);
                if (!is_ok (error)) {
                        g_free (name);
@@ -7269,7 +7356,7 @@ mono_type_get_object_checked (MonoDomain *domain, MonoType *type, MonoError *err
                }
        }
        /* This is stored in vtables/JITted code so it has to be pinned */
-       res = (MonoReflectionType *)mono_object_new_pinned (domain, mono_defaults.monotype_class, error);
+       res = (MonoReflectionType *)mono_object_new_pinned (domain, mono_defaults.runtimetype_class, error);
        if (!mono_error_ok (error))
                return NULL;
 
@@ -8492,7 +8579,9 @@ _mono_reflection_get_type_from_info (MonoTypeNameParse *info, MonoImage *image,
 
        type = mono_reflection_get_type_with_rootimage (rootimage, image, info, ignorecase, &type_resolve, error);
        if (type == NULL && !info->assembly.name && image != mono_defaults.corlib) {
+               /* ignore the error and try again */
                mono_error_cleanup (error);
+               mono_error_init (error);
                image = mono_defaults.corlib;
                type = mono_reflection_get_type_with_rootimage (rootimage, image, info, ignorecase, &type_resolve, error);
        }
@@ -8895,7 +8984,7 @@ mono_reflection_get_token_checked (MonoObject *obj, MonoError *error)
        } else if (strcmp (klass->name, "TypeBuilder") == 0) {
                MonoReflectionTypeBuilder *tb = (MonoReflectionTypeBuilder *)obj;
                token = tb->table_idx | MONO_TOKEN_TYPE_DEF;
-       } else if (strcmp (klass->name, "MonoType") == 0) {
+       } else if (strcmp (klass->name, "RuntimeType") == 0) {
                MonoType *type = mono_reflection_type_get_handle ((MonoReflectionType*)obj, error);
                return_val_if_nok (error, 0);
                MonoClass *mc = mono_class_from_mono_type (type);
@@ -8961,6 +9050,27 @@ mono_reflection_get_token_checked (MonoObject *obj, MonoError *error)
        return token;
 }
 
+/*
+ * Load the type with name @n on behalf of image @image.  On failure sets @error and returns NULL.
+ * The @is_enum flag only affects the error message that's displayed on failure.
+ */
+static MonoType*
+cattr_type_from_name (char *n, MonoImage *image, gboolean is_enum, MonoError *error)
+{
+       MonoError inner_error;
+       MonoType *t = mono_reflection_type_from_name_checked (n, image, &inner_error);
+       if (!t) {
+               mono_error_set_type_load_name (error, g_strdup(n), NULL,
+                                              "Could not load %s %s while decoding custom attribute: %s",
+                                              is_enum ? "enum type": "type",
+                                              n,
+                                              mono_error_get_message (&inner_error));
+               mono_error_cleanup (&inner_error);
+               return NULL;
+       }
+       return t;
+}
+
 static MonoClass*
 load_cattr_enum_type (MonoImage *image, const char *p, const char **end, MonoError *error)
 {
@@ -8972,16 +9082,9 @@ load_cattr_enum_type (MonoImage *image, const char *p, const char **end, MonoErr
 
        n = (char *)g_memdup (p, slen + 1);
        n [slen] = 0;
-       t = mono_reflection_type_from_name_checked (n, image, error);
-       if (!t) {
-               char *msg = g_strdup (mono_error_get_message (error));
-               mono_error_cleanup (error);
-               /* We don't free n, it's consumed by mono_error */
-               mono_error_set_type_load_name (error, n, NULL, "Could not load enum type %s while decoding custom attribute: %s", n, msg);
-               g_free (msg);
-               return NULL;
-       }
+       t = cattr_type_from_name (n, image, TRUE, error);
        g_free (n);
+       return_val_if_nok (error, NULL);
        p += slen;
        *end = p;
        return mono_class_from_mono_type (t);
@@ -9079,16 +9182,9 @@ handle_type:
                slen = mono_metadata_decode_value (p, &p);
                n = (char *)g_memdup (p, slen + 1);
                n [slen] = 0;
-               t = mono_reflection_type_from_name_checked (n, image, error);
-               if (!t) {
-                       char *msg = g_strdup (mono_error_get_message (error));
-                       mono_error_cleanup (error);
-                       /* We don't free n, it's consumed by mono_error */
-                       mono_error_set_type_load_name (error, n, NULL, "Could not load type %s while decoding custom attribute: %msg", n, msg);
-                       g_free (msg);
-                       return NULL;
-               }
+               t = cattr_type_from_name (n, image, FALSE, error);
                g_free (n);
+               return_val_if_nok (error, NULL);
                *end = p + slen;
 
                rt = mono_type_get_object_checked (mono_domain_get (), t, error);
@@ -9134,16 +9230,9 @@ handle_type:
                        slen = mono_metadata_decode_value (p, &p);
                        n = (char *)g_memdup (p, slen + 1);
                        n [slen] = 0;
-                       t = mono_reflection_type_from_name_checked (n, image, error);
-                       if (!t) {
-                               char *msg = g_strdup (mono_error_get_message (error));
-                               mono_error_cleanup (error);
-                               /* We don't free n, it's consumed by mono_error */
-                               mono_error_set_type_load_name (error, n, NULL, "Could not load type %s while decoding custom attribute: %s", n, msg);
-                               g_free (msg);
-                               return NULL;
-                       }
+                       t = cattr_type_from_name (n, image, FALSE, error);
                        g_free (n);
+                       return_val_if_nok (error, NULL);
                        p += slen;
                        subc = mono_class_from_mono_type (t);
                } else if (subt >= MONO_TYPE_BOOLEAN && subt <= MONO_TYPE_R8) {
@@ -10338,7 +10427,7 @@ mono_reflection_get_custom_attrs_info_checked (MonoObject *obj, MonoError *error
        mono_error_init (error);
 
        klass = obj->vtable->klass;
-       if (klass == mono_defaults.monotype_class) {
+       if (klass == mono_defaults.runtimetype_class) {
                MonoType *type = mono_reflection_type_get_handle ((MonoReflectionType *)obj, error);
                return_val_if_nok (error, NULL);
                klass = mono_class_from_mono_type (type);
@@ -10865,7 +10954,8 @@ get_prop_name_and_type (MonoObject *prop, char **name, MonoType **type, MonoErro
        MonoClass *klass = mono_object_class (prop);
        if (strcmp (klass->name, "PropertyBuilder") == 0) {
                MonoReflectionPropertyBuilder *pb = (MonoReflectionPropertyBuilder *)prop;
-               *name = mono_string_to_utf8 (pb->name);
+               *name = mono_string_to_utf8_checked (pb->name, error);
+               return_if_nok (error);
                *type = mono_reflection_type_get_handle ((MonoReflectionType*)pb->type, error);
        } else {
                MonoReflectionProperty *p = (MonoReflectionProperty *)prop;
@@ -10884,7 +10974,8 @@ get_field_name_and_type (MonoObject *field, char **name, MonoType **type, MonoEr
        MonoClass *klass = mono_object_class (field);
        if (strcmp (klass->name, "FieldBuilder") == 0) {
                MonoReflectionFieldBuilder *fb = (MonoReflectionFieldBuilder *)field;
-               *name = mono_string_to_utf8 (fb->name);
+               *name = mono_string_to_utf8_checked (fb->name, error);
+               return_if_nok (error);
                *type = mono_reflection_type_get_handle ((MonoReflectionType*)fb->type, error);
        } else {
                MonoReflectionField *f = (MonoReflectionField *)field;
@@ -11062,7 +11153,8 @@ handle_enum:
                        *p++ = 0xFF;
                        break;
                }
-               str = mono_string_to_utf8 ((MonoString*)arg);
+               str = mono_string_to_utf8_checked ((MonoString*)arg, error);
+               return_if_nok (error);
                slen = strlen (str);
                if ((p-buffer) + 10 + slen >= *buflen) {
                        char *newbuf;
@@ -11761,8 +11853,13 @@ mono_marshal_spec_from_builder (MonoImage *image, MonoAssembly *assembly,
                        res->data.custom_data.custom_name =
                                type_get_fully_qualified_name (marshaltyperef);
                }
-               if (minfo->mcookie)
-                       res->data.custom_data.cookie = mono_string_to_utf8 (minfo->mcookie);
+               if (minfo->mcookie) {
+                       res->data.custom_data.cookie = mono_string_to_utf8_checked (minfo->mcookie, error);
+                       if (!is_ok (error)) {
+                               image_g_free (image, res);
+                               return NULL;
+                       }
+               }
                break;
 
        default:
@@ -13032,7 +13129,11 @@ reflection_event_builder_get_event_info (MonoReflectionTypeBuilder *tb, MonoRefl
 
        event->parent = klass;
        event->attrs = eb->attrs;
-       event->name = mono_string_to_utf8 (eb->name);
+       event->name = mono_string_to_utf8_checked (eb->name, error);
+       if (!is_ok (error)) {
+               g_free (event);
+               return NULL;
+       }
        if (eb->add_method)
                event->add = eb->add_method->mhandle;
        if (eb->remove_method)
@@ -13846,7 +13947,7 @@ resolve_object (MonoImage *image, MonoObject *obj, MonoClass **handle_class, Mon
                return_val_if_nok (error, NULL);
                *handle_class = mono_defaults.string_class;
                g_assert (result);
-       } else if (strcmp (obj->vtable->klass->name, "MonoType") == 0) {
+       } else if (strcmp (obj->vtable->klass->name, "RuntimeType") == 0) {
                MonoType *type = mono_reflection_type_get_handle ((MonoReflectionType*)obj, error);
                return_val_if_nok (error, NULL);
                MonoClass *mc = mono_class_from_mono_type (type);
@@ -14140,7 +14241,8 @@ resolve_object (MonoImage *image, MonoObject *obj, MonoClass **handle_class, Mon
 
                /* Find the method */
 
-               name = mono_string_to_utf8 (m->name);
+               name = mono_string_to_utf8_checked (m->name, error);
+               return_val_if_nok (error, NULL);
                iter = NULL;
                while ((method = mono_class_get_methods (klass, &iter))) {
                        if (!strcmp (method->name, name))
@@ -14790,10 +14892,11 @@ mono_reflection_call_is_assignable_to (MonoClass *klass, MonoClass *oklass, Mono
        params [0] = mono_type_get_object_checked (mono_domain_get (), &oklass->byval_arg, error);
        return_val_if_nok (error, FALSE);
 
-       res = mono_runtime_try_invoke (method, (MonoObject*)(mono_class_get_ref_info (klass)), params, &exc, error);
+       MonoError inner_error;
+       res = mono_runtime_try_invoke (method, (MonoObject*)(mono_class_get_ref_info (klass)), params, &exc, &inner_error);
 
-       if (exc || !mono_error_ok (error)) {
-               mono_error_cleanup (error);
+       if (exc || !is_ok (&inner_error)) {
+               mono_error_cleanup (&inner_error);
                return FALSE;
        } else
                return *(MonoBoolean*)mono_object_unbox (res);
index 8a8b22676ed1301f5217958956ee6062337ce4e1..9bc72faa28bc344fe09de1b5338e2b56bb34ec1f 100644 (file)
@@ -193,7 +193,7 @@ mono_remoting_marshal_init (void)
                register_icall (type_from_handle, "type_from_handle", "object ptr", FALSE);
                register_icall (mono_marshal_set_domain_by_id, "mono_marshal_set_domain_by_id", "int32 int32 int32", FALSE);
                register_icall (mono_marshal_check_domain_image, "mono_marshal_check_domain_image", "int32 int32 ptr", FALSE);
-               register_icall (mono_marshal_xdomain_copy_value, "mono_marshal_xdomain_copy_value", "object object", FALSE);
+               register_icall (ves_icall_mono_marshal_xdomain_copy_value, "ves_icall_mono_marshal_xdomain_copy_value", "object object", FALSE);
                register_icall (mono_marshal_xdomain_copy_out_value, "mono_marshal_xdomain_copy_out_value", "void object object", FALSE);
                register_icall (mono_remoting_wrapper, "mono_remoting_wrapper", "object ptr ptr", FALSE);
                register_icall (mono_upgrade_remote_class_wrapper, "mono_upgrade_remote_class_wrapper", "void object object", FALSE);
@@ -210,6 +210,7 @@ mono_remoting_marshal_init (void)
        module_initialized = TRUE;
 }
 
+/* This is an icall, it will return NULL and set pending exception on failure */
 static MonoReflectionType *
 type_from_handle (MonoType *handle)
 {
@@ -221,7 +222,7 @@ type_from_handle (MonoType *handle)
        mono_class_init (klass);
 
        ret = mono_type_get_object_checked (domain, handle, &error);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       mono_error_set_pending_exception (&error);
 
        return ret;
 }
@@ -400,7 +401,9 @@ mono_remoting_wrapper (MonoMethod *method, gpointer *params)
                return res;
        }
 
-       msg = mono_method_call_message_new (method, params, NULL, NULL, NULL);
+       msg = mono_method_call_message_new (method, params, NULL, NULL, NULL, &error);
+       if (!is_ok (&error))
+               goto fail;
 
        res = mono_remoting_invoke ((MonoObject *)this_obj->rp, msg, &exc, &out_args, &error);
        if (!is_ok (&error))
@@ -423,7 +426,7 @@ fail:
         * is_running_protected_wrapper () in threads.c and
         * mono_marshal_get_remoting_invoke () in remoting.c)
         */
-       mono_error_raise_exception (&error);
+       mono_error_raise_exception (&error); /* OK to throw, see note */
        return NULL;
 } 
 
@@ -501,10 +504,13 @@ mono_marshal_get_remoting_invoke (MonoMethod *method)
 /* mono_marshal_xdomain_copy_out_value()
  * Copies the contents of the src instance into the dst instance. src and dst
  * must have the same type, and if they are arrays, the same size.
+ *
+ * This is an icall, it may use mono_error_set_pending_exception
  */
 static void
 mono_marshal_xdomain_copy_out_value (MonoObject *src, MonoObject *dst)
 {
+       MonoError error;
        if (src == NULL || dst == NULL) return;
        
        g_assert (mono_object_class (src) == mono_object_class (dst));
@@ -518,7 +524,10 @@ mono_marshal_xdomain_copy_out_value (MonoObject *src, MonoObject *dst)
                        int i, len = mono_array_length ((MonoArray *)dst);
                        for (i = 0; i < len; i++) {
                                MonoObject *item = (MonoObject *)mono_array_get ((MonoArray *)src, gpointer, i);
-                               mono_array_setref ((MonoArray *)dst, i, mono_marshal_xdomain_copy_value (item));
+                               MonoObject *item_copy = mono_marshal_xdomain_copy_value (item, &error);
+                               if (mono_error_set_pending_exception (&error))
+                                       return;
+                               mono_array_setref ((MonoArray *)dst, i, item_copy);
                        }
                } else {
                        mono_array_full_copy ((MonoArray *)src, (MonoArray *)dst);
@@ -536,7 +545,7 @@ mono_marshal_xdomain_copy_out_value (MonoObject *src, MonoObject *dst)
 static void
 mono_marshal_emit_xdomain_copy_value (MonoMethodBuilder *mb, MonoClass *pclass)
 {
-       mono_mb_emit_icall (mb, mono_marshal_xdomain_copy_value);
+       mono_mb_emit_icall (mb, ves_icall_mono_marshal_xdomain_copy_value);
        mono_mb_emit_op (mb, CEE_CASTCLASS, pclass);
 }
 
@@ -1253,7 +1262,7 @@ mono_marshal_load_remoting_wrapper (MonoRealProxy *rp, MonoMethod *method)
        else
                marshal_method = mono_marshal_get_remoting_invoke (method);
        gpointer compiled_ptr = mono_compile_method_checked (marshal_method, &error);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       mono_error_assert_ok (&error);
        return compiled_ptr;
 }
 
@@ -1958,10 +1967,12 @@ mono_marshal_get_proxy_cancast (MonoClass *klass)
 void
 mono_upgrade_remote_class_wrapper (MonoReflectionType *rtype, MonoTransparentProxy *tproxy)
 {
+       MonoError error;
        MonoClass *klass;
        MonoDomain *domain = ((MonoObject*)tproxy)->vtable->domain;
        klass = mono_class_from_mono_type (rtype->type);
-       mono_upgrade_remote_class (domain, (MonoObject*)tproxy, klass);
+       mono_upgrade_remote_class (domain, (MonoObject*)tproxy, klass, &error);
+       mono_error_set_pending_exception (&error);
 }
 
 #else /* DISABLE_REMOTING */
@@ -2015,9 +2026,9 @@ mono_get_xdomain_marshal_type (MonoType *t)
  * Makes a copy of "val" suitable for the current domain.
  */
 MonoObject *
-mono_marshal_xdomain_copy_value (MonoObject *val)
+mono_marshal_xdomain_copy_value (MonoObject *val, MonoError *error)
 {
-       MonoError error;
+       mono_error_init (error);
        MonoDomain *domain;
        if (val == NULL) return NULL;
 
@@ -2039,16 +2050,14 @@ mono_marshal_xdomain_copy_value (MonoObject *val)
        case MONO_TYPE_U8:
        case MONO_TYPE_R4:
        case MONO_TYPE_R8: {
-               MonoObject *res = mono_value_box_checked (domain, mono_object_class (val), ((char*)val) + sizeof(MonoObject), &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
+               MonoObject *res = mono_value_box_checked (domain, mono_object_class (val), ((char*)val) + sizeof(MonoObject), error);
                return res;
 
        }
        case MONO_TYPE_STRING: {
                MonoString *str = (MonoString *) val;
                MonoObject *res = NULL;
-               res = (MonoObject *) mono_string_new_utf16_checked (domain, mono_string_chars (str), mono_string_length (str), &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
+               res = (MonoObject *) mono_string_new_utf16_checked (domain, mono_string_chars (str), mono_string_length (str), error);
                return res;
        }
        case MONO_TYPE_ARRAY:
@@ -2056,14 +2065,16 @@ mono_marshal_xdomain_copy_value (MonoObject *val)
                MonoArray *acopy;
                MonoXDomainMarshalType mt = mono_get_xdomain_marshal_type (&(mono_object_class (val)->element_class->byval_arg));
                if (mt == MONO_MARSHAL_SERIALIZE) return NULL;
-               acopy = mono_array_clone_in_domain (domain, (MonoArray *) val, &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
+               acopy = mono_array_clone_in_domain (domain, (MonoArray *) val, error);
+               return_val_if_nok (error, NULL);
 
                if (mt == MONO_MARSHAL_COPY) {
                        int i, len = mono_array_length (acopy);
                        for (i = 0; i < len; i++) {
                                MonoObject *item = (MonoObject *)mono_array_get (acopy, gpointer, i);
-                               mono_array_setref (acopy, i, mono_marshal_xdomain_copy_value (item));
+                               MonoObject *item_copy = mono_marshal_xdomain_copy_value (item, error);
+                               return_val_if_nok (error, NULL);
+                               mono_array_setref (acopy, i, item_copy);
                        }
                }
                return (MonoObject *) acopy;
@@ -2074,3 +2085,15 @@ mono_marshal_xdomain_copy_value (MonoObject *val)
 
        return NULL;
 }
+
+/* mono_marshal_xdomain_copy_value
+ * Makes a copy of "val" suitable for the current domain.
+ */
+MonoObject *
+ves_icall_mono_marshal_xdomain_copy_value (MonoObject *val)
+{
+       MonoError error;
+       MonoObject *result = mono_marshal_xdomain_copy_value (val, &error);
+       mono_error_set_pending_exception (&error);
+       return result;
+}
index 1c41c797db4fa2c235cd84398bf04cdf7f45541b..078b4cef997d8ec11653d69df65bba2bd521bf1a 100644 (file)
@@ -57,6 +57,7 @@ mono_runtime_is_shutting_down (void)
 static void
 fire_process_exit_event (MonoDomain *domain, gpointer user_data)
 {
+       MonoError error;
        MonoClassField *field;
        gpointer pa [2];
        MonoObject *delegate, *exc;
@@ -70,7 +71,8 @@ fire_process_exit_event (MonoDomain *domain, gpointer user_data)
 
        pa [0] = domain;
        pa [1] = NULL;
-       mono_runtime_delegate_invoke (delegate, pa, &exc);
+       mono_runtime_delegate_try_invoke (delegate, pa, &exc, &error);
+       mono_error_cleanup (&error);
 }
 
 static void
index 3fe3ac04867adab1867989d2365fc0a644e5e930..e3143cc564f100c57a79be6b7903fd167127eaaf 100644 (file)
@@ -363,7 +363,7 @@ get_caller_no_reflection_related (MonoMethod *m, gint32 no, gint32 ilo, gboolean
 
                /* unlike most Invoke* cases InvokeMember is not inside System.Reflection[.Emit] but is SecuritySafeCritical */
                if (((*kname == 'T') && (strcmp (kname, "Type") == 0)) || 
-                       ((*kname == 'M') && (strcmp (kname, "MonoType")) == 0)) {
+                       ((*kname == 'R') && (strcmp (kname, "RuntimeType")) == 0)) {
 
                        /* if calling InvokeMember then we can't stop the stackwalk here and need to look at the caller */
                        if (strcmp (m->name, "InvokeMember") == 0)
index d117d7fc288b04332a61ef76957eb4f0bded1779..332ed1df8f69815856f3e4af7d43b2167692664b 100644 (file)
@@ -694,6 +694,11 @@ sgen_client_binary_protocol_header (long long check, int version, int ptr_size,
 {
 }
 
+static void G_GNUC_UNUSED
+sgen_client_binary_protocol_pin_stats (int objects_pinned_in_nursery, size_t bytes_pinned_in_nursery, int objects_pinned_in_major, size_t bytes_pinned_in_major)
+{
+}
+
 int sgen_thread_handshake (BOOL suspend);
 gboolean sgen_suspend_thread (SgenThreadInfo *info);
 gboolean sgen_resume_thread (SgenThreadInfo *info);
@@ -723,6 +728,17 @@ extern MonoNativeTlsKey thread_info_key;
  */
 #define EXIT_CRITICAL_REGION  do { mono_atomic_store_release (&IN_CRITICAL_REGION, 0); } while (0)
 
+#ifndef DISABLE_CRITICAL_REGION
+/*
+ * We can only use a critical region in the managed allocator if the JIT supports OP_ATOMIC_STORE_I4.
+ *
+ * TODO: Query the JIT instead of this ifdef hack.
+ */
+#if defined (TARGET_X86) || defined (TARGET_AMD64) || (defined (TARGET_ARM) && defined (HAVE_ARMV7)) || defined (TARGET_ARM64)
+#define MANAGED_ALLOCATOR_CAN_USE_CRITICAL_REGION
+#endif
+#endif
+
 #define SGEN_TV_DECLARE(name) gint64 name
 #define SGEN_TV_GETTIME(tv) tv = mono_100ns_ticks ()
 #define SGEN_TV_ELAPSED(start,end) ((gint64)(end-start))
index 644c9ba93cd893c25d3c271d18d1a82bd69cf524..339a4de7e4057eff833cd9db1a9de4b605a9ba35 100644 (file)
@@ -26,6 +26,7 @@
 #include "metadata/handle.h"
 #include "utils/mono-memory-model.h"
 #include "utils/mono-logger-internals.h"
+#include "utils/mono-threads-coop.h"
 #include "sgen/sgen-thread-pool.h"
 
 #ifdef HEAVY_STATISTICS
@@ -897,11 +898,11 @@ mono_gc_clear_domain (MonoDomain * domain)
        major_collector.iterate_objects (ITERATE_OBJECTS_SWEEP_PINNED, (IterateObjectCallbackFunc)clear_domain_free_major_pinned_object_callback, domain);
 
        if (domain == mono_get_root_domain ()) {
-               sgen_pin_stats_print_class_stats ();
+               sgen_pin_stats_report ();
                sgen_object_layout_dump (stdout);
        }
 
-       sgen_restart_world (0, NULL);
+       sgen_restart_world (0);
 
        binary_protocol_domain_unload_end (domain);
        binary_protocol_flush_buffers (FALSE);
@@ -993,13 +994,22 @@ static gboolean use_managed_allocator = TRUE;
 
 #ifdef HAVE_KW_THREAD
 
-#define EMIT_TLS_ACCESS_NEXT_ADDR(mb)  do {    \
+#define EMIT_TLS_ACCESS_VAR(_mb, _var) /* nothing to do */
+
+#define EMIT_TLS_ACCESS_IN_CRITICAL_REGION_ADDR(mb, _var) \
+       do { \
+               mono_mb_emit_byte ((mb), MONO_CUSTOM_PREFIX); \
+               mono_mb_emit_byte ((mb), CEE_MONO_TLS); \
+               mono_mb_emit_i4 ((mb), TLS_KEY_SGEN_IN_CRITICAL_REGION_ADDR); \
+       } while (0)
+
+#define EMIT_TLS_ACCESS_NEXT_ADDR(mb, _var)    do {    \
        mono_mb_emit_byte ((mb), MONO_CUSTOM_PREFIX);   \
        mono_mb_emit_byte ((mb), CEE_MONO_TLS);         \
        mono_mb_emit_i4 ((mb), TLS_KEY_SGEN_TLAB_NEXT_ADDR);            \
        } while (0)
 
-#define EMIT_TLS_ACCESS_TEMP_END(mb)   do {    \
+#define EMIT_TLS_ACCESS_TEMP_END(mb, _var)     do {    \
        mono_mb_emit_byte ((mb), MONO_CUSTOM_PREFIX);   \
        mono_mb_emit_byte ((mb), CEE_MONO_TLS);         \
        mono_mb_emit_i4 ((mb), TLS_KEY_SGEN_TLAB_TEMP_END);             \
@@ -1008,27 +1018,43 @@ static gboolean use_managed_allocator = TRUE;
 #else
 
 #if defined(TARGET_OSX) || defined(TARGET_WIN32) || defined(TARGET_ANDROID) || defined(TARGET_IOS)
-#define EMIT_TLS_ACCESS_NEXT_ADDR(mb)  do {    \
-       mono_mb_emit_byte ((mb), MONO_CUSTOM_PREFIX);   \
-       mono_mb_emit_byte ((mb), CEE_MONO_TLS);         \
-       mono_mb_emit_i4 ((mb), TLS_KEY_SGEN_THREAD_INFO);       \
+
+// Cache the SgenThreadInfo pointer in a local 'var'.
+#define EMIT_TLS_ACCESS_VAR(mb, var) \
+       do { \
+               var = mono_mb_add_local ((mb), &mono_defaults.int_class->byval_arg); \
+               mono_mb_emit_byte ((mb), MONO_CUSTOM_PREFIX); \
+               mono_mb_emit_byte ((mb), CEE_MONO_TLS); \
+               mono_mb_emit_i4 ((mb), TLS_KEY_SGEN_THREAD_INFO); \
+               mono_mb_emit_stloc ((mb), (var)); \
+       } while (0)
+
+#define EMIT_TLS_ACCESS_IN_CRITICAL_REGION_ADDR(mb, var) \
+       do { \
+               mono_mb_emit_ldloc ((mb), (var)); \
+               mono_mb_emit_icon ((mb), MONO_STRUCT_OFFSET (SgenClientThreadInfo, in_critical_region)); \
+               mono_mb_emit_byte ((mb), CEE_ADD); \
+       } while (0)
+
+#define EMIT_TLS_ACCESS_NEXT_ADDR(mb, var)     do {    \
+       mono_mb_emit_ldloc ((mb), (var));               \
        mono_mb_emit_icon ((mb), MONO_STRUCT_OFFSET (SgenThreadInfo, tlab_next_addr));  \
        mono_mb_emit_byte ((mb), CEE_ADD);              \
        mono_mb_emit_byte ((mb), CEE_LDIND_I);          \
        } while (0)
 
-#define EMIT_TLS_ACCESS_TEMP_END(mb)   do {    \
-       mono_mb_emit_byte ((mb), MONO_CUSTOM_PREFIX);   \
-       mono_mb_emit_byte ((mb), CEE_MONO_TLS);         \
-       mono_mb_emit_i4 ((mb), TLS_KEY_SGEN_THREAD_INFO);       \
+#define EMIT_TLS_ACCESS_TEMP_END(mb, var)      do {    \
+       mono_mb_emit_ldloc ((mb), (var));               \
        mono_mb_emit_icon ((mb), MONO_STRUCT_OFFSET (SgenThreadInfo, tlab_temp_end));   \
        mono_mb_emit_byte ((mb), CEE_ADD);              \
        mono_mb_emit_byte ((mb), CEE_LDIND_I);          \
        } while (0)
 
 #else
-#define EMIT_TLS_ACCESS_NEXT_ADDR(mb)  do { g_error ("sgen is not supported when using --with-tls=pthread.\n"); } while (0)
-#define EMIT_TLS_ACCESS_TEMP_END(mb)   do { g_error ("sgen is not supported when using --with-tls=pthread.\n"); } while (0)
+#define EMIT_TLS_ACCESS_VAR(mb, _var)  do { g_error ("sgen is not supported when using --with-tls=pthread.\n"); } while (0)
+#define EMIT_TLS_ACCESS_NEXT_ADDR(mb, _var)    do { g_error ("sgen is not supported when using --with-tls=pthread.\n"); } while (0)
+#define EMIT_TLS_ACCESS_TEMP_END(mb, _var)     do { g_error ("sgen is not supported when using --with-tls=pthread.\n"); } while (0)
+#define EMIT_TLS_ACCESS_IN_CRITICAL_REGION_ADDR(mb, _var)      do { g_error ("sgen is not supported when using --with-tls=pthread.\n"); } while (0)
 #endif
 
 #endif
@@ -1042,9 +1068,10 @@ static gboolean use_managed_allocator = TRUE;
  * that they are executed atomically via the restart mechanism.
  */
 static MonoMethod*
-create_allocator (int atype, gboolean slowpath)
+create_allocator (int atype, ManagedAllocatorVariant variant)
 {
-       int p_var, size_var;
+       int p_var, size_var, thread_var G_GNUC_UNUSED;
+       gboolean slowpath = variant == MANAGED_ALLOCATOR_SLOW_PATH;
        guint32 slowpath_branch, max_size_branch;
        MonoMethodBuilder *mb;
        MonoMethod *res;
@@ -1116,6 +1143,16 @@ create_allocator (int atype, gboolean slowpath)
                goto done;
        }
 
+       EMIT_TLS_ACCESS_VAR (mb, thread_var);
+
+#ifdef MANAGED_ALLOCATOR_CAN_USE_CRITICAL_REGION
+       EMIT_TLS_ACCESS_IN_CRITICAL_REGION_ADDR (mb, thread_var);
+       mono_mb_emit_byte (mb, CEE_LDC_I4_1);
+       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
+       mono_mb_emit_byte (mb, CEE_MONO_ATOMIC_STORE_I4);
+       mono_mb_emit_i4 (mb, MONO_MEMORY_BARRIER_NONE);
+#endif
+
        size_var = mono_mb_add_local (mb, &mono_defaults.int_class->byval_arg);
        if (atype == ATYPE_SMALL) {
                /* size_var = size_arg */
@@ -1265,7 +1302,7 @@ create_allocator (int atype, gboolean slowpath)
 
        /* tlab_next_addr (local) = tlab_next_addr (TLS var) */
        tlab_next_addr_var = mono_mb_add_local (mb, &mono_defaults.int_class->byval_arg);
-       EMIT_TLS_ACCESS_NEXT_ADDR (mb);
+       EMIT_TLS_ACCESS_NEXT_ADDR (mb, thread_var);
        mono_mb_emit_stloc (mb, tlab_next_addr_var);
 
        /* p = (void**)tlab_next; */
@@ -1284,7 +1321,7 @@ create_allocator (int atype, gboolean slowpath)
 
        /* if (G_LIKELY (new_next < tlab_temp_end)) */
        mono_mb_emit_ldloc (mb, new_next_var);
-       EMIT_TLS_ACCESS_TEMP_END (mb);
+       EMIT_TLS_ACCESS_TEMP_END (mb, thread_var);
        slowpath_branch = mono_mb_emit_short_branch (mb, MONO_CEE_BLT_UN_S);
 
        /* Slowpath */
@@ -1350,11 +1387,18 @@ create_allocator (int atype, gboolean slowpath)
                mono_mb_emit_byte (mb, MONO_CEE_STIND_I4);
        }
 
+#ifdef MANAGED_ALLOCATOR_CAN_USE_CRITICAL_REGION
+       EMIT_TLS_ACCESS_IN_CRITICAL_REGION_ADDR (mb, thread_var);
+       mono_mb_emit_byte (mb, CEE_LDC_I4_0);
+       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
+       mono_mb_emit_byte (mb, CEE_MONO_ATOMIC_STORE_I4);
+#else
+       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
+       mono_mb_emit_byte (mb, CEE_MONO_MEMORY_BARRIER);
+#endif
        /*
        We must make sure both vtable and max_length are globaly visible before returning to managed land.
        */
-       mono_mb_emit_byte (mb, MONO_CUSTOM_PREFIX);
-       mono_mb_emit_byte (mb, CEE_MONO_MEMORY_BARRIER);
        mono_mb_emit_i4 (mb, MONO_MEMORY_BARRIER_REL);
 
        /* return p */
@@ -1403,17 +1447,19 @@ mono_gc_get_managed_allocator (MonoClass *klass, gboolean for_box, gboolean know
                return NULL;
        if (known_instance_size && ALIGN_TO (klass->instance_size, SGEN_ALLOC_ALIGN) >= SGEN_MAX_SMALL_OBJ_SIZE)
                return NULL;
-       if (mono_class_has_finalizer (klass) || mono_class_is_marshalbyref (klass) || (mono_profiler_get_events () & MONO_PROFILE_ALLOCATIONS))
+       if (mono_class_has_finalizer (klass) || mono_class_is_marshalbyref (klass))
                return NULL;
        if (klass->rank)
                return NULL;
+       if (mono_profiler_get_events () & MONO_PROFILE_ALLOCATIONS)
+               return NULL;
        if (klass->byval_arg.type == MONO_TYPE_STRING)
-               return mono_gc_get_managed_allocator_by_type (ATYPE_STRING, FALSE);
+               return mono_gc_get_managed_allocator_by_type (ATYPE_STRING, MANAGED_ALLOCATOR_REGULAR);
        /* Generic classes have dynamic field and can go above MAX_SMALL_OBJ_SIZE. */
        if (known_instance_size)
-               return mono_gc_get_managed_allocator_by_type (ATYPE_SMALL, FALSE);
+               return mono_gc_get_managed_allocator_by_type (ATYPE_SMALL, MANAGED_ALLOCATOR_REGULAR);
        else
-               return mono_gc_get_managed_allocator_by_type (ATYPE_NORMAL, FALSE);
+               return mono_gc_get_managed_allocator_by_type (ATYPE_NORMAL, MANAGED_ALLOCATOR_REGULAR);
 #else
        return NULL;
 #endif
@@ -1433,7 +1479,7 @@ mono_gc_get_managed_array_allocator (MonoClass *klass)
                return NULL;
        g_assert (!mono_class_has_finalizer (klass) && !mono_class_is_marshalbyref (klass));
 
-       return mono_gc_get_managed_allocator_by_type (ATYPE_VECTOR, FALSE);
+       return mono_gc_get_managed_allocator_by_type (ATYPE_VECTOR, MANAGED_ALLOCATOR_REGULAR);
 #else
        return NULL;
 #endif
@@ -1446,11 +1492,11 @@ sgen_set_use_managed_allocator (gboolean flag)
 }
 
 MonoMethod*
-mono_gc_get_managed_allocator_by_type (int atype, gboolean slowpath)
+mono_gc_get_managed_allocator_by_type (int atype, ManagedAllocatorVariant variant)
 {
 #ifdef MANAGED_ALLOCATION
        MonoMethod *res;
-       MonoMethod **cache = slowpath ? slowpath_alloc_method_cache : alloc_method_cache;
+       MonoMethod **cache;
 
        if (!use_managed_allocator)
                return NULL;
@@ -1458,11 +1504,17 @@ mono_gc_get_managed_allocator_by_type (int atype, gboolean slowpath)
        if (!mono_runtime_has_tls_get ())
                return NULL;
 
+       switch (variant) {
+       case MANAGED_ALLOCATOR_REGULAR: cache = alloc_method_cache; break;
+       case MANAGED_ALLOCATOR_SLOW_PATH: cache = slowpath_alloc_method_cache; break;
+       default: g_assert_not_reached (); break;
+       }
+
        res = cache [atype];
        if (res)
                return res;
 
-       res = create_allocator (atype, slowpath);
+       res = create_allocator (atype, variant);
        LOCK_GC;
        if (cache [atype]) {
                mono_free_method (res);
@@ -2253,7 +2305,7 @@ static void
 sgen_thread_detach (SgenThreadInfo *p)
 {
        /* If a delegate is passed to native code and invoked on a thread we dont
-        * know about, the jit will register it with mono_jit_thread_attach, but
+        * know about, marshal will register it with mono_threads_attach_coop, but
         * we have no way of knowing when that thread goes away.  SGen has a TSD
         * so we assume that if the domain is still registered, we can detach
         * the thread
@@ -2717,35 +2769,6 @@ sgen_client_degraded_allocation (size_t size)
        }
 }
 
-void
-sgen_client_log_timing (GGTimingInfo *info, mword last_major_num_sections, mword last_los_memory_usage)
-{
-       SgenMajorCollector *major_collector = sgen_get_major_collector ();
-       mword num_major_sections = major_collector->get_num_major_sections ();
-       char full_timing_buff [1024];
-       full_timing_buff [0] = '\0';
-
-       if (!info->is_overflow)
-               sprintf (full_timing_buff, "total %.2fms", info->stw_time / 10000.0f);
-       if (info->generation == GENERATION_OLD)
-               mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_GC, "GC_MAJOR%s: (%s) pause %.2fms, %s los %dK/%dK",
-                       info->is_overflow ? "_OVERFLOW" : "",
-                       info->reason ? info->reason : "",
-                       (int)info->total_time / 10000.0f,
-                       full_timing_buff,
-                       los_memory_usage / 1024,
-                       last_los_memory_usage / 1024);
-       else
-               mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_GC, "GC_MINOR%s: (%s) pause %.2fms, %s promoted %dK major %dK los %dK",
-                               info->is_overflow ? "_OVERFLOW" : "",
-                       info->reason ? info->reason : "",
-                       (int)info->total_time / 10000.0f,
-                       full_timing_buff,
-                       (num_major_sections - last_major_num_sections) * major_collector->section_size / 1024,
-                       major_collector->section_size * num_major_sections / 1024,
-                       los_memory_usage / 1024);
-}
-
 /*
  * Debugging
  */
index 17f4d6e7f7d60769ee643adc29a289d444c9dd1d..ea14448ccfbfaeb7b376fbf06abd59135cf6b680 100644 (file)
@@ -240,7 +240,7 @@ sgen_client_stop_world (int generation)
 
 /* LOCKING: assumes the GC lock is held */
 void
-sgen_client_restart_world (int generation, GGTimingInfo *timing)
+sgen_client_restart_world (int generation, gint64 *stw_time)
 {
        TV_DECLARE (end_sw);
        TV_DECLARE (start_handshake);
@@ -283,9 +283,7 @@ sgen_client_restart_world (int generation, GGTimingInfo *timing)
         */
        release_gc_locks ();
 
-       if (timing) {
-               timing [0].stw_time = usec;
-       }
+       *stw_time = usec;
 }
 
 void
index eb272c241d6a56f46d0c307ab2aa1047c33005cf..ae1268c15222bb42c823274af45d475740a2dc0d 100644 (file)
@@ -2647,13 +2647,16 @@ get_addrinfo_family_hint (MonoError *error)
 MonoBoolean
 ves_icall_System_Net_Dns_GetHostByName_internal (MonoString *host, MonoString **h_name, MonoArray **h_aliases, MonoArray **h_addr_list)
 {
+       MonoError error;
        gboolean add_local_ips = FALSE, add_info_ok = TRUE;
        gchar this_hostname [256];
        MonoAddressInfo *info = NULL;
-       char *hostname = mono_string_to_utf8 (host);
-       MonoError error;
        int hint;
 
+       char *hostname = mono_string_to_utf8_checked (host, &error);
+       if (mono_error_set_pending_exception (&error))
+               return FALSE;
+
        hint = get_addrinfo_family_hint (&error);
        if (!mono_error_ok (&error)) {
                mono_error_set_pending_exception (&error);
@@ -2697,7 +2700,9 @@ ves_icall_System_Net_Dns_GetHostByAddr_internal (MonoString *addr, MonoString **
        gchar hostname [NI_MAXHOST] = { 0 };
        gboolean ret;
 
-       address = mono_string_to_utf8 (addr);
+       address = mono_string_to_utf8_checked (addr, &error);
+       if (mono_error_set_pending_exception (&error))
+               return FALSE;
 
        if (inet_pton (AF_INET, address, &saddr.sin_addr ) == 1) {
                family = AF_INET;
index 1840ac45699797f617d7c851eecee2b8fd168825..b78ca83b28551282d59395dba3d132807871f8c8 100644 (file)
@@ -273,7 +273,7 @@ wait_callback (gint fd, gint events, gpointer user_data)
                        MonoIOSelectorJob *job = get_job_for_event (&list, EVENT_IN);
                        if (job) {
                                mono_threadpool_ms_enqueue_work_item (((MonoObject*) job)->vtable->domain, (MonoObject*) job, &error);
-                               mono_error_raise_exception (&error); /* FIXME don't raise here */
+                               mono_error_assert_ok (&error);
                        }
 
                }
@@ -281,7 +281,7 @@ wait_callback (gint fd, gint events, gpointer user_data)
                        MonoIOSelectorJob *job = get_job_for_event (&list, EVENT_OUT);
                        if (job) {
                                mono_threadpool_ms_enqueue_work_item (((MonoObject*) job)->vtable->domain, (MonoObject*) job, &error);
-                               mono_error_raise_exception (&error); /* FIXME don't raise here */
+                               mono_error_assert_ok (&error);
                        }
                }
 
@@ -348,7 +348,7 @@ selector_thread (gpointer data)
 
                                exists = mono_g_hash_table_lookup_extended (states, GINT_TO_POINTER (fd), &k, (gpointer*) &list);
                                list = mono_mlist_append_checked (list, (MonoObject*) job, &error);
-                               mono_error_raise_exception (&error); /* FIXME don't raise here */
+                               mono_error_assert_ok (&error);
                                mono_g_hash_table_replace (states, GINT_TO_POINTER (fd), list);
 
                                operations = get_operations_for_jobs (list);
@@ -379,7 +379,7 @@ selector_thread (gpointer data)
 
                                        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), &error);
-                                               mono_error_raise_exception (&error); /* FIXME don't raise here */
+                                               mono_error_assert_ok (&error);
                                        }
 
                                        mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_IO_THREADPOOL, "io threadpool: del fd %3d", fd);
index 59095d9122c21a9c21f93cdf888af001f499f012..1f4a6cc605237a36e6f13c3a28acc3c229086dff 100644 (file)
@@ -708,13 +708,15 @@ worker_try_create (void)
 {
        ThreadPoolCounter counter;
        MonoInternalThread *thread;
+       gint64 current_ticks;
        gint32 now;
 
        mono_coop_mutex_lock (&threadpool->worker_creation_lock);
 
        mono_trace (G_LOG_LEVEL_DEBUG, MONO_TRACE_THREADPOOL, "[%p] try create worker", mono_native_thread_id_get ());
-
-       if ((now = mono_100ns_ticks () / 10 / 1000 / 1000) == 0) {
+       current_ticks = mono_100ns_ticks ();
+       now = current_ticks / (10 * 1000 * 1000);
+       if (0 == current_ticks) {
                g_warning ("failed to get 100ns ticks");
        } else {
                if (threadpool->worker_creation_current_second != now) {
@@ -1341,7 +1343,8 @@ mono_threadpool_ms_begin_invoke (MonoDomain *domain, MonoObject *target, MonoMet
 
        mono_error_init (error);
 
-       message = mono_method_call_message_new (method, params, mono_get_delegate_invoke (method->klass), (params != NULL) ? (&async_callback) : NULL, (params != NULL) ? (&state) : NULL);
+       message = mono_method_call_message_new (method, params, mono_get_delegate_invoke (method->klass), (params != NULL) ? (&async_callback) : NULL, (params != NULL) ? (&state) : NULL, error);
+       return_val_if_nok (error, NULL);
 
        async_call = (MonoAsyncCall*) mono_object_new_checked (domain, async_call_klass, error);
        return_val_if_nok (error, NULL);
@@ -1354,7 +1357,8 @@ mono_threadpool_ms_begin_invoke (MonoDomain *domain, MonoObject *target, MonoMet
                MONO_OBJECT_SETREF (async_call, cb_target, async_callback);
        }
 
-       async_result = mono_async_result_new (domain, NULL, async_call->state, NULL, (MonoObject*) async_call);
+       async_result = mono_async_result_new (domain, NULL, async_call->state, NULL, (MonoObject*) async_call, error);
+       return_val_if_nok (error, NULL);
        MONO_OBJECT_SETREF (async_result, async_delegate, target);
 
        mono_threadpool_ms_enqueue_work_item (domain, (MonoObject*) async_result, error);
@@ -1364,11 +1368,11 @@ mono_threadpool_ms_begin_invoke (MonoDomain *domain, MonoObject *target, MonoMet
 }
 
 MonoObject *
-mono_threadpool_ms_end_invoke (MonoAsyncResult *ares, MonoArray **out_args, MonoObject **exc)
+mono_threadpool_ms_end_invoke (MonoAsyncResult *ares, MonoArray **out_args, MonoObject **exc, MonoError *error)
 {
-       MonoError error;
        MonoAsyncCall *ac;
 
+       mono_error_init (error);
        g_assert (exc);
        g_assert (out_args);
 
@@ -1379,7 +1383,7 @@ mono_threadpool_ms_end_invoke (MonoAsyncResult *ares, MonoArray **out_args, Mono
        mono_monitor_enter ((MonoObject*) ares);
 
        if (ares->endinvoke_called) {
-               *exc = (MonoObject*) mono_get_exception_invalid_operation (NULL);
+               mono_error_set_invalid_operation(error, "Delegate EndInvoke method called more than once");
                mono_monitor_exit ((MonoObject*) ares);
                return NULL;
        }
@@ -1396,8 +1400,11 @@ mono_threadpool_ms_end_invoke (MonoAsyncResult *ares, MonoArray **out_args, Mono
                } else {
                        wait_event = CreateEvent (NULL, TRUE, FALSE, NULL);
                        g_assert(wait_event);
-                       MonoWaitHandle *wait_handle = mono_wait_handle_new (mono_object_domain (ares), wait_event, &error);
-                       mono_error_raise_exception (&error); /* FIXME don't raise here */
+                       MonoWaitHandle *wait_handle = mono_wait_handle_new (mono_object_domain (ares), wait_event, error);
+                       if (!is_ok (error)) {
+                               CloseHandle (wait_event);
+                               return NULL;
+                       }
                        MONO_OBJECT_SETREF (ares, handle, (MonoObject*) wait_handle);
                }
                mono_monitor_exit ((MonoObject*) ares);
index 9812ee57ba2a989617ac1b96f54997a3cc3c0b58..1603e3a15d998d18b152aa88eb104ec6e4ee1e03 100644 (file)
@@ -17,7 +17,7 @@ mono_threadpool_ms_cleanup (void);
 MonoAsyncResult *
 mono_threadpool_ms_begin_invoke (MonoDomain *domain, MonoObject *target, MonoMethod *method, gpointer *params, MonoError *error);
 MonoObject *
-mono_threadpool_ms_end_invoke (MonoAsyncResult *ares, MonoArray **out_args, MonoObject **exc);
+mono_threadpool_ms_end_invoke (MonoAsyncResult *ares, MonoArray **out_args, MonoObject **exc, MonoError *error);
 
 gboolean
 mono_threadpool_ms_remove_domain_jobs (MonoDomain *domain, int timeout);
index 9cc43855c299a0f3142330d6a7e264a171f84be8..8ecabdb0e0becc4aa7c2748ce5ea3ab85240d6d2 100644 (file)
@@ -87,8 +87,8 @@ void ves_icall_System_Threading_Thread_SetCachedCurrentUICulture (MonoThread *th
 HANDLE ves_icall_System_Threading_Mutex_CreateMutex_internal(MonoBoolean owned, MonoString *name, MonoBoolean *created);
 MonoBoolean ves_icall_System_Threading_Mutex_ReleaseMutex_internal (HANDLE handle );
 HANDLE ves_icall_System_Threading_Mutex_OpenMutex_internal (MonoString *name, gint32 rights, gint32 *error);
-HANDLE ves_icall_System_Threading_Semaphore_CreateSemaphore_internal (gint32 initialCount, gint32 maximumCount, MonoString *name, MonoBoolean *created);
-gint32 ves_icall_System_Threading_Semaphore_ReleaseSemaphore_internal (HANDLE handle, gint32 releaseCount, MonoBoolean *fail);
+HANDLE ves_icall_System_Threading_Semaphore_CreateSemaphore_internal (gint32 initialCount, gint32 maximumCount, MonoString *name, gint32 *error);
+MonoBoolean ves_icall_System_Threading_Semaphore_ReleaseSemaphore_internal (HANDLE handle, gint32 releaseCount, gint32 *prevcount);
 HANDLE ves_icall_System_Threading_Semaphore_OpenSemaphore_internal (MonoString *name, gint32 rights, gint32 *error);
 HANDLE ves_icall_System_Threading_Events_CreateEvent_internal (MonoBoolean manual, MonoBoolean initial, MonoString *name, MonoBoolean *created);
 gboolean ves_icall_System_Threading_Events_SetEvent_internal (HANDLE handle);
@@ -193,6 +193,7 @@ MonoInternalThread *mono_thread_internal_current (void);
 void mono_thread_internal_check_for_interruption_critical (MonoInternalThread *thread);
 
 void mono_thread_internal_stop (MonoInternalThread *thread);
+void mono_thread_internal_abort (MonoInternalThread *thread);
 
 gboolean mono_thread_internal_has_appdomain_ref (MonoInternalThread *thread, MonoDomain *domain);
 
@@ -201,7 +202,7 @@ void mono_thread_internal_reset_abort (MonoInternalThread *thread);
 void mono_thread_internal_unhandled_exception (MonoObject* exc);
 
 void mono_alloc_special_static_data_free (GHashTable *special_static_fields);
-void mono_thread_current_check_pending_interrupt (void);
+gboolean mono_thread_current_check_pending_interrupt (void);
 
 void mono_thread_set_state (MonoInternalThread *thread, MonoThreadState state);
 void mono_thread_clr_state (MonoInternalThread *thread, MonoThreadState state);
@@ -247,7 +248,7 @@ gboolean
 mono_thread_create_checked (MonoDomain *domain, gpointer func, gpointer arg, MonoError *error);
 
 MonoThread *
-mono_thread_attach_full (MonoDomain *domain, gboolean force_attach, MonoError *error);
+mono_thread_attach_full (MonoDomain *domain, gboolean force_attach);
 
 void mono_thread_init_tls (void);
 
@@ -260,4 +261,10 @@ void mono_thread_detach_internal (MonoInternalThread *thread);
 
 void ves_icall_System_Threading_Thread_GetStackTraces (MonoArray **out_threads, MonoArray **out_stack_traces);
 
+MONO_API gpointer
+mono_threads_attach_coop (MonoDomain *domain, gpointer *dummy);
+
+MONO_API void
+mono_threads_detach_coop (gpointer cookie, gpointer *dummy);
+
 #endif /* _MONO_METADATA_THREADS_TYPES_H_ */
index 253e9c32c3f4938dc73ab6b1caf66fca406b2d53..4aa7c5d6435bc5e36a83a75ebd006f8190352856 100644 (file)
 #include <mono/utils/mono-membar.h>
 #include <mono/utils/mono-time.h>
 #include <mono/utils/mono-threads.h>
+#include <mono/utils/mono-threads-coop.h>
 #include <mono/utils/hazard-pointer.h>
 #include <mono/utils/mono-tls.h>
 #include <mono/utils/atomic.h>
 #include <mono/utils/mono-memory-model.h>
+#include <mono/utils/mono-threads-coop.h>
+#include <mono/utils/mono-error-internals.h>
 
 #include <mono/metadata/gc-internals.h>
 #include <mono/metadata/reflection-internals.h>
@@ -79,15 +82,6 @@ extern int tkill (pid_t tid, int signal);
 #define LOCK_THREAD(thread) lock_thread((thread))
 #define UNLOCK_THREAD(thread) unlock_thread((thread))
 
-/* Provide this for systems with glib < 2.6 */
-#ifndef G_GSIZE_FORMAT
-#   if GLIB_SIZEOF_LONG == 8
-#       define G_GSIZE_FORMAT "lu"
-#   else
-#       define G_GSIZE_FORMAT "u"
-#   endif
-#endif
-
 typedef struct
 {
        guint32 (*func)(void *);
@@ -204,7 +198,7 @@ static void mono_init_static_data_info (StaticDataInfo *static_data);
 static guint32 mono_alloc_static_data_slot (StaticDataInfo *static_data, guint32 size, guint32 align);
 static gboolean mono_thread_resume (MonoInternalThread* thread);
 static void async_abort_internal (MonoInternalThread *thread, gboolean install_async_abort);
-static void self_abort_internal (void);
+static void self_abort_internal (MonoError *error);
 static void async_suspend_internal (MonoInternalThread *thread, gboolean interrupt);
 static void self_suspend_internal (void);
 
@@ -257,8 +251,14 @@ mono_thread_get_tls_key (void)
 gint32
 mono_thread_get_tls_offset (void)
 {
-       int offset;
+       int offset = -1;
+
+#ifdef HOST_WIN32
+       if (current_object_key)
+               offset = current_object_key;
+#else
        MONO_THREAD_VAR_OFFSET (tls_current_object,offset);
+#endif
        return offset;
 }
 
@@ -575,21 +575,22 @@ set_current_thread_for_domain (MonoDomain *domain, MonoInternalThread *thread, M
 }
 
 static MonoThread*
-create_thread_object (MonoDomain *domain, MonoError *error)
+create_thread_object (MonoDomain *domain)
 {
+       MonoError error;
        MonoVTable *vt = mono_class_vtable (domain, mono_defaults.thread_class);
-       MonoThread *t = (MonoThread*)mono_object_new_mature (vt, error);
+       MonoThread *t = (MonoThread*)mono_object_new_mature (vt, &error);
+       /* only possible failure mode is OOM, from which we don't expect to recover. */
+       mono_error_assert_ok (&error);
        return t;
 }
 
 static MonoThread*
-new_thread_with_internal (MonoDomain *domain, MonoInternalThread *internal, MonoError *error)
+new_thread_with_internal (MonoDomain *domain, MonoInternalThread *internal)
 {
        MonoThread *thread;
 
-       thread = create_thread_object (domain, error);
-       if (!mono_error_ok (error))
-               return NULL;
+       thread = create_thread_object (domain);
 
        MONO_OBJECT_SETREF (thread, internal_thread, internal);
 
@@ -597,15 +598,16 @@ new_thread_with_internal (MonoDomain *domain, MonoInternalThread *internal, Mono
 }
 
 static MonoInternalThread*
-create_internal_thread (MonoError *error)
+create_internal_thread (void)
 {
+       MonoError error;
        MonoInternalThread *thread;
        MonoVTable *vt;
 
        vt = mono_class_vtable (mono_get_root_domain (), mono_defaults.internal_thread_class);
-       thread = (MonoInternalThread*) mono_object_new_mature (vt, error);
-       if (!mono_error_ok (error))
-               return NULL;
+       thread = (MonoInternalThread*) mono_object_new_mature (vt, &error);
+       /* only possible failure mode is OOM, from which we don't exect to recover */
+       mono_error_assert_ok (&error);
 
        thread->synch_cs = g_new0 (MonoCoopMutex, 1);
        mono_coop_mutex_init_recursive (thread->synch_cs);
@@ -621,14 +623,12 @@ create_internal_thread (MonoError *error)
 }
 
 static gboolean
-init_root_domain_thread (MonoInternalThread *thread, MonoThread *candidate, MonoError *error)
+init_root_domain_thread (MonoInternalThread *thread, MonoThread *candidate)
 {
        MonoDomain *domain = mono_get_root_domain ();
 
-       mono_error_init (error);
        if (!candidate || candidate->obj.vtable->domain != domain) {
-               candidate = new_thread_with_internal (domain, thread, error);
-               return_val_if_nok (error, FALSE);
+               candidate = new_thread_with_internal (domain, thread);
        }
        set_current_thread_for_domain (domain, thread, candidate);
        g_assert (!thread->root_domain_thread);
@@ -687,8 +687,7 @@ static guint32 WINAPI start_wrapper_internal(void *data)
        /* We have to do this here because mono_thread_new_init()
           requires that root_domain_thread is set up. */
        thread_adjust_static_data (internal);
-       init_root_domain_thread (internal, start_info->obj, &error);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       init_root_domain_thread (internal, start_info->obj);
 
        /* This MUST be called before any managed code can be
         * executed, as it calls the callback function that (for the
@@ -744,7 +743,8 @@ static guint32 WINAPI start_wrapper_internal(void *data)
                g_assert (start_delegate != NULL);
                args [0] = start_arg;
                /* we may want to handle the exception here. See comment below on unhandled exceptions */
-               mono_runtime_delegate_invoke (start_delegate, args, NULL);
+               mono_runtime_delegate_invoke_checked (start_delegate, args, &error);
+               mono_error_raise_exception (&error); /* FIXME don't raise here */
        }
 
        /* If the thread calls ExitThread at all, this remaining code
@@ -927,11 +927,9 @@ mono_thread_create_internal (MonoDomain *domain, gpointer func, gpointer arg, gb
 
        mono_error_init (error);
 
-       thread = create_thread_object (domain, error);
-       return_val_if_nok (error, NULL);
+       thread = create_thread_object (domain);
 
-       internal = create_internal_thread (error);
-       return_val_if_nok (error, NULL);
+       internal = create_internal_thread ();
 
        MONO_OBJECT_SETREF (thread, internal_thread, internal);
 
@@ -969,15 +967,13 @@ mono_thread_create_checked (MonoDomain *domain, gpointer func, gpointer arg, Mon
 MonoThread *
 mono_thread_attach (MonoDomain *domain)
 {
-       MonoError error;
-       MonoThread *thread = mono_thread_attach_full (domain, FALSE, &error);
-       mono_error_raise_exception (&error);
+       MonoThread *thread = mono_thread_attach_full (domain, FALSE);
 
        return thread;
 }
 
 MonoThread *
-mono_thread_attach_full (MonoDomain *domain, gboolean force_attach, MonoError *error)
+mono_thread_attach_full (MonoDomain *domain, gboolean force_attach)
 {
        MonoThreadInfo *info;
        MonoInternalThread *thread;
@@ -985,8 +981,6 @@ mono_thread_attach_full (MonoDomain *domain, gboolean force_attach, MonoError *e
        HANDLE thread_handle;
        MonoNativeThreadId tid;
 
-       mono_error_init (error);
-
        if ((thread = mono_thread_internal_current ())) {
                if (domain != mono_domain_get ())
                        mono_domain_set (domain, TRUE);
@@ -998,9 +992,7 @@ mono_thread_attach_full (MonoDomain *domain, gboolean force_attach, MonoError *e
                g_error ("Thread %"G_GSIZE_FORMAT" calling into managed code is not registered with the GC. On UNIX, this can be fixed by #include-ing <gc.h> before <pthread.h> in the file containing the thread creation code.", mono_native_thread_id_get ());
        }
 
-       thread = create_internal_thread (error);
-       if (!mono_error_ok (error))
-               return NULL;
+       thread = create_internal_thread ();
 
        thread_handle = mono_thread_info_open_handle ();
        g_assert (thread_handle);
@@ -1018,9 +1010,7 @@ mono_thread_attach_full (MonoDomain *domain, gboolean force_attach, MonoError *e
        thread->thread_info = info;
        thread->small_id = info->small_id;
 
-       current_thread = new_thread_with_internal (domain, thread, error);
-       if (!mono_error_ok (error))
-               return NULL;
+       current_thread = new_thread_with_internal (domain, thread);
 
        if (!handle_store (current_thread, force_attach)) {
                /* Mono is shutting down, so just wait for the end */
@@ -1035,8 +1025,7 @@ mono_thread_attach_full (MonoDomain *domain, gboolean force_attach, MonoError *e
 
        thread_adjust_static_data (thread);
 
-       init_root_domain_thread (thread, current_thread, error);
-       return_val_if_nok (error, NULL);
+       init_root_domain_thread (thread, current_thread);
 
        if (domain != mono_get_root_domain ())
                set_current_thread_for_domain (domain, thread, current_thread);
@@ -1094,7 +1083,7 @@ mono_thread_detach (MonoThread *thread)
  * This should be used at the end of embedding code which calls into managed code, and which
  * can be called from pthread dtors, like dealloc: implementations in objective-c.
  */
-void
+mono_bool
 mono_thread_detach_if_exiting (void)
 {
        if (mono_thread_info_is_exiting ()) {
@@ -1104,8 +1093,10 @@ mono_thread_detach_if_exiting (void)
                if (thread) {
                        mono_thread_detach_internal (thread);
                        mono_thread_info_detach ();
+                       return TRUE;
                }
        }
+       return FALSE;
 }
 
 void
@@ -1128,11 +1119,9 @@ mono_thread_exit ()
 void
 ves_icall_System_Threading_Thread_ConstructInternalThread (MonoThread *this_obj)
 {
-       MonoError error;
        MonoInternalThread *internal;
 
-       internal = create_internal_thread (&error);
-       mono_error_raise_exception (&error);
+       internal = create_internal_thread ();
 
        internal->state = ThreadState_Unstarted;
 
@@ -1227,7 +1216,8 @@ ves_icall_System_Threading_Thread_Sleep_internal(gint32 ms)
 
        THREAD_DEBUG (g_message ("%s: Sleeping for %d ms", __func__, ms));
 
-       mono_thread_current_check_pending_interrupt ();
+       if (mono_thread_current_check_pending_interrupt ())
+               return;
 
        while (TRUE) {
                gboolean alerted = FALSE;
@@ -1361,7 +1351,8 @@ ves_icall_System_Threading_Thread_GetName_internal (MonoInternalThread *this_obj
        
        UNLOCK_THREAD (this_obj);
 
-       mono_error_raise_exception (&error);
+       if (mono_error_set_pending_exception (&error))
+               return NULL;
        
        return str;
 }
@@ -1398,7 +1389,8 @@ mono_thread_set_name_internal (MonoInternalThread *this_obj, MonoString *name, g
        UNLOCK_THREAD (this_obj);
 
        if (this_obj->name && this_obj->tid) {
-               char *tname = mono_string_to_utf8 (name);
+               char *tname = mono_string_to_utf8_checked (name, error);
+               return_if_nok (error);
                mono_profiler_thread_name (this_obj->tid, tname);
                mono_native_thread_set_name (thread_get_tid (this_obj), tname);
                mono_free (tname);
@@ -1489,7 +1481,6 @@ ves_icall_System_Threading_Thread_ByteArrayToCurrentDomain (MonoArray *arr)
 MonoThread *
 mono_thread_current (void)
 {
-       MonoError error;
        MonoDomain *domain = mono_domain_get ();
        MonoInternalThread *internal = mono_thread_internal_current ();
        MonoThread **current_thread_ptr;
@@ -1499,8 +1490,7 @@ mono_thread_current (void)
 
        if (!*current_thread_ptr) {
                g_assert (domain != mono_get_root_domain ());
-               *current_thread_ptr = new_thread_with_internal (domain, internal, &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
+               *current_thread_ptr = new_thread_with_internal (domain, internal);
        }
        return *current_thread_ptr;
 }
@@ -1509,7 +1499,6 @@ mono_thread_current (void)
 static MonoThread *
 mono_thread_current_for_thread (MonoInternalThread *internal)
 {
-       MonoError error;
        MonoDomain *domain = mono_domain_get ();
        MonoThread **current_thread_ptr;
 
@@ -1518,8 +1507,7 @@ mono_thread_current_for_thread (MonoInternalThread *internal)
 
        if (!*current_thread_ptr) {
                g_assert (domain != mono_get_root_domain ());
-               *current_thread_ptr = new_thread_with_internal (domain, internal, &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
+               *current_thread_ptr = new_thread_with_internal (domain, internal);
        }
        return *current_thread_ptr;
 }
@@ -1540,7 +1528,8 @@ ves_icall_System_Threading_Thread_Join_internal(MonoThread *this_obj, int ms)
        MonoInternalThread *cur_thread = mono_thread_internal_current ();
        gboolean ret;
 
-       mono_thread_current_check_pending_interrupt ();
+       if (mono_thread_current_check_pending_interrupt ())
+               return FALSE;
 
        LOCK_THREAD (thread);
        
@@ -1577,8 +1566,17 @@ ves_icall_System_Threading_Thread_Join_internal(MonoThread *this_obj, int ms)
        return(FALSE);
 }
 
+#define MANAGED_WAIT_FAILED 0x7fffffff
+
+static gint32
+map_native_wait_result_to_managed (gint32 val)
+{
+       /* WAIT_FAILED in waithandle.cs is different from WAIT_FAILED in Win32 API */
+       return val == WAIT_FAILED ? MANAGED_WAIT_FAILED : val;
+}
+
 static gint32
-mono_wait_uninterrupted (MonoInternalThread *thread, gboolean multiple, guint32 numhandles, gpointer *handles, gboolean waitall, gint32 ms, gboolean alertable)
+mono_wait_uninterrupted (MonoInternalThread *thread, guint32 numhandles, gpointer *handles, gboolean waitall, gint32 ms, MonoError *error)
 {
        MonoException *exc;
        guint32 ret;
@@ -1586,21 +1584,25 @@ mono_wait_uninterrupted (MonoInternalThread *thread, gboolean multiple, guint32
        gint32 diff_ms;
        gint32 wait = ms;
 
+       mono_error_init (error);
+
        start = (ms == -1) ? 0 : mono_100ns_ticks ();
        do {
                MONO_ENTER_GC_SAFE;
-                       if (multiple)
-                       ret = WaitForMultipleObjectsEx (numhandles, handles, waitall, wait, alertable);
+               if (numhandles != 1)
+                       ret = WaitForMultipleObjectsEx (numhandles, handles, waitall, wait, TRUE);
                else
-                       ret = WaitForSingleObjectEx (handles [0], ms, alertable);
+                       ret = WaitForSingleObjectEx (handles [0], ms, TRUE);
                MONO_EXIT_GC_SAFE;
 
                if (ret != WAIT_IO_COMPLETION)
                        break;
 
                exc = mono_thread_execute_interruption ();
-               if (exc)
-                       mono_raise_exception (exc);
+               if (exc) {
+                       mono_error_set_exception_instance (error, exc);
+                       break;
+               }
 
                if (ms == -1)
                        continue;
@@ -1619,6 +1621,7 @@ mono_wait_uninterrupted (MonoInternalThread *thread, gboolean multiple, guint32
 
 gint32 ves_icall_System_Threading_WaitHandle_WaitAll_internal(MonoArray *mono_handles, gint32 ms)
 {
+       MonoError error;
        HANDLE *handles;
        guint32 numhandles;
        guint32 ret;
@@ -1627,7 +1630,8 @@ gint32 ves_icall_System_Threading_WaitHandle_WaitAll_internal(MonoArray *mono_ha
        MonoInternalThread *thread = mono_thread_internal_current ();
 
        /* Do this WaitSleepJoin check before creating objects */
-       mono_thread_current_check_pending_interrupt ();
+       if (mono_thread_current_check_pending_interrupt ())
+               return map_native_wait_result_to_managed (WAIT_FAILED);
 
        /* We fail in managed if the array has more than 64 elements */
        numhandles = (guint32)mono_array_length(mono_handles);
@@ -1643,19 +1647,22 @@ gint32 ves_icall_System_Threading_WaitHandle_WaitAll_internal(MonoArray *mono_ha
        }
 
        mono_thread_set_state (thread, ThreadState_WaitSleepJoin);
-       
-       ret = mono_wait_uninterrupted (thread, TRUE, numhandles, handles, TRUE, ms, TRUE);
+
+       ret = mono_wait_uninterrupted (thread, numhandles, handles, TRUE, ms, &error);
 
        mono_thread_clr_state (thread, ThreadState_WaitSleepJoin);
 
        g_free(handles);
 
+       mono_error_set_pending_exception (&error);
+
        /* WAIT_FAILED in waithandle.cs is different from WAIT_FAILED in Win32 API */
-       return ret == WAIT_FAILED ? 0x7fffffff : ret;
+       return map_native_wait_result_to_managed (ret);
 }
 
 gint32 ves_icall_System_Threading_WaitHandle_WaitAny_internal(MonoArray *mono_handles, gint32 ms)
 {
+       MonoError error;
        HANDLE handles [MAXIMUM_WAIT_OBJECTS];
        uintptr_t numhandles;
        guint32 ret;
@@ -1664,11 +1671,12 @@ gint32 ves_icall_System_Threading_WaitHandle_WaitAny_internal(MonoArray *mono_ha
        MonoInternalThread *thread = mono_thread_internal_current ();
 
        /* Do this WaitSleepJoin check before creating objects */
-       mono_thread_current_check_pending_interrupt ();
+       if (mono_thread_current_check_pending_interrupt ())
+               return map_native_wait_result_to_managed (WAIT_FAILED);
 
        numhandles = mono_array_length(mono_handles);
        if (numhandles > MAXIMUM_WAIT_OBJECTS)
-               return WAIT_FAILED;
+               return map_native_wait_result_to_managed (WAIT_FAILED);
 
        for(i = 0; i < numhandles; i++) {       
                waitHandle = mono_array_get(mono_handles, MonoObject*, i);
@@ -1681,29 +1689,31 @@ gint32 ves_icall_System_Threading_WaitHandle_WaitAny_internal(MonoArray *mono_ha
 
        mono_thread_set_state (thread, ThreadState_WaitSleepJoin);
 
-       ret = mono_wait_uninterrupted (thread, TRUE, numhandles, handles, FALSE, ms, TRUE);
+       ret = mono_wait_uninterrupted (thread, numhandles, handles, FALSE, ms, &error);
 
        mono_thread_clr_state (thread, ThreadState_WaitSleepJoin);
 
        THREAD_WAIT_DEBUG (g_message ("%s: (%"G_GSIZE_FORMAT") returning %d", __func__, mono_native_thread_id_get (), ret));
 
+       mono_error_set_pending_exception (&error);
        /*
         * These need to be here.  See MSDN dos on WaitForMultipleObjects.
         */
        if (ret >= WAIT_OBJECT_0 && ret <= WAIT_OBJECT_0 + numhandles - 1) {
-               return ret - WAIT_OBJECT_0;
+               return map_native_wait_result_to_managed (ret - WAIT_OBJECT_0);
        }
        else if (ret >= WAIT_ABANDONED_0 && ret <= WAIT_ABANDONED_0 + numhandles - 1) {
-               return ret - WAIT_ABANDONED_0;
+               return map_native_wait_result_to_managed (ret - WAIT_ABANDONED_0);
        }
        else {
                /* WAIT_FAILED in waithandle.cs is different from WAIT_FAILED in Win32 API */
-               return ret == WAIT_FAILED ? 0x7fffffff : ret;
+               return map_native_wait_result_to_managed (ret);
        }
 }
 
 gint32 ves_icall_System_Threading_WaitHandle_WaitOne_internal(HANDLE handle, gint32 ms)
 {
+       MonoError error;
        guint32 ret;
        MonoInternalThread *thread = mono_thread_internal_current ();
 
@@ -1713,16 +1723,17 @@ gint32 ves_icall_System_Threading_WaitHandle_WaitOne_internal(HANDLE handle, gin
                ms=INFINITE;
        }
        
-       mono_thread_current_check_pending_interrupt ();
+       if (mono_thread_current_check_pending_interrupt ())
+               return map_native_wait_result_to_managed (WAIT_FAILED);
 
        mono_thread_set_state (thread, ThreadState_WaitSleepJoin);
        
-       ret = mono_wait_uninterrupted (thread, FALSE, 1, &handle, FALSE, ms, TRUE);
+       ret = mono_wait_uninterrupted (thread, 1, &handle, FALSE, ms, &error);
        
        mono_thread_clr_state (thread, ThreadState_WaitSleepJoin);
-       
-       /* WAIT_FAILED in waithandle.cs is different from WAIT_FAILED in Win32 API */
-       return ret == WAIT_FAILED ? 0x7fffffff : ret;
+
+       mono_error_set_pending_exception (&error);
+       return map_native_wait_result_to_managed (ret);
 }
 
 gint32
@@ -1734,7 +1745,8 @@ ves_icall_System_Threading_WaitHandle_SignalAndWait_Internal (HANDLE toSignal, H
        if (ms == -1)
                ms = INFINITE;
 
-       mono_thread_current_check_pending_interrupt ();
+       if (mono_thread_current_check_pending_interrupt ())
+               return map_native_wait_result_to_managed (WAIT_FAILED);
 
        mono_thread_set_state (thread, ThreadState_WaitSleepJoin);
        
@@ -1744,8 +1756,7 @@ ves_icall_System_Threading_WaitHandle_SignalAndWait_Internal (HANDLE toSignal, H
        
        mono_thread_clr_state (thread, ThreadState_WaitSleepJoin);
 
-       /* WAIT_FAILED in waithandle.cs is different from WAIT_FAILED in Win32 API */
-       return ret == WAIT_FAILED ? 0x7fffffff : ret;
+       return map_native_wait_result_to_managed (ret);
 }
 
 HANDLE ves_icall_System_Threading_Mutex_CreateMutex_internal (MonoBoolean owned, MonoString *name, MonoBoolean *created)
@@ -1788,47 +1799,34 @@ HANDLE ves_icall_System_Threading_Mutex_OpenMutex_internal (MonoString *name,
 }
 
 
-HANDLE ves_icall_System_Threading_Semaphore_CreateSemaphore_internal (gint32 initialCount, gint32 maximumCount, MonoString *name, MonoBoolean *created)
+HANDLE ves_icall_System_Threading_Semaphore_CreateSemaphore_internal (gint32 initialCount, gint32 maximumCount, MonoString *name, gint32 *error)
 { 
        HANDLE sem;
        
-       *created = TRUE;
-       
        if (name == NULL) {
                sem = CreateSemaphore (NULL, initialCount, maximumCount, NULL);
        } else {
                sem = CreateSemaphore (NULL, initialCount, maximumCount,
                                       mono_string_chars (name));
-               
-               if (GetLastError () == ERROR_ALREADY_EXISTS) {
-                       *created = FALSE;
-               }
        }
 
+       *error = GetLastError ();
        return(sem);
 }                                                                   
 
-gint32 ves_icall_System_Threading_Semaphore_ReleaseSemaphore_internal (HANDLE handle, gint32 releaseCount, MonoBoolean *fail)
+MonoBoolean ves_icall_System_Threading_Semaphore_ReleaseSemaphore_internal (HANDLE handle, gint32 releaseCount, gint32 *prevcount)
 { 
-       gint32 prevcount;
-       
-       *fail = !ReleaseSemaphore (handle, releaseCount, &prevcount);
-
-       return (prevcount);
+       return ReleaseSemaphore (handle, releaseCount, prevcount);
 }
 
 HANDLE ves_icall_System_Threading_Semaphore_OpenSemaphore_internal (MonoString *name, gint32 rights, gint32 *error)
 {
-       HANDLE ret;
-       
-       *error = ERROR_SUCCESS;
-       
-       ret = OpenSemaphore (rights, FALSE, mono_string_chars (name));
-       if (ret == NULL) {
-               *error = GetLastError ();
-       }
-       
-       return(ret);
+       HANDLE sem;
+
+       sem = OpenSemaphore (rights, FALSE, mono_string_chars (name));
+       *error = GetLastError ();
+
+       return(sem);
 }
 
 HANDLE ves_icall_System_Threading_Events_CreateEvent_internal (MonoBoolean manual, MonoBoolean initial, MonoString *name, MonoBoolean *created)
@@ -2176,7 +2174,15 @@ void ves_icall_System_Threading_Thread_Interrupt_internal (MonoThread *this_obj)
        }
 }
 
-void mono_thread_current_check_pending_interrupt ()
+/**
+ * mono_thread_current_check_pending_interrupt:
+ *
+ * Checks if there's a interruption request and set the pending exception if so.
+ *
+ * @returns true if a pending exception was set
+ */
+gboolean
+mono_thread_current_check_pending_interrupt (void)
 {
        MonoInternalThread *thread = mono_thread_internal_current ();
        gboolean throw_ = FALSE;
@@ -2190,13 +2196,13 @@ void mono_thread_current_check_pending_interrupt ()
        
        UNLOCK_THREAD (thread);
 
-       if (throw_) {
-               mono_raise_exception (mono_get_exception_thread_interrupted ());
-       }
+       if (throw_)
+               mono_set_pending_exception (mono_get_exception_thread_interrupted ());
+       return throw_;
 }
 
-void
-ves_icall_System_Threading_Thread_Abort (MonoInternalThread *thread, MonoObject *state)
+static gboolean
+request_thread_abort (MonoInternalThread *thread, MonoObject *state)
 {
        LOCK_THREAD (thread);
        
@@ -2205,13 +2211,13 @@ ves_icall_System_Threading_Thread_Abort (MonoInternalThread *thread, MonoObject
                (thread->state & ThreadState_Stopped) != 0)
        {
                UNLOCK_THREAD (thread);
-               return;
+               return FALSE;
        }
 
        if ((thread->state & ThreadState_Unstarted) != 0) {
                thread->state |= ThreadState_Aborted;
                UNLOCK_THREAD (thread);
-               return;
+               return FALSE;
        }
 
        thread->state |= ThreadState_AbortRequested;
@@ -2233,11 +2239,39 @@ ves_icall_System_Threading_Thread_Abort (MonoInternalThread *thread, MonoObject
                mono_thread_resume (thread);
 
        UNLOCK_THREAD (thread);
+       return TRUE;
+}
 
-       if (thread == mono_thread_internal_current ())
-               self_abort_internal ();
-       else
+void
+ves_icall_System_Threading_Thread_Abort (MonoInternalThread *thread, MonoObject *state)
+{
+       if (!request_thread_abort (thread, state))
+               return;
+
+       if (thread == mono_thread_internal_current ()) {
+               MonoError error;
+               self_abort_internal (&error);
+               mono_error_set_pending_exception (&error);
+       } else {
                async_abort_internal (thread, TRUE);
+       }
+}
+
+/**
+ * mono_thread_internal_abort:
+ *
+ * Request thread @thread to be aborted.
+ *
+ * @thread MUST NOT be the current thread.
+ */
+void
+mono_thread_internal_abort (MonoInternalThread *thread)
+{
+       g_assert (thread != mono_thread_internal_current ());
+
+       if (!request_thread_abort (thread, NULL))
+               return;
+       async_abort_internal (thread, TRUE);
 }
 
 void
@@ -2437,7 +2471,8 @@ is_running_protected_wrapper (void)
        return found;
 }
 
-void mono_thread_internal_stop (MonoInternalThread *thread)
+static gboolean
+request_thread_stop (MonoInternalThread *thread)
 {
        LOCK_THREAD (thread);
 
@@ -2445,7 +2480,7 @@ void mono_thread_internal_stop (MonoInternalThread *thread)
                (thread->state & ThreadState_Stopped) != 0)
        {
                UNLOCK_THREAD (thread);
-               return;
+               return FALSE;
        }
        
        /* Make sure the thread is awake */
@@ -2455,16 +2490,45 @@ void mono_thread_internal_stop (MonoInternalThread *thread)
        thread->state &= ~ThreadState_AbortRequested;
        
        UNLOCK_THREAD (thread);
+       return TRUE;
+}
+
+/**
+ * mono_thread_internal_stop:
+ *
+ * Request thread @thread to stop.
+ *
+ * @thread MUST NOT be the current thread.
+ */
+void
+mono_thread_internal_stop (MonoInternalThread *thread)
+{
+       g_assert (thread != mono_thread_internal_current ());
+
+       if (!request_thread_stop (thread))
+               return;
        
-       if (thread == mono_thread_internal_current ())
-               self_abort_internal ();
-       else
-               async_abort_internal (thread, TRUE);
+       async_abort_internal (thread, TRUE);
 }
 
 void mono_thread_stop (MonoThread *thread)
 {
-       mono_thread_internal_stop (thread->internal_thread);
+       MonoInternalThread *internal = thread->internal_thread;
+
+       if (!request_thread_stop (internal))
+               return;
+       
+       if (internal == mono_thread_internal_current ()) {
+               MonoError error;
+               self_abort_internal (&error);
+               /*
+               This function is part of the embeding API and has no way to return the exception
+               to be thrown. So what we do is keep the old behavior and raise the exception.
+               */
+               mono_error_raise_exception (&error); /* OK to throw, see note */
+       } else {
+               async_abort_internal (internal, TRUE);
+       }
 }
 
 gint8
@@ -3081,9 +3145,8 @@ remove_and_abort_threads (gpointer key, gpointer value, gpointer user)
                if (handle == NULL)
                        return FALSE;
 
-               /* printf ("A: %d\n", wait->num); */
-               wait->handles[wait->num]=thread->handle;
-               wait->threads[wait->num]=thread;
+               wait->handles[wait->num] = handle;
+               wait->threads[wait->num] = thread;
                wait->num++;
 
                THREAD_DEBUG (g_print ("%s: Aborting id: %"G_GSIZE_FORMAT"\n", __func__, (gsize)thread->tid));
@@ -3524,10 +3587,9 @@ mono_threads_perform_thread_dump (void)
 }
 
 /* Obtain the thread dump of all threads */
-static void
-mono_threads_get_thread_dump (MonoArray **out_threads, MonoArray **out_stack_frames)
+static gboolean
+mono_threads_get_thread_dump (MonoArray **out_threads, MonoArray **out_stack_frames, MonoError *error)
 {
-       MonoError error;
 
        ThreadDumpUserData ud;
        MonoInternalThread *thread_array [128];
@@ -3535,7 +3597,7 @@ mono_threads_get_thread_dump (MonoArray **out_threads, MonoArray **out_stack_fra
        MonoDebugSourceLocation *location;
        int tindex, nthreads;
 
-       mono_error_init (&error);
+       mono_error_init (error);
        
        *out_threads = NULL;
        *out_stack_frames = NULL;
@@ -3547,11 +3609,11 @@ mono_threads_get_thread_dump (MonoArray **out_threads, MonoArray **out_stack_fra
        ud.frames = g_new0 (MonoStackFrameInfo, 256);
        ud.max_frames = 256;
 
-       *out_threads = mono_array_new_checked (domain, mono_defaults.thread_class, nthreads, &error);
-       if (!is_ok (&error))
+       *out_threads = mono_array_new_checked (domain, mono_defaults.thread_class, nthreads, error);
+       if (!is_ok (error))
                goto leave;
-       *out_stack_frames = mono_array_new_checked (domain, mono_defaults.array_class, nthreads, &error);
-       if (!is_ok (&error))
+       *out_stack_frames = mono_array_new_checked (domain, mono_defaults.array_class, nthreads, error);
+       if (!is_ok (error))
                goto leave;
 
        for (tindex = 0; tindex < nthreads; ++tindex) {
@@ -3571,16 +3633,16 @@ mono_threads_get_thread_dump (MonoArray **out_threads, MonoArray **out_stack_fra
 
                mono_array_setref_fast (*out_threads, tindex, mono_thread_current_for_thread (thread));
 
-               thread_frames = mono_array_new_checked (domain, mono_defaults.stack_frame_class, ud.nframes, &error);
-               if (!is_ok (&error))
+               thread_frames = mono_array_new_checked (domain, mono_defaults.stack_frame_class, ud.nframes, error);
+               if (!is_ok (error))
                        goto leave;
                mono_array_setref_fast (*out_stack_frames, tindex, thread_frames);
 
                for (i = 0; i < ud.nframes; ++i) {
                        MonoStackFrameInfo *frame = &ud.frames [i];
                        MonoMethod *method = NULL;
-                       MonoStackFrame *sf = (MonoStackFrame *)mono_object_new_checked (domain, mono_defaults.stack_frame_class, &error);
-                       if (!mono_error_ok (&error))
+                       MonoStackFrame *sf = (MonoStackFrame *)mono_object_new_checked (domain, mono_defaults.stack_frame_class, error);
+                       if (!is_ok (error))
                                goto leave;
 
                        sf->native_offset = frame->native_offset;
@@ -3591,8 +3653,9 @@ mono_threads_get_thread_dump (MonoArray **out_threads, MonoArray **out_stack_fra
                        if (method) {
                                sf->method_address = (gsize) frame->ji->code_start;
 
-                               MonoReflectionMethod *rm = mono_method_get_object_checked (domain, method, NULL, &error);
-                               mono_error_raise_exception (&error); /* FIXME don't raise here */
+                               MonoReflectionMethod *rm = mono_method_get_object_checked (domain, method, NULL, error);
+                               if (!is_ok (error))
+                                       goto leave;
                                MONO_OBJECT_SETREF (sf, method, rm);
 
                                location = mono_debug_lookup_source_location (method, frame->native_offset, domain);
@@ -3615,7 +3678,7 @@ mono_threads_get_thread_dump (MonoArray **out_threads, MonoArray **out_stack_fra
 
 leave:
        g_free (ud.frames);
-       mono_error_raise_exception (&error); /* FIXME don't raise here */
+       return is_ok (error);
 }
 
 /**
@@ -3813,7 +3876,7 @@ mono_threads_abort_appdomain_threads (MonoDomain *domain, int timeout)
                if (user_data.wait.num > 0) {
                        /* Abort the threads outside the threads lock */
                        for (i = 0; i < user_data.wait.num; ++i)
-                               ves_icall_System_Threading_Thread_Abort (user_data.wait.threads [i], NULL);
+                               mono_thread_internal_abort (user_data.wait.threads [i]);
 
                        /*
                         * We should wait for the threads either to abort, or to leave the
@@ -4331,17 +4394,6 @@ mono_alloc_special_static_data_free (GHashTable *special_static_fields)
        mono_threads_unlock ();
 }
 
-static void
-mono_special_static_data_free_slot (guint32 offset, guint32 size)
-{
-       /* Only ever called for ThreadLocal instances */
-       g_assert (ACCESS_SPECIAL_STATIC_OFFSET (offset, type) == SPECIAL_STATIC_OFFSET_TYPE_THREAD);
-
-       mono_threads_lock ();
-       do_free_special_slot (offset, size);
-       mono_threads_unlock ();
-}
-
 #ifdef HOST_WIN32
 static void CALLBACK dummy_apc (ULONG_PTR param)
 {
@@ -4770,18 +4822,20 @@ async_abort_internal (MonoInternalThread *thread, gboolean install_async_abort)
 }
 
 static void
-self_abort_internal (void)
+self_abort_internal (MonoError *error)
 {
        MonoException *exc;
 
+       mono_error_init (error);
+
        /* FIXME this is insanely broken, it doesn't cause interruption to happen synchronously
         * since passing FALSE to mono_thread_request_interruption makes sure it returns NULL */
 
        exc = mono_thread_request_interruption (TRUE);
        if (exc)
-               mono_raise_exception (exc);
-
-       mono_thread_info_self_interrupt ();
+               mono_error_set_exception_instance (error, exc);
+       else
+               mono_thread_info_self_interrupt ();
 }
 
 typedef struct {
@@ -4928,9 +4982,12 @@ mono_threads_join_threads (void)
                }
                joinable_threads_unlock ();
                if (found) {
-                       if (thread != pthread_self ())
+                       if (thread != pthread_self ()) {
+                               MONO_ENTER_GC_SAFE;
                                /* This shouldn't block */
                                pthread_join (thread, NULL);
+                               MONO_EXIT_GC_SAFE;
+                       }
                } else {
                        break;
                }
@@ -4963,7 +5020,9 @@ mono_thread_join (gpointer tid)
        if (!found)
                return;
        thread = (pthread_t)tid;
+       MONO_ENTER_GC_SAFE;
        pthread_join (thread, NULL);
+       MONO_EXIT_GC_SAFE;
 #endif
 }
 
@@ -5004,5 +5063,105 @@ mono_thread_internal_unhandled_exception (MonoObject* exc)
 void
 ves_icall_System_Threading_Thread_GetStackTraces (MonoArray **out_threads, MonoArray **out_stack_traces)
 {
-       mono_threads_get_thread_dump (out_threads, out_stack_traces);
+       MonoError error;
+       mono_threads_get_thread_dump (out_threads, out_stack_traces, &error);
+       mono_error_set_pending_exception (&error);
+}
+
+/*
+ * mono_threads_attach_coop: called by native->managed wrappers
+ *
+ * In non-coop mode:
+ *  - @dummy: is NULL
+ *  - @return: the original domain which needs to be restored, or NULL.
+ *
+ * In coop mode:
+ *  - @dummy: contains the original domain
+ *  - @return: a cookie containing current MonoThreadInfo*.
+ */
+gpointer
+mono_threads_attach_coop (MonoDomain *domain, gpointer *dummy)
+{
+       MonoDomain *orig;
+       gboolean fresh_thread;
+
+       if (!domain) {
+               /* Happens when called from AOTed code which is only used in the root domain. */
+               domain = mono_get_root_domain ();
+       }
+
+       g_assert (domain);
+
+       /* On coop, when we detached, we moved the thread from  RUNNING->BLOCKING.
+        * If we try to reattach we do a BLOCKING->RUNNING transition.  If the thread
+        * is fresh, mono_thread_attach() will do a STARTING->RUNNING transition so
+        * we're only responsible for making the cookie. */
+       if (mono_threads_is_coop_enabled ()) {
+               MonoThreadInfo *info = mono_thread_info_current_unchecked ();
+               fresh_thread = !info || !mono_thread_info_is_live (info);
+       }
+
+       if (!mono_thread_internal_current ()) {
+               mono_thread_attach_full (domain, FALSE);
+
+               // #678164
+               mono_thread_set_state (mono_thread_internal_current (), ThreadState_Background);
+       }
+
+       orig = mono_domain_get ();
+       if (orig != domain)
+               mono_domain_set (domain, TRUE);
+
+       if (!mono_threads_is_coop_enabled ())
+               return orig != domain ? orig : NULL;
+
+       if (fresh_thread) {
+               *dummy = NULL;
+               /* mono_thread_attach put the thread in RUNNING mode from STARTING, but we need to
+                * return the right cookie. */
+               return mono_threads_enter_gc_unsafe_region_cookie ();
+       } else {
+               *dummy = orig;
+               /* thread state (BLOCKING|RUNNING) -> RUNNING */
+               return mono_threads_enter_gc_unsafe_region (dummy);
+       }
+}
+
+/*
+ * mono_threads_detach_coop: called by native->managed wrappers
+ *
+ * In non-coop mode:
+ *  - @cookie: the original domain which needs to be restored, or NULL.
+ *  - @dummy: is NULL
+ *
+ * In coop mode:
+ *  - @cookie: contains current MonoThreadInfo* if it was in BLOCKING mode, NULL otherwise
+ *  - @dummy: contains the original domain
+ */
+void
+mono_threads_detach_coop (gpointer cookie, gpointer *dummy)
+{
+       MonoDomain *domain, *orig;
+
+       if (!mono_threads_is_coop_enabled ()) {
+               orig = (MonoDomain*) cookie;
+               if (orig)
+                       mono_domain_set (orig, TRUE);
+       } else {
+               orig = (MonoDomain*) *dummy;
+
+               domain = mono_domain_get ();
+               g_assert (domain);
+
+               /* it won't do anything if cookie is NULL
+                * thread state RUNNING -> (RUNNING|BLOCKING) */
+               mono_threads_exit_gc_unsafe_region (cookie, dummy);
+
+               if (orig != domain) {
+                       if (!orig)
+                               mono_domain_unset ();
+                       else
+                               mono_domain_set (orig, TRUE);
+               }
+       }
 }
index 5a0c79c7cca732b1ffeff80292a6ad943d1114e5..2ab8b09ea066069f17df38e3deb1ab59945ed9dc 100644 (file)
@@ -30,7 +30,7 @@ extern MONO_API MonoThread *mono_thread_current (void);
 extern MONO_API void        mono_thread_set_main (MonoThread *thread);
 extern MONO_API MonoThread *mono_thread_get_main (void);
 
-extern MONO_API void mono_thread_stop (MonoThread *thread);
+extern MONO_RT_EXTERNAL_ONLY MONO_API void mono_thread_stop (MonoThread *thread);
 
 extern MONO_API void mono_thread_new_init (intptr_t tid, void* stack_start,
                                  void* func);
@@ -54,7 +54,7 @@ MONO_API void mono_threads_request_thread_dump (void);
 
 MONO_API mono_bool mono_thread_is_foreign (MonoThread *thread);
 
-extern MONO_API void mono_thread_detach_if_exiting (void);
+extern MONO_API mono_bool mono_thread_detach_if_exiting (void);
 
 MONO_END_DECLS
 
index ce3c864090f6279345a817fbd51bb370d4d85b29..00aa6bca6c50da2b9467a010dcb29b4b741a27f3 100755 (executable)
@@ -49,7 +49,7 @@ MINI_RUNTIME = MONO_PATH=$(CLASS) $(RUNTIME_EXECUTABLE)
 RUNTIME_AOTCHECK = MONO_PATH="$(CLASS)$(PLATFORM_PATH_SEPARATOR)." $(RUNTIME_EXECUTABLE)
 
 CSC = $(mcs_topdir)/class/lib/build/mcs.exe
-MCS = CSC_SDK_PATH_DISABLED= $(MINI_RUNTIME) $(CSC) -unsafe -nowarn:0162 -nologo -noconfig -r:$(CLASS)/mscorlib.dll -r:$(CLASS)/System.dll
+MCS = CSC_SDK_PATH_DISABLED= $(MINI_RUNTIME) $(CSC) -unsafe -nowarn:0162 -nologo -noconfig -r:$(CLASS)/mscorlib.dll -r:$(CLASS)/System.dll -r:$(CLASS)/System.Core.dll
 ILASM = $(MINI_RUNTIME) $(CLASS)/ilasm.exe
 
 AM_CFLAGS = \
@@ -340,6 +340,7 @@ arm64_sources = \
        exceptions-arm64.c      \
        tramp-arm64.c   \
        mini-arm64-gsharedvt.c  \
+       mini-arm64-gsharedvt.h  \
        tramp-arm64-gsharedvt.c
 
 mips_sources = \
@@ -825,7 +826,11 @@ version.h: Makefile
        if test -d $(top_srcdir)/.git; then \
                (cd $(top_srcdir); \
                        LANG=C; export LANG; \
-                       branch=`git branch | grep '^\*' | sed 's/(detached from .*/explicit/' | cut -d ' ' -f 2`; \
+                       if test -z "$$ghprbPullId"; then \
+                               branch=`git branch | grep '^\*' | sed 's/(detached from .*/explicit/' | cut -d ' ' -f 2`; \
+                       else \
+                               branch="pull-request-$$ghprbPullId"; \
+                       fi; \
                        version=`git log --no-color --first-parent -n1 --pretty=format:%h`; \
                        echo "#define FULL_VERSION \"$$branch/$$version\""; \
                ); \
index 9c2ca7090e60162999c6bbf33bfbac7007254806..5f5817b44a1cfc1ae84f7398e9c480537d68b4e6 100644 (file)
@@ -52,6 +52,7 @@
 #include <mono/utils/mono-time.h>
 #include <mono/utils/mono-mmap.h>
 #include <mono/utils/json.h>
+#include <mono/utils/mono-threads-coop.h>
 
 #include "aot-compiler.h"
 #include "seq-points.h"
@@ -245,7 +246,7 @@ typedef struct MonoAotCompile {
        MonoAotFileFlags flags;
        MonoDynamicStream blob;
        gboolean blob_closed;
-       MonoClass **typespec_classes;
+       GHashTable *typespec_classes;
        GString *llc_args;
        GString *as_args;
        char *assembly_name_sym;
@@ -2719,22 +2720,16 @@ find_typespec_for_class (MonoAotCompile *acfg, MonoClass *klass)
 
        /* FIXME: Search referenced images as well */
        if (!acfg->typespec_classes) {
-               acfg->typespec_classes = (MonoClass **)mono_mempool_alloc0 (acfg->mempool, sizeof (MonoClass*) * len);
-               for (i = 0; i < len; ++i) {
+               acfg->typespec_classes = g_hash_table_new (NULL, NULL);
+               for (i = 0; i < len; i++) {
                        MonoError error;
-                       acfg->typespec_classes [i] = mono_class_get_and_inflate_typespec_checked (acfg->image, MONO_TOKEN_TYPE_SPEC | (i + 1), NULL, &error);
+                       int typespec = MONO_TOKEN_TYPE_SPEC | (i + 1);
+                       MonoClass *klass_key = mono_class_get_and_inflate_typespec_checked (acfg->image, typespec, NULL, &error);
                        g_assert (mono_error_ok (&error)); /* FIXME error handling */
+                       g_hash_table_insert (acfg->typespec_classes, klass_key, GINT_TO_POINTER (typespec));
                }
        }
-       for (i = 0; i < len; ++i) {
-               if (acfg->typespec_classes [i] == klass)
-                       break;
-       }
-
-       if (i < len)
-               return MONO_TOKEN_TYPE_SPEC | (i + 1);
-       else
-               return 0;
+       return GPOINTER_TO_INT (g_hash_table_lookup (acfg->typespec_classes, klass));
 }
 
 static void
@@ -3881,13 +3876,9 @@ add_wrappers (MonoAotCompile *acfg)
                        /* Managed Allocators */
                        nallocators = mono_gc_get_managed_allocator_types ();
                        for (i = 0; i < nallocators; ++i) {
-                               m = mono_gc_get_managed_allocator_by_type (i, TRUE);
-                               if (m)
+                               if ((m = mono_gc_get_managed_allocator_by_type (i, MANAGED_ALLOCATOR_REGULAR)))
                                        add_method (acfg, m);
-                       }
-                       for (i = 0; i < nallocators; ++i) {
-                               m = mono_gc_get_managed_allocator_by_type (i, FALSE);
-                               if (m)
+                               if ((m = mono_gc_get_managed_allocator_by_type (i, MANAGED_ALLOCATOR_SLOW_PATH)))
                                        add_method (acfg, m);
                        }
                }
@@ -10071,6 +10062,8 @@ acfg_free (MonoAotCompile *acfg)
        g_hash_table_destroy (acfg->image_hash);
        g_hash_table_destroy (acfg->unwind_info_offsets);
        g_hash_table_destroy (acfg->method_label_hash);
+       if (acfg->typespec_classes)
+               g_hash_table_destroy (acfg->typespec_classes);
        g_hash_table_destroy (acfg->export_names);
        g_hash_table_destroy (acfg->plt_entry_debug_sym_cache);
        g_hash_table_destroy (acfg->klass_blob_hash);
index 2078e8ef8543dc8da7291bd9306b1f8021552522..a92b19ef8944350cff944f3e0243664ad8af2ccf 100644 (file)
@@ -56,6 +56,7 @@
 #include <mono/utils/mono-compiler.h>
 #include <mono/utils/mono-counters.h>
 #include <mono/utils/mono-digest.h>
+#include <mono/utils/mono-threads-coop.h>
 
 #include "mini.h"
 #include "seq-points.h"
@@ -930,8 +931,11 @@ decode_method_ref_with_target (MonoAotModule *module, MethodRef *ref, MonoMethod
 #endif
                case MONO_WRAPPER_ALLOC: {
                        int atype = decode_value (p, &p);
+                       ManagedAllocatorVariant variant =
+                               mono_profiler_get_events () & MONO_PROFILE_ALLOCATIONS ?
+                               MANAGED_ALLOCATOR_SLOW_PATH : MANAGED_ALLOCATOR_REGULAR;
 
-                       ref->method = mono_gc_get_managed_allocator_by_type (atype, !!(mono_profiler_get_events () & MONO_PROFILE_ALLOCATIONS));
+                       ref->method = mono_gc_get_managed_allocator_by_type (atype, variant);
                        if (!ref->method) {
                                mono_error_set_bad_image_name (error, module->aot_name, "Error: No managed allocator, but we need one for AOT.\nAre you using non-standard GC options?\n");
                                return FALSE;
@@ -2400,9 +2404,8 @@ decode_cached_class_info (MonoAotModule *module, MonoCachedClassInfo *info, guin
 }      
 
 gpointer
-mono_aot_get_method_from_vt_slot (MonoDomain *domain, MonoVTable *vtable, int slot)
+mono_aot_get_method_from_vt_slot (MonoDomain *domain, MonoVTable *vtable, int slot, MonoError *error)
 {
-       MonoError error;
        int i;
        MonoClass *klass = vtable->klass;
        MonoAotModule *amodule = (MonoAotModule *)klass->image->aot_module;
@@ -2411,6 +2414,10 @@ mono_aot_get_method_from_vt_slot (MonoDomain *domain, MonoVTable *vtable, int sl
        gboolean err;
        MethodRef ref;
        gboolean res;
+       gpointer addr;
+       MonoError inner_error;
+
+       mono_error_init (error);
 
        if (MONO_CLASS_IS_INTERFACE (klass) || klass->rank || !amodule)
                return NULL;
@@ -2423,12 +2430,12 @@ mono_aot_get_method_from_vt_slot (MonoDomain *domain, MonoVTable *vtable, int sl
                return NULL;
 
        for (i = 0; i < slot; ++i) {
-               decode_method_ref (amodule, &ref, p, &p, &error);
-               mono_error_cleanup (&error); /* FIXME don't swallow the error */
+               decode_method_ref (amodule, &ref, p, &p, &inner_error);
+               mono_error_cleanup (&inner_error); /* FIXME don't swallow the error */
        }
 
-       res = decode_method_ref (amodule, &ref, p, &p, &error);
-       mono_error_cleanup (&error); /* FIXME don't swallow the error */
+       res = decode_method_ref (amodule, &ref, p, &p, &inner_error);
+       mono_error_cleanup (&inner_error); /* FIXME don't swallow the error */
        if (!res)
                return NULL;
        if (ref.no_aot_trampoline)
@@ -2437,7 +2444,8 @@ mono_aot_get_method_from_vt_slot (MonoDomain *domain, MonoVTable *vtable, int sl
        if (mono_metadata_token_index (ref.token) == 0 || mono_metadata_token_table (ref.token) != MONO_TABLE_METHOD)
                return NULL;
 
-       return mono_aot_get_method_from_token (domain, ref.image, ref.token);
+       addr = mono_aot_get_method_from_token (domain, ref.image, ref.token, error);
+       return addr;
 }
 
 gboolean
@@ -4254,28 +4262,36 @@ init_method (MonoAotModule *amodule, guint32 method_index, MonoMethod *method, M
        return FALSE;
 }
 
+static void
+init_llvmonly_method (MonoAotModule *amodule, guint32 method_index, MonoMethod *method, MonoClass *init_class, MonoGenericContext *context)
+{
+       gboolean res;
+       MonoError error;
+
+       res = init_method (amodule, method_index, method, init_class, context, &error);
+       if (!is_ok (&error)) {
+               MonoException *ex = mono_error_convert_to_exception (&error);
+               /* Its okay to raise in llvmonly mode */
+               if (ex)
+                       mono_llvm_throw_exception ((MonoObject*)ex);
+       }
+}
+
 void
 mono_aot_init_llvm_method (gpointer aot_module, guint32 method_index)
 {
        MonoAotModule *amodule = (MonoAotModule *)aot_module;
-       gboolean res;
-       MonoError error;
 
-       res = init_method (amodule, method_index, NULL, NULL, NULL, &error);
-       // FIXME: Pass the exception up to the caller ?
-       /* Its okay to raise in llvmonly mode */
-       mono_error_raise_exception (&error);
+       init_llvmonly_method (amodule, method_index, NULL, NULL, NULL);
 }
 
 void
 mono_aot_init_gshared_method_this (gpointer aot_module, guint32 method_index, MonoObject *this_obj)
 {
        MonoAotModule *amodule = (MonoAotModule *)aot_module;
-       gboolean res;
        MonoClass *klass;
        MonoGenericContext *context;
        MonoMethod *method;
-       MonoError error;
 
        // FIXME:
        g_assert (this_obj);
@@ -4289,19 +4305,15 @@ mono_aot_init_gshared_method_this (gpointer aot_module, guint32 method_index, Mo
        context = mono_method_get_context (method);
        g_assert (context);
 
-       res = init_method (amodule, method_index, NULL, klass, context, &error);
-       /* Its okay to raise in llvmonly mode */
-       mono_error_raise_exception (&error);
+       init_llvmonly_method (amodule, method_index, NULL, klass, context);
 }
 
 void
 mono_aot_init_gshared_method_mrgctx (gpointer aot_module, guint32 method_index, MonoMethodRuntimeGenericContext *rgctx)
 {
        MonoAotModule *amodule = (MonoAotModule *)aot_module;
-       gboolean res;
        MonoGenericContext context = { NULL, NULL };
        MonoClass *klass = rgctx->class_vtable->klass;
-       MonoError error;
 
        if (klass->generic_class)
                context.class_inst = klass->generic_class->context.class_inst;
@@ -4309,20 +4321,16 @@ mono_aot_init_gshared_method_mrgctx (gpointer aot_module, guint32 method_index,
                context.class_inst = klass->generic_container->context.class_inst;
        context.method_inst = rgctx->method_inst;
 
-       res = init_method (amodule, method_index, NULL, rgctx->class_vtable->klass, &context, &error);
-       /* Its okay to raise in llvmonly mode */
-       mono_error_raise_exception (&error);
+       init_llvmonly_method (amodule, method_index, NULL, rgctx->class_vtable->klass, &context);
 }
 
 void
 mono_aot_init_gshared_method_vtable (gpointer aot_module, guint32 method_index, MonoVTable *vtable)
 {
        MonoAotModule *amodule = (MonoAotModule *)aot_module;
-       gboolean res;
        MonoClass *klass;
        MonoGenericContext *context;
        MonoMethod *method;
-       MonoError error;
 
        klass = vtable->klass;
 
@@ -4334,9 +4342,7 @@ mono_aot_init_gshared_method_vtable (gpointer aot_module, guint32 method_index,
        context = mono_method_get_context (method);
        g_assert (context);
 
-       res = init_method (amodule, method_index, NULL, klass, context, &error);
-       /* Its okay to raise in llvmonly mode */
-       mono_error_raise_exception (&error);
+       init_llvmonly_method (amodule, method_index, NULL, klass, context);
 }
 
 /*
@@ -4355,6 +4361,7 @@ mono_aot_get_method_checked (MonoDomain *domain, MonoMethod *method, MonoError *
        MonoAotModule *amodule = (MonoAotModule *)klass->image->aot_module;
        guint8 *code;
        gboolean cache_result = FALSE;
+       MonoError inner_error;
 
        mono_error_init (error);
 
@@ -4389,7 +4396,7 @@ mono_aot_get_method_checked (MonoDomain *domain, MonoMethod *method, MonoError *
         * remoting.
         */
        if (mono_aot_only && method->wrapper_type == MONO_WRAPPER_REMOTING_INVOKE_WITH_CHECK)
-               return mono_aot_get_method (domain, mono_marshal_method_from_wrapper (method));
+               return mono_aot_get_method_checked (domain, mono_marshal_method_from_wrapper (method), error);
 
        g_assert (klass->inited);
 
@@ -4429,7 +4436,8 @@ mono_aot_get_method_checked (MonoDomain *domain, MonoMethod *method, MonoError *
                if (method_index == 0xffffff && method->wrapper_type == MONO_WRAPPER_MANAGED_TO_MANAGED && method->klass->rank && strstr (method->name, "System.Collections.Generic")) {
                        MonoMethod *m = mono_aot_get_array_helper_from_wrapper (method);
 
-                       code = (guint8 *)mono_aot_get_method (domain, m);
+                       code = (guint8 *)mono_aot_get_method_checked (domain, m, &inner_error);
+                       mono_error_cleanup (&inner_error);
                        if (code)
                                return code;
                }
@@ -4440,7 +4448,6 @@ mono_aot_get_method_checked (MonoDomain *domain, MonoMethod *method, MonoError *
                 * an out parameter, so the managed-to-native wrappers can share the same code.
                 */
                if (method_index == 0xffffff && method->wrapper_type == MONO_WRAPPER_MANAGED_TO_NATIVE && method->klass == mono_defaults.array_class && !strcmp (method->name, "GetGenericValueImpl")) {
-                       MonoError error;
                        MonoMethod *m;
                        MonoGenericContext ctx;
                        MonoType *args [16];
@@ -4456,15 +4463,16 @@ mono_aot_get_method_checked (MonoDomain *domain, MonoMethod *method, MonoError *
                        args [0] = &mono_defaults.object_class->byval_arg;
                        ctx.method_inst = mono_metadata_get_generic_inst (1, args);
 
-                       m = mono_marshal_get_native_wrapper (mono_class_inflate_generic_method_checked (m, &ctx, &error), TRUE, TRUE);
+                       m = mono_marshal_get_native_wrapper (mono_class_inflate_generic_method_checked (m, &ctx, error), TRUE, TRUE);
                        if (!m)
-                               g_error ("AOT runtime could not load method due to %s", mono_error_get_message (&error)); /* FIXME don't swallow the error */
+                               g_error ("AOT runtime could not load method due to %s", mono_error_get_message (error)); /* FIXME don't swallow the error */
 
                        /* 
                         * Get the code for the <object> instantiation which should be emitted into
                         * the mscorlib aot image by the AOT compiler.
                         */
-                       code = (guint8 *)mono_aot_get_method (domain, m);
+                       code = (guint8 *)mono_aot_get_method_checked (domain, m, &inner_error);
+                       mono_error_cleanup (&inner_error);
                        if (code)
                                return code;
                }
@@ -4475,7 +4483,6 @@ mono_aot_get_method_checked (MonoDomain *domain, MonoMethod *method, MonoError *
                        ((!strcmp (method->klass->name_space, "System.Threading") && !strcmp (method->klass->name, "Interlocked") && (!strcmp (method->name, "CompareExchange") || !strcmp (method->name, "Exchange")) && MONO_TYPE_IS_REFERENCE (mini_type_get_underlying_type (mono_method_signature (method)->params [1]))) ||
                         (!strcmp (method->klass->name_space, "System.Threading") && !strcmp (method->klass->name, "Volatile") && (!strcmp (method->name, "Read") && MONO_TYPE_IS_REFERENCE (mini_type_get_underlying_type (mono_method_signature (method)->ret)))) ||
                         (!strcmp (method->klass->name_space, "System.Threading") && !strcmp (method->klass->name, "Volatile") && (!strcmp (method->name, "Write") && MONO_TYPE_IS_REFERENCE (mini_type_get_underlying_type (mono_method_signature (method)->params [1])))))) {
-                       MonoError error;
                        MonoMethod *m;
                        MonoGenericContext ctx;
                        MonoType *args [16];
@@ -4491,9 +4498,9 @@ mono_aot_get_method_checked (MonoDomain *domain, MonoMethod *method, MonoError *
                        args [0] = &mono_defaults.object_class->byval_arg;
                        ctx.method_inst = mono_metadata_get_generic_inst (1, args);
 
-                       m = mono_marshal_get_native_wrapper (mono_class_inflate_generic_method_checked (m, &ctx, &error), TRUE, TRUE);
+                       m = mono_marshal_get_native_wrapper (mono_class_inflate_generic_method_checked (m, &ctx, error), TRUE, TRUE);
                        if (!m)
-                               g_error ("AOT runtime could not load method due to %s", mono_error_get_message (&error)); /* FIXME don't swallow the error */
+                               g_error ("AOT runtime could not load method due to %s", mono_error_get_message (error)); /* FIXME don't swallow the error */
 
                        /* Avoid recursion */
                        if (method == m)
@@ -4503,7 +4510,8 @@ mono_aot_get_method_checked (MonoDomain *domain, MonoMethod *method, MonoError *
                         * Get the code for the <object> instantiation which should be emitted into
                         * the mscorlib aot image by the AOT compiler.
                         */
-                       code = (guint8 *)mono_aot_get_method (domain, m);
+                       code = (guint8 *)mono_aot_get_method_checked (domain, m, &inner_error);
+                       mono_error_cleanup (&inner_error);
                        if (code)
                                return code;
                }
@@ -4521,7 +4529,8 @@ mono_aot_get_method_checked (MonoDomain *domain, MonoMethod *method, MonoError *
 
                                        m = mono_marshal_get_array_accessor_wrapper (m);
                                        if (m != method) {
-                                               code = (guint8 *)mono_aot_get_method (domain, m);
+                                               code = (guint8 *)mono_aot_get_method_checked (domain, m, &inner_error);
+                                               mono_error_cleanup (&inner_error);
                                                if (code)
                                                        return code;
                                        }
@@ -4596,7 +4605,8 @@ mono_aot_get_method (MonoDomain *domain, MonoMethod *method)
        MonoError error;
 
        gpointer res = mono_aot_get_method_checked (domain, method, &error);
-       mono_error_raise_exception (&error);
+       /* This is external only, so its ok to raise here */
+       mono_error_raise_exception (&error); /* OK to throw, external only without a good alternative */
        return res;
 }
 
@@ -4605,20 +4615,20 @@ mono_aot_get_method (MonoDomain *domain, MonoMethod *method)
  * method.
  */
 gpointer
-mono_aot_get_method_from_token (MonoDomain *domain, MonoImage *image, guint32 token)
+mono_aot_get_method_from_token (MonoDomain *domain, MonoImage *image, guint32 token, MonoError *error)
 {
        MonoAotModule *aot_module = (MonoAotModule *)image->aot_module;
        int method_index;
-       MonoError error;
        gpointer res;
 
+       mono_error_init (error);
+
        if (!aot_module)
                return NULL;
 
        method_index = mono_metadata_token_index (token) - 1;
 
-       res = load_method (domain, aot_module, image, NULL, token, method_index, &error);
-       mono_error_raise_exception (&error); /* FIXME: Don't raise here */
+       res = load_method (domain, aot_module, image, NULL, token, method_index, error);
        return res;
 }
 
@@ -5825,6 +5835,14 @@ mono_aot_get_method (MonoDomain *domain, MonoMethod *method)
        return NULL;
 }
 
+gpointer
+mono_aot_get_method_checked (MonoDomain *domain,
+                                                        MonoMethod *method, MonoError *error);
+{
+       mono_error_init (error);
+       return NULL;
+}
+
 gboolean
 mono_aot_is_got_entry (guint8 *code, guint8 *addr)
 {
@@ -5850,8 +5868,9 @@ mono_aot_find_jit_info (MonoDomain *domain, MonoImage *image, gpointer addr)
 }
 
 gpointer
-mono_aot_get_method_from_token (MonoDomain *domain, MonoImage *image, guint32 token)
+mono_aot_get_method_from_token (MonoDomain *domain, MonoImage *image, guint32 token, MonoError *error)
 {
+       mono_error_init (error);
        return NULL;
 }
 
@@ -5873,8 +5892,10 @@ mono_aot_patch_plt_entry (guint8 *code, guint8 *plt_entry, gpointer *got, mgreg_
 }
 
 gpointer
-mono_aot_get_method_from_vt_slot (MonoDomain *domain, MonoVTable *vtable, int slot)
+mono_aot_get_method_from_vt_slot (MonoDomain *domain, MonoVTable *vtable, int slot, MonoError *error)
 {
+       mono_error_init (error);
+
        return NULL;
 }
 
index bd823f2b9062cce310ff2791ed9c39a5876c1d44..36c7a15a3e8fe91e1c44ebe8d40cf6546c441994 100644 (file)
@@ -84,6 +84,7 @@ class Tests
        }
 
        [Category ("DYNCALL")]
+       [Category ("!FULLAOT-AMD64")]
        static int test_0_arm64_dyncall_hfa_double () {
                double arg1 = 1.0f;
                // HFA with double members
@@ -97,6 +98,7 @@ class Tests
        }
 
        [Category ("DYNCALL")]
+       [Category ("!FULLAOT-AMD64")]
        static int test_0_arm64_dyncall_hfa_float () {
                double arg1 = 1.0f;
                var s = new Struct2 ();
@@ -110,6 +112,7 @@ class Tests
 
        [Category ("DYNCALL")]
        [Category ("GSHAREDVT")]
+       [Category ("!FULLAOT-AMD64")]
        static int test_0_arm64_dyncall_gsharedvt_out_hfa_double () {
                /* gsharedvt out trampoline with double hfa argument */
                double arg1 = 1.0f;
@@ -129,6 +132,7 @@ class Tests
 
        [Category ("DYNCALL")]
        [Category ("GSHAREDVT")]
+       [Category ("!FULLAOT-AMD64")]
        static int test_0_arm64_dyncall_gsharedvt_out_hfa_float () {
                /* gsharedvt out trampoline with double hfa argument */
                double arg1 = 1.0f;
@@ -190,6 +194,8 @@ class Tests
        }
 
        [Category ("DYNCALL")]
+       [Category ("GSHAREDVT")]
+       [Category ("!FULLAOT-AMD64")]
        static int test_0_arm64_dyncall_vtypebyref_ret () {
                var s = new VTypeByRefStruct () { o1 = 1, o2 = 2, o3 = 3 };
                Type t = typeof (Foo5<>).MakeGenericType (new Type [] { typeof (VTypeByRefStruct) });
@@ -210,7 +216,8 @@ class Tests
                }
        }
 
-       [Category("DYNCALL")]
+       [Category ("DYNCALL")]
+       [Category ("GSHAREDVT")]
        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 ();
@@ -251,6 +258,7 @@ class Tests
        }
 
        [Category ("DYNCALL")]
+       [Category ("!FULLAOT-AMD64")]
        public static int test_0_dyncall_nullable () {
                int? v;
 
@@ -367,6 +375,7 @@ class Tests
                return 0;
        }
 
+       [Category ("DYNCALL")]
        public static int test_0_array_accessor_runtime_invoke_ref () {
                var t = typeof (string[]);
                var arr = Array.CreateInstance (typeof (string), 1);
@@ -399,6 +408,7 @@ class Tests
        }
 
        [Category ("DYNCALL")]
+       [Category ("!FULLAOT-AMD64")]
        public static int test_0_large_nullable_invoke () {
                var s = new LargeStruct () { a = 1, b = 2, c = 3, d = 4 };
 
index 7b9cfd320ab60e682c2356632b61a48507850c7a..fb4f06fb9bed0356940ade628058ec623d250af1 100644 (file)
@@ -401,9 +401,9 @@ instruction_hash (MonoInst *insn)
        res ^= insn->sreg1  << 0x10;
        res ^= insn->sreg2  << 0x14;
        res ^= insn->sreg3  << 0x18;
-       res ^= (guint) insn->next;
-       res ^= (guint) insn->prev;
-       res ^= (guint) insn;
+       res ^= (gsize) insn->next;
+       res ^= (gsize) insn->prev;
+       res ^= (gsize) insn;
        return res;
 }
 
index bc3459ed3080b2a8f780b7c86e71cd836c7898ba..99a6d9a18bfdc1c2496e0398859274b843eb437a 100755 (executable)
@@ -326,7 +326,7 @@ amd64_set_xmmreg_r4: dest:f src1:f len:14 clob:m
 amd64_set_xmmreg_r8: dest:f src1:f len:14 clob:m
 amd64_save_sp_to_lmf: len:16
 tls_get: dest:i len:32
-tls_get_reg: dest:i src1:i len:32
+tls_get_reg: dest:i src1:i len:64
 tls_set: src1:i len:16
 tls_set_reg: src1:i src2:i len:32
 atomic_add_i4: src1:b src2:i dest:i len:32
index 017315fe02f61be11d1d21b8fd66a520fdd4ebe5..e567ed30fa797879ff151a594832f666603638f2 100644 (file)
@@ -1953,7 +1953,7 @@ get_objref (MonoObject *obj)
        int hash = 0;
 
        if (obj == NULL)
-               return 0;
+               return NULL;
 
        if (suspend_count) {
                /*
@@ -2028,7 +2028,10 @@ clear_suspended_objs (void)
 static inline int
 get_objid (MonoObject *obj)
 {
-       return get_objref (obj)->id;
+       if (!obj)
+               return 0;
+       else
+               return get_objref (obj)->id;
 }
 
 /*
@@ -2678,7 +2681,7 @@ notify_thread (gpointer key, gpointer value, gpointer user_data)
 
        DEBUG_PRINTF (1, "[%p] Interrupting %p...\n", (gpointer) (gsize) mono_native_thread_id_get (), (gpointer)tid);
 
-       /* This is _not_ equivalent to ves_icall_System_Threading_Thread_Abort () */
+       /* This is _not_ equivalent to mono_thread_internal_abort () */
        InterruptData interrupt_data = { 0 };
        interrupt_data.tls = tls;
 
@@ -3626,11 +3629,15 @@ process_event (EventKind event, gpointer arg, gint32 il_offset, MonoContext *ctx
 
                ecount ++;
 
-               if (!thread)
-                       thread = mono_thread_current ();
+               if (event == EVENT_KIND_VM_DEATH) {
+                       thread = NULL;
+               } else {
+                       if (!thread)
+                               thread = mono_thread_current ();
 
-               if (event == EVENT_KIND_VM_START && arg != NULL)
-                       thread = (MonoThread *)arg;
+                       if (event == EVENT_KIND_VM_START && arg != NULL)
+                               thread = (MonoThread *)arg;
+               }
 
                buffer_add_objid (&buf, (MonoObject*)thread); // thread
 
@@ -3792,7 +3799,7 @@ runtime_initialized (MonoProfiler *prof)
 static void
 runtime_shutdown (MonoProfiler *prof)
 {
-       process_profiler_event (EVENT_KIND_VM_DEATH, mono_thread_current ());
+       process_profiler_event (EVENT_KIND_VM_DEATH, NULL);
 
        mono_debugger_agent_cleanup ();
 }
@@ -4320,9 +4327,12 @@ set_bp_in_method (MonoDomain *domain, MonoMethod *method, MonoSeqPointInfo *seq_
 
        code = mono_jit_find_compiled_method_with_jit_info (domain, method, &ji);
        if (!code) {
+               MonoError oerror;
+
                /* Might be AOTed code */
-               code = mono_aot_get_method (domain, method);
+               code = mono_aot_get_method_checked (domain, method, &oerror);
                g_assert (code);
+               mono_error_assert_ok (&oerror);
                ji = mono_jit_info_table_find (domain, (char *)code);
                g_assert (ji);
        }
@@ -5525,6 +5535,7 @@ ss_clear_for_assembly (SingleStepReq *req, MonoAssembly *assembly)
 void
 mono_debugger_agent_debug_log (int level, MonoString *category, MonoString *message)
 {
+       MonoError error;
        int suspend_policy;
        GSList *events;
        EventInfo ei;
@@ -5537,8 +5548,16 @@ mono_debugger_agent_debug_log (int level, MonoString *category, MonoString *mess
        mono_loader_unlock ();
 
        ei.level = level;
-       ei.category = category ? mono_string_to_utf8 (category) : NULL;
-       ei.message = message ? mono_string_to_utf8 (message) : NULL;
+       ei.category = NULL;
+       if (category) {
+               ei.category = mono_string_to_utf8_checked (category, &error);
+               mono_error_cleanup (&error);
+       }
+       ei.message = NULL;
+       if (message) {
+               ei.message = mono_string_to_utf8_checked (message, &error);
+               mono_error_cleanup  (&error);
+       }
 
        process_event (EVENT_KIND_USER_LOG, &ei, 0, NULL, events, suspend_policy);
 
@@ -6900,7 +6919,7 @@ invoke_method (void)
        /*
         * Take the loader lock to avoid race conditions with CMD_VM_ABORT_INVOKE:
         *
-        * It is possible that ves_icall_System_Threading_Thread_Abort () was called
+        * It is possible that mono_thread_internal_abort () was called
         * after the mono_runtime_invoke_checked() already returned, but it doesn't matter
         * because we reset the abort here.
         */
@@ -7212,7 +7231,7 @@ vm_commands (int command, int id, guint8 *p, guint8 *end, Buffer *buf)
 
                tls->abort_requested = TRUE;
 
-               ves_icall_System_Threading_Thread_Abort (THREAD_TO_INTERNAL (thread), NULL);
+               mono_thread_internal_abort (THREAD_TO_INTERNAL (thread));
                mono_loader_unlock ();
                break;
        }
@@ -7882,7 +7901,7 @@ field_commands (int command, guint8 *p, guint8 *end, Buffer *buf)
 static void
 buffer_add_cattr_arg (Buffer *buf, MonoType *t, MonoDomain *domain, MonoObject *val)
 {
-       if (val && val->vtable->klass == mono_defaults.monotype_class) {
+       if (val && val->vtable->klass == mono_defaults.runtimetype_class) {
                /* Special case these so the client doesn't have to handle Type objects */
                
                buffer_add_byte (buf, VALUE_TYPE_ID_TYPE);
@@ -8764,13 +8783,15 @@ method_commands_internal (int command, MonoMethod *method, MonoDomain *domain, g
                // FIXME: Generics
                switch (mono_metadata_token_code (token)) {
                case MONO_TOKEN_STRING: {
+                       MonoError error;
                        MonoString *s;
                        char *s2;
 
-                       s = mono_ldstr (domain, method->klass->image, mono_metadata_token_index (token));
-                       g_assert (s);
+                       s = mono_ldstr_checked (domain, method->klass->image, mono_metadata_token_index (token), &error);
+                       mono_error_assert_ok (&error); /* FIXME don't swallow the error */
 
-                       s2 = mono_string_to_utf8 (s);
+                       s2 = mono_string_to_utf8_checked (s, &error);
+                       mono_error_assert_ok (&error);
 
                        buffer_add_byte (buf, TOKEN_TYPE_STRING);
                        buffer_add_string (buf, s2);
@@ -8778,6 +8799,7 @@ method_commands_internal (int command, MonoMethod *method, MonoDomain *domain, g
                        break;
                }
                default: {
+                       MonoError error;
                        gpointer val;
                        MonoClass *handle_class;
 
@@ -8791,7 +8813,6 @@ method_commands_internal (int command, MonoMethod *method, MonoDomain *domain, g
                                        break;
                                }
                        } else {
-                               MonoError error;
                                val = mono_ldtoken_checked (method->klass->image, token, &handle_class, NULL, &error);
                                if (!val)
                                        g_error ("Could not load token due to %s", mono_error_get_message (&error));
@@ -8812,7 +8833,8 @@ method_commands_internal (int command, MonoMethod *method, MonoDomain *domain, g
                        } else if (handle_class == mono_defaults.string_class) {
                                char *s;
 
-                               s = mono_string_to_utf8 ((MonoString *)val);
+                               s = mono_string_to_utf8_checked ((MonoString *)val, &error);
+                               mono_error_assert_ok (&error);
                                buffer_add_byte (buf, TOKEN_TYPE_STRING);
                                buffer_add_string (buf, s);
                                g_free (s);
@@ -9328,7 +9350,9 @@ string_commands (int command, guint8 *p, guint8 *end, Buffer *buf)
                        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);
+                       MonoError error;
+                       s = mono_string_to_utf8_checked (str, &error);
+                       mono_error_assert_ok (&error);
                        buffer_add_string (buf, s);
                        g_free (s);
                }
@@ -9793,18 +9817,17 @@ debugger_thread (void *arg)
        ErrorCode err;
        gboolean no_reply;
        gboolean attach_failed = FALSE;
-       gpointer attach_cookie, attach_dummy;
 
        DEBUG_PRINTF (1, "[dbg] Agent thread started, pid=%p\n", (gpointer) (gsize) mono_native_thread_id_get ());
 
        debugger_thread_id = mono_native_thread_id_get ();
 
-       attach_cookie = mono_jit_thread_attach (mono_get_root_domain (), &attach_dummy);
-       MonoInternalThread *thread = mono_thread_internal_current ();
-       mono_thread_set_name_internal (thread, mono_string_new (mono_get_root_domain (), "Debugger agent"), TRUE, &error);
+       MonoThread *thread = mono_thread_attach (mono_get_root_domain ());
+       mono_thread_set_name_internal (thread->internal_thread, mono_string_new (mono_get_root_domain (), "Debugger agent"), TRUE, &error);
        mono_error_assert_ok (&error);
 
-       thread->flags |= MONO_THREAD_FLAG_DONT_MANAGE;
+       thread->internal_thread->state |= ThreadState_Background;
+       thread->internal_thread->flags |= MONO_THREAD_FLAG_DONT_MANAGE;
 
        mono_set_is_debugger_attached (TRUE);
        
@@ -9956,8 +9979,6 @@ debugger_thread (void *arg)
                start_debugger_thread ();
        }
 
-       mono_jit_thread_detach (attach_cookie, &attach_dummy);
-
        return 0;
 }
 
index aa80289292431607f3c68cb9b344b3e5fa7fea28..1a7b15b6f55ad75f301e44531a82e8714d3c280d 100644 (file)
@@ -399,11 +399,14 @@ mini_regression_step (MonoImage *image, int verbose, int *total_run, int *total,
                                if (verbose >= 2)
                                        g_print ("Running '%s' ...\n", method->name);
 #ifdef MONO_USE_AOT_COMPILER
-                               if ((func = (TestMethod)mono_aot_get_method (mono_get_root_domain (), method)))
-                                       ;
-                               else
-#endif
+                               MonoError error;
+                               func = (TestMethod)mono_aot_get_method_checked (mono_get_root_domain (), method, &error);
+                               mono_error_cleanup (&error);
+                               if (!func)
                                        func = (TestMethod)(gpointer)cfg->native_code;
+#else
+                                       func = (TestMethod)(gpointer)cfg->native_code;
+#endif
                                func = (TestMethod)mono_create_ftnptr (mono_get_root_domain (), func);
                                result = func ();
                                if (result != expected) {
index 8f7b81b30a217b43f87cf259b4fd02b59454e039..abfa1ffe73b3cf93737bc63885693e13034587f3 100644 (file)
@@ -262,7 +262,7 @@ alloc_dreg (MonoCompile *cfg, MonoStackType stack_type)
 
 #define NEW_LDSTRLITCONST(cfg,dest,val) NEW_AOTCONST ((cfg), (dest), MONO_PATCH_INFO_LDSTR_LIT, (val))
 
-#define NEW_TYPE_FROM_HANDLE_CONST(cfg,dest,image,token,generic_context) NEW_AOTCONST_TOKEN ((cfg), (dest), MONO_PATCH_INFO_TYPE_FROM_HANDLE, (image), (token), (generic_context), STACK_OBJ, mono_defaults.monotype_class)
+#define NEW_TYPE_FROM_HANDLE_CONST(cfg,dest,image,token,generic_context) NEW_AOTCONST_TOKEN ((cfg), (dest), MONO_PATCH_INFO_TYPE_FROM_HANDLE, (image), (token), (generic_context), STACK_OBJ, mono_defaults.runtimetype_class)
 
 #define NEW_LDTOKENCONST(cfg,dest,image,token,generic_context) NEW_AOTCONST_TOKEN ((cfg), (dest), MONO_PATCH_INFO_LDTOKEN, (image), (token), (generic_context), STACK_PTR, NULL)
 
@@ -448,7 +448,7 @@ handle_gsharedvt_ldaddr (MonoCompile *cfg)
 
 #define EMIT_NEW_LDSTRLITCONST(cfg,dest,val) do { NEW_AOTCONST ((cfg), (dest), MONO_PATCH_INFO_LDSTR_LIT, (val)); MONO_ADD_INS ((cfg)->cbb, (dest)); } while (0)
 
-#define EMIT_NEW_TYPE_FROM_HANDLE_CONST(cfg,dest,image,token,generic_context) do { NEW_AOTCONST_TOKEN ((cfg), (dest), MONO_PATCH_INFO_TYPE_FROM_HANDLE, (image), (token), (generic_context), STACK_OBJ, mono_defaults.monotype_class); MONO_ADD_INS ((cfg)->cbb, (dest)); } while (0)
+#define EMIT_NEW_TYPE_FROM_HANDLE_CONST(cfg,dest,image,token,generic_context) do { NEW_AOTCONST_TOKEN ((cfg), (dest), MONO_PATCH_INFO_TYPE_FROM_HANDLE, (image), (token), (generic_context), STACK_OBJ, mono_defaults.runtimetype_class); MONO_ADD_INS ((cfg)->cbb, (dest)); } while (0)
 
 #define EMIT_NEW_LDTOKENCONST(cfg,dest,image,token,generic_context) do { NEW_AOTCONST_TOKEN ((cfg), (dest), MONO_PATCH_INFO_LDTOKEN, (image), (token), (generic_context), STACK_PTR, NULL); MONO_ADD_INS ((cfg)->cbb, (dest)); } while (0)
 
index 13946834eec730ed76672cb91de14c153256a494..39abeb285497461e407cb5f3f1bfb3dd0fa96d7b 100644 (file)
@@ -1126,16 +1126,31 @@ mono_helper_compile_generic_method (MonoObject *obj, MonoMethod *method, gpointe
        return addr;
 }
 
+MonoString*
+ves_icall_mono_ldstr (MonoDomain *domain, MonoImage *image, guint32 idx)
+{
+       MonoError error;
+       MonoString *result = mono_ldstr_checked (domain, image, idx, &error);
+       mono_error_set_pending_exception (&error);
+       return result;
+}
+
 MonoString*
 mono_helper_ldstr (MonoImage *image, guint32 idx)
 {
-       return mono_ldstr (mono_domain_get (), image, idx);
+       MonoError error;
+       MonoString *result = mono_ldstr_checked (mono_domain_get (), image, idx, &error);
+       mono_error_set_pending_exception (&error);
+       return result;
 }
 
 MonoString*
 mono_helper_ldstr_mscorlib (guint32 idx)
 {
-       return mono_ldstr (mono_domain_get (), mono_defaults.corlib, idx);
+       MonoError error;
+       MonoString *result = mono_ldstr_checked (mono_domain_get (), mono_defaults.corlib, idx, &error);
+       mono_error_set_pending_exception (&error);
+       return result;
 }
 
 MonoObject*
@@ -1427,6 +1442,14 @@ mono_generic_class_init (MonoVTable *vtable)
        mono_error_set_pending_exception (&error);
 }
 
+void
+ves_icall_mono_delegate_ctor (MonoObject *this_obj, MonoObject *target, gpointer addr)
+{
+       MonoError error;
+       mono_delegate_ctor (this_obj, target, addr, &error);
+       mono_error_set_pending_exception (&error);
+}
+
 gpointer
 mono_fill_class_rgctx (MonoVTable *vtable, int index)
 {
@@ -1553,7 +1576,8 @@ resolve_vcall (MonoVTable *vt, int slot, MonoMethod *imt_method, gpointer *out_a
        /* Same as in common_call_trampoline () */
 
        /* Avoid loading metadata or creating a generic vtable if possible */
-       addr = mono_aot_get_method_from_vt_slot (mono_domain_get (), vt, slot);
+       addr = mono_aot_get_method_from_vt_slot (mono_domain_get (), vt, slot, &error);
+       mono_error_raise_exception (&error); // FIXME: Don't raise here
        if (addr && !vt->klass->valuetype)
                return mono_create_ftnptr (mono_domain_get (), addr);
 
@@ -1845,3 +1869,17 @@ mono_interruption_checkpoint_from_trampoline (void)
        if (ex)
                mono_raise_exception (ex);
 }
+
+void
+mono_throw_method_access (MonoMethod *callee, MonoMethod *caller)
+{
+       char *callee_name = mono_method_full_name (callee, 1);
+       char *caller_name = mono_method_full_name (caller, 1);
+       MonoError error;
+
+       mono_error_init (&error);
+       mono_error_set_generic_error (&error, "System", "MethodAccessException", "Method `%s' is inaccessible from method `%s'\n", callee_name, caller_name);
+       mono_error_set_pending_exception (&error);
+       g_free (callee_name);
+       g_free (caller_name);
+}
index c90c5de2c596fd0226642c1ec74d683d026e4252..319ec902a013c47aaac095493c859aee047d2149 100644 (file)
@@ -101,6 +101,9 @@ double mono_fmod(double a, double b);
 
 gpointer mono_helper_compile_generic_method (MonoObject *obj, MonoMethod *method, gpointer *this_arg);
 
+MonoString*
+ves_icall_mono_ldstr (MonoDomain *domain, MonoImage *image, guint32 idx);
+
 MonoString *mono_helper_ldstr (MonoImage *image, guint32 idx);
 
 MonoString *mono_helper_ldstr_mscorlib (guint32 idx);
@@ -189,6 +192,9 @@ ves_icall_runtime_class_init (MonoVTable *vtable);
 void
 mono_generic_class_init (MonoVTable *vtable);
 
+void
+ves_icall_mono_delegate_ctor (MonoObject *this_obj, MonoObject *target, gpointer addr);
+
 MonoObject*
 mono_gsharedvt_constrained_call (gpointer mp, MonoMethod *cmethod, MonoClass *klass, gboolean deref_arg, gpointer *args);
 
@@ -218,4 +224,6 @@ MonoObject* mono_get_method_object (MonoMethod *method);
 
 double mono_ckfinite (double d);
 
+void mono_throw_method_access (MonoMethod *callee, MonoMethod *caller);
+
 #endif /* __MONO_JIT_ICALLS_H__ */
index f2dc914e374aaf959ca6cbb97336efe5bb72ab6c..ed5eca5248beb4e1d7bff51a183720e7cc3e2498 100644 (file)
@@ -88,7 +88,7 @@ MONO_API char*       mono_get_runtime_build_info    (void);
 MONO_API MonoJitInfo *
 mono_get_jit_info_from_method (MonoDomain *domain, MonoMethod *method);
 
-MONO_API void *
+MONO_API MONO_RT_EXTERNAL_ONLY void *
 mono_aot_get_method (MonoDomain *domain, MonoMethod *method);
 
 MONO_END_DECLS
index c8cd9d6d0a6e5c19e57f5c9311a84448442ef4eb..a35a7a39f21405c92b2b9602205116099f4b7852 100644 (file)
@@ -555,13 +555,13 @@ mono_local_cprop (MonoCompile *cfg)
                                        ins->inst_destbasereg = def->sreg1;
                                        ins->inst_offset += def->inst_imm;
                                }
+
+                               if (!MONO_IS_STORE_MEMBASE (ins) && !vreg_is_volatile (cfg, ins->dreg)) {
+                                       defs [ins->dreg] = ins;
+                                       def_index [ins->dreg] = ins_index;
+                               }
                        }
                        
-                       if ((spec [MONO_INST_DEST] != ' ') && !MONO_IS_STORE_MEMBASE (ins) && !vreg_is_volatile (cfg, ins->dreg)) {
-                               defs [ins->dreg] = ins;
-                               def_index [ins->dreg] = ins_index;
-                       }
-
                        if (MONO_IS_CALL (ins))
                                last_call_index = ins_index;
 
index de8ab61e3d5b64550e733981fcce690c013d7860..276f7952fba6624a64c7ac93449080c14aa9876f 100644 (file)
@@ -100,17 +100,17 @@ probe_embedded (const char *program, int *ref_argc, char **ref_argv [])
                        if (entry_point == NULL)
                                entry_point = aname;
                } else if (strncmp (kind, "config:", strlen ("config:")) == 0){
-                       printf ("c-Found: %s %llx\n", kind, offset);
+                       printf ("c-Found: %s %llx\n", kind, (long long)offset);
                        char *config = kind + strlen ("config:");
                        char *aname = g_strdup (config);
                        aname [strlen(aname)-strlen(".config")] = 0;
                        mono_register_config_for_assembly (aname, config);
                } else if (strncmp (kind, "system_config:", strlen ("system_config:")) == 0){
-                       printf ("TODO s-Found: %s %llx\n", kind, offset);
+                       printf ("TODO s-Found: %s %llx\n", kind, (long long)offset);
                } else if (strncmp (kind, "options:", strlen ("options:")) == 0){
                        mono_parse_options_from (kind + strlen("options:"), ref_argc, ref_argv);
                } else if (strncmp (kind, "config_dir:", strlen ("config_dir:")) == 0){
-                       printf ("TODO Found: %s %llx\n", kind, offset);
+                       printf ("TODO Found: %s %llx\n", kind, (long long)offset);
                } else {
                        fprintf (stderr, "Unknown stream on embedded package: %s\n", kind);
                        exit (1);
index e882bfe5f41a797affcd7e6e57e1a60d8bbea604..207816d1525a9493d0c732b58c638b8c9a9a0e34 100644 (file)
@@ -64,6 +64,7 @@
 #include <mono/utils/mono-error-internals.h>
 #include <mono/metadata/mono-basic-block.h>
 #include <mono/metadata/reflection-internals.h>
+#include <mono/utils/mono-threads-coop.h>
 
 #include "trace.h"
 
                if (cfg->exception_type != MONO_EXCEPTION_NONE) \
                        goto exception_exit;                                            \
        } while (0)
-#define METHOD_ACCESS_FAILURE(method, cmethod) do {                    \
-               method_access_failure ((cfg), (method), (cmethod));                     \
-               goto exception_exit;                                                                            \
-       } while (0)
 #define FIELD_ACCESS_FAILURE(method, field) do {                                       \
                field_access_failure ((cfg), (method), (field));                        \
                goto exception_exit;    \
@@ -377,17 +374,6 @@ break_on_unverified (void)
                G_BREAKPOINT ();
 }
 
-static MONO_NEVER_INLINE void
-method_access_failure (MonoCompile *cfg, MonoMethod *method, MonoMethod *cil_method)
-{
-       char *method_fname = mono_method_full_name (method, TRUE);
-       char *cil_method_fname = mono_method_full_name (cil_method, TRUE);
-       mono_cfg_set_exception (cfg, MONO_EXCEPTION_MONO_ERROR);
-       mono_error_set_generic_error (&cfg->error, "System", "MethodAccessException", "Method `%s' is inaccessible from method `%s'\n", cil_method_fname, method_fname);
-       g_free (method_fname);
-       g_free (cil_method_fname);
-}
-
 static MONO_NEVER_INLINE void
 field_access_failure (MonoCompile *cfg, MonoMethod *method, MonoClassField *field)
 {
@@ -3156,6 +3142,18 @@ mono_emit_widen_call_res (MonoCompile *cfg, MonoInst *ins, MonoMethodSignature *
        return ins;
 }
 
+
+static void
+emit_method_access_failure (MonoCompile *cfg, MonoMethod *method, MonoMethod *cil_method)
+{
+       MonoInst *args [16];
+
+       args [0] = emit_get_rgctx_method (cfg, mono_method_check_context_used (method), method, MONO_RGCTX_INFO_METHOD);
+       args [1] = emit_get_rgctx_method (cfg, mono_method_check_context_used (cil_method), cil_method, MONO_RGCTX_INFO_METHOD);
+
+       mono_emit_jit_icall (cfg, mono_throw_method_access, args);
+}
+
 static MonoMethod*
 get_memcpy_method (void)
 {
@@ -4527,6 +4525,9 @@ handle_castclass (MonoCompile *cfg, MonoClass *klass, MonoInst *src, guint8 *ip,
        int context_used;
        MonoInst *klass_inst = NULL, *res;
 
+       if (src->opcode == OP_PCONST && src->inst_p0 == 0)
+               return src;
+
        context_used = mini_class_check_context_used (cfg, klass);
 
        if (!context_used && mini_class_has_reference_variant_generic_argument (cfg, klass, context_used)) {
@@ -4558,7 +4559,7 @@ handle_castclass (MonoCompile *cfg, MonoClass *klass, MonoInst *src, guint8 *ip,
        if (context_used) {
                MonoInst *args [3];
 
-               if(mini_class_has_reference_variant_generic_argument (cfg, klass, context_used) || is_complex_isinst (klass)) {
+               if (mini_class_has_reference_variant_generic_argument (cfg, klass, context_used) || is_complex_isinst (klass)) {
                        MonoInst *cache_ins;
 
                        cache_ins = emit_get_rgctx_klass (cfg, context_used, klass, MONO_RGCTX_INFO_CAST_CACHE);
@@ -6826,11 +6827,13 @@ mini_emit_inst_for_method (MonoCompile *cfg, MonoMethod *cmethod, MonoMethodSign
                        NULLIFY_INS (args [0]);
 
                        // FIXME: Ugly
-                       s = mono_ldstr (cfg->domain, ji->image, mono_metadata_token_index (ji->token));
+                       s = mono_ldstr_checked (cfg->domain, ji->image, mono_metadata_token_index (ji->token), &cfg->error);
+                       return_val_if_nok (&cfg->error, NULL);
                        MONO_INST_NEW (cfg, ins, OP_OBJC_GET_SELECTOR);
                        ins->dreg = mono_alloc_ireg (cfg);
                        // FIXME: Leaks
-                       ins->inst_p0 = mono_string_to_utf8 (s);
+                       ins->inst_p0 = mono_string_to_utf8_checked (s, &cfg->error);
+                       return_val_if_nok (&cfg->error, NULL);
                        MONO_ADD_INS (cfg->cbb, ins);
                        return ins;
                }
@@ -7463,20 +7466,19 @@ mini_get_class (MonoMethod *method, guint32 token, MonoGenericContext *context)
 }
 
 static inline MonoMethodSignature*
-mini_get_signature (MonoMethod *method, guint32 token, MonoGenericContext *context)
+mini_get_signature (MonoMethod *method, guint32 token, MonoGenericContext *context, MonoError *error)
 {
        MonoMethodSignature *fsig;
 
+       mono_error_init (error);
        if (method->wrapper_type != MONO_WRAPPER_NONE) {
                fsig = (MonoMethodSignature *)mono_method_get_wrapper_data (method, token);
        } else {
-               fsig = mono_metadata_parse_signature (method->klass->image, token);
+               fsig = mono_metadata_parse_signature_checked (method->klass->image, token, error);
+               return_val_if_nok (error, NULL);
        }
        if (context) {
-               MonoError error;
-               fsig = mono_inflate_generic_signature(fsig, context, &error);
-               // FIXME:
-               g_assert(mono_error_ok(&error));
+               fsig = mono_inflate_generic_signature(fsig, context, error);
        }
        return fsig;
 }
@@ -9084,7 +9086,8 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                        CHECK_STACK (1);
                        --sp;
                        addr = *sp;
-                       fsig = mini_get_signature (method, token, generic_context);
+                       fsig = mini_get_signature (method, token, generic_context, &cfg->error);
+                       CHECK_CFG_ERROR;
 
                        if (method->dynamic && fsig->pinvoke) {
                                MonoInst *args [3];
@@ -9264,7 +9267,7 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                }
                                if (!mono_method_can_access_method (method_definition, target_method) &&
                                        !mono_method_can_access_method (method, cil_method))
-                                       METHOD_ACCESS_FAILURE (method, cil_method);
+                                       emit_method_access_failure (cfg, method, cil_method);
                        }
 
                        if (mono_security_core_clr_enabled ())
@@ -9676,7 +9679,8 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                }
                                goto call_end;
                        }
-
+                       CHECK_CFG_ERROR;
+                       
                        /* Inlining */
                        if ((cfg->opt & MONO_OPT_INLINE) &&
                                (!virtual_ || !(cmethod->flags & METHOD_ATTRIBUTE_VIRTUAL) || MONO_METHOD_IS_FINAL (cmethod)) &&
@@ -10735,8 +10739,9 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                        EMIT_NEW_DOMAINCONST (cfg, iargs [0]);
                                        EMIT_NEW_IMAGECONST (cfg, iargs [1], image);
                                        EMIT_NEW_ICONST (cfg, iargs [2], mono_metadata_token_index (n));
-                                       *sp = mono_emit_jit_icall (cfg, mono_ldstr, iargs);
-                                       mono_ldstr (cfg->domain, image, mono_metadata_token_index (n));
+                                       *sp = mono_emit_jit_icall (cfg, ves_icall_mono_ldstr, iargs);
+                                       mono_ldstr_checked (cfg->domain, image, mono_metadata_token_index (n), &cfg->error);
+                                       CHECK_CFG_ERROR;
                                } else {
                                        if (cfg->cbb->out_of_line) {
                                                MonoInst *iargs [2];
@@ -10764,7 +10769,9 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                        else {
                                                NEW_PCONST (cfg, ins, NULL);
                                                ins->type = STACK_OBJ;
-                                               ins->inst_p0 = mono_ldstr (cfg->domain, image, mono_metadata_token_index (n));
+                                               ins->inst_p0 = mono_ldstr_checked (cfg->domain, image, mono_metadata_token_index (n), &cfg->error);
+                                               CHECK_CFG_ERROR;
+                                               
                                                if (!ins->inst_p0)
                                                        OUT_OF_MEMORY_FAILURE;
 
@@ -12762,59 +12769,68 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                ip += 6;
                                break;
                        }
+                       case CEE_MONO_ATOMIC_STORE_I4: {
+                               g_assert (mono_arch_opcode_supported (OP_ATOMIC_STORE_I4));
+
+                               CHECK_OPSIZE (6);
+                               CHECK_STACK (2);
+                               sp -= 2;
+
+                               MONO_INST_NEW (cfg, ins, OP_ATOMIC_STORE_I4);
+                               ins->dreg = sp [0]->dreg;
+                               ins->sreg1 = sp [1]->dreg;
+                               ins->backend.memory_barrier_kind = (int) read32 (ip + 2);
+                               MONO_ADD_INS (cfg->cbb, ins);
+
+                               ip += 6;
+                               break;
+                       }
                        case CEE_MONO_JIT_ATTACH: {
                                MonoInst *args [16], *domain_ins;
                                MonoInst *ad_ins, *jit_tls_ins;
                                MonoBasicBlock *next_bb = NULL, *call_bb = NULL;
 
-                               cfg->attach_cookie = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_LOCAL);
-                               cfg->attach_dummy = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_LOCAL);
-
-                               if (mono_threads_is_coop_enabled ()) {
-                                       /* AOT code is only used in the root domain */
-                                       EMIT_NEW_PCONST (cfg, args [0], cfg->compile_aot ? NULL : cfg->domain);
-                                       EMIT_NEW_VARLOADA (cfg, args [1], cfg->attach_dummy, cfg->attach_dummy->inst_vtype);
-                                       ins = mono_emit_jit_icall (cfg, mono_jit_thread_attach, args);
-                                       MONO_EMIT_NEW_UNALU (cfg, OP_MOVE, cfg->attach_cookie->dreg, ins->dreg);
-                               } else {
-                                       EMIT_NEW_PCONST (cfg, ins, NULL);
-                                       MONO_EMIT_NEW_UNALU (cfg, OP_MOVE, cfg->attach_cookie->dreg, ins->dreg);
+                               g_assert (!mono_threads_is_coop_enabled ());
 
-                                       ad_ins = mono_get_domain_intrinsic (cfg);
-                                       jit_tls_ins = mono_get_jit_tls_intrinsic (cfg);
+                               cfg->orig_domain_var = mono_compile_create_var (cfg, &mono_defaults.int_class->byval_arg, OP_LOCAL);
 
-                                       if (cfg->backend->have_tls_get && ad_ins && jit_tls_ins) {
-                                               NEW_BBLOCK (cfg, next_bb);
-                                               NEW_BBLOCK (cfg, call_bb);
+                               EMIT_NEW_PCONST (cfg, ins, NULL);
+                               MONO_EMIT_NEW_UNALU (cfg, OP_MOVE, cfg->orig_domain_var->dreg, ins->dreg);
 
-                                               if (cfg->compile_aot) {
-                                                       /* AOT code is only used in the root domain */
-                                                       EMIT_NEW_PCONST (cfg, domain_ins, NULL);
-                                               } else {
-                                                       EMIT_NEW_PCONST (cfg, domain_ins, cfg->domain);
-                                               }
-                                               MONO_ADD_INS (cfg->cbb, ad_ins);
-                                               MONO_EMIT_NEW_BIALU (cfg, OP_COMPARE, -1, ad_ins->dreg, domain_ins->dreg);
-                                               MONO_EMIT_NEW_BRANCH_BLOCK (cfg, OP_PBNE_UN, call_bb);
+                               ad_ins = mono_get_domain_intrinsic (cfg);
+                               jit_tls_ins = mono_get_jit_tls_intrinsic (cfg);
 
-                                               MONO_ADD_INS (cfg->cbb, jit_tls_ins);
-                                               MONO_EMIT_NEW_BIALU_IMM (cfg, OP_COMPARE_IMM, -1, jit_tls_ins->dreg, 0);
-                                               MONO_EMIT_NEW_BRANCH_BLOCK (cfg, OP_PBEQ, call_bb);
+                               if (cfg->backend->have_tls_get && ad_ins && jit_tls_ins) {
+                                       NEW_BBLOCK (cfg, next_bb);
+                                       NEW_BBLOCK (cfg, call_bb);
 
-                                               MONO_EMIT_NEW_BRANCH_BLOCK (cfg, OP_BR, next_bb);
-                                               MONO_START_BB (cfg, call_bb);
+                                       if (cfg->compile_aot) {
+                                               /* AOT code is only used in the root domain */
+                                               EMIT_NEW_PCONST (cfg, domain_ins, NULL);
+                                       } else {
+                                               EMIT_NEW_PCONST (cfg, domain_ins, cfg->domain);
                                        }
+                                       MONO_ADD_INS (cfg->cbb, ad_ins);
+                                       MONO_EMIT_NEW_BIALU (cfg, OP_COMPARE, -1, ad_ins->dreg, domain_ins->dreg);
+                                       MONO_EMIT_NEW_BRANCH_BLOCK (cfg, OP_PBNE_UN, call_bb);
 
-                                       /* AOT code is only used in the root domain */
-                                       EMIT_NEW_PCONST (cfg, args [0], cfg->compile_aot ? NULL : cfg->domain);
-                                       EMIT_NEW_PCONST (cfg, args [1], NULL);
-                                       ins = mono_emit_jit_icall (cfg, mono_jit_thread_attach, args);
-                                       MONO_EMIT_NEW_UNALU (cfg, OP_MOVE, cfg->attach_cookie->dreg, ins->dreg);
+                                       MONO_ADD_INS (cfg->cbb, jit_tls_ins);
+                                       MONO_EMIT_NEW_BIALU_IMM (cfg, OP_COMPARE_IMM, -1, jit_tls_ins->dreg, 0);
+                                       MONO_EMIT_NEW_BRANCH_BLOCK (cfg, OP_PBEQ, call_bb);
 
-                                       if (next_bb)
-                                               MONO_START_BB (cfg, next_bb);
+                                       MONO_EMIT_NEW_BRANCH_BLOCK (cfg, OP_BR, next_bb);
+                                       MONO_START_BB (cfg, call_bb);
                                }
 
+                               /* AOT code is only used in the root domain */
+                               EMIT_NEW_PCONST (cfg, args [0], cfg->compile_aot ? NULL : cfg->domain);
+                               ins = mono_emit_jit_icall (cfg, mono_jit_thread_attach, args);
+                               MONO_EMIT_NEW_UNALU (cfg, OP_MOVE, cfg->orig_domain_var->dreg, ins->dreg);
+
+                               if (next_bb)
+                                       MONO_START_BB (cfg, next_bb);
+
+
                                ip += 2;
                                break;
                        }
@@ -12823,9 +12839,8 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
 
                                /* Restore the original domain */
                                dreg = alloc_ireg (cfg);
-                               EMIT_NEW_UNALU (cfg, args [0], OP_MOVE, dreg, cfg->attach_cookie->dreg);
-                               EMIT_NEW_VARLOADA (cfg, args [1], cfg->attach_dummy, cfg->attach_dummy->inst_vtype);
-                               mono_emit_jit_icall (cfg, mono_jit_thread_detach, args);
+                               EMIT_NEW_UNALU (cfg, args [0], OP_MOVE, dreg, cfg->orig_domain_var->dreg);
+                               mono_emit_jit_icall (cfg, mono_jit_set_domain, args);
                                ip += 2;
                                break;
                        }
@@ -12851,7 +12866,8 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                CHECK_STACK (1);
                                --sp;
                                addr = *sp;
-                               fsig = mini_get_signature (method, token, generic_context);
+                               fsig = mini_get_signature (method, token, generic_context, &cfg->error);
+                               CHECK_CFG_ERROR;
 
                                if (cfg->llvm_only)
                                        cfg->signatures = g_slist_prepend_mempool (cfg->mempool, cfg->signatures, fsig);
@@ -12973,6 +12989,12 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
                                constrained_class = NULL;
                                break;
                        }
+                       case CEE_MONO_LDDOMAIN:
+                               CHECK_STACK_OVF (1);
+                               EMIT_NEW_PCONST (cfg, ins, cfg->compile_aot ? NULL : cfg->domain);
+                               ip += 2;
+                               *sp++ = ins;
+                               break;
                        default:
                                g_error ("opcode 0x%02x 0x%02x not handled", MONO_CUSTOM_PREFIX, ip [1]);
                                break;
@@ -13072,7 +13094,7 @@ mono_method_to_ir (MonoCompile *cfg, MonoMethod *method, MonoBasicBlock *start_b
 
                                cil_method = cmethod;
                                if (!dont_verify && !cfg->skip_visibility && !mono_method_can_access_method (method, cmethod))
-                                       METHOD_ACCESS_FAILURE (method, cil_method);
+                                       emit_method_access_failure (cfg, method, cil_method);
 
                                if (mono_security_core_clr_enabled ())
                                        ensure_method_is_allowed_to_call_method (cfg, method, cmethod);
index dffa9370f27024990fe7e52ab6a01d3128ca4498..ddf699c58caf5878afcec17bdb707222e4820d97 100644 (file)
@@ -5,6 +5,7 @@
  *   Zoltan Varga <vargaz@gmail.com>
  *   Rodrigo Kumpera <kumpera@gmail.com>
  *   Andi McClure <andi.mcclure@xamarin.com>
+ *   Johan Lorensson <johan.lorensson@xamarin.com>
  *
  * Copyright 2015 Xamarin, Inc (http://www.xamarin.com)
  * Licensed under the MIT license. See LICENSE file in the project root for full license information.
@@ -80,9 +81,17 @@ add_to_map (GPtrArray *map, int src, int dst)
 
 /*
  * Slot mapping:
+ *
+ * System V:
  * 0..5  - rdi, rsi, rdx, rcx, r8, r9
  * 6..13 - xmm0..xmm7
  * 14..  - stack slots
+ *
+ * Windows:
+ * 0..3 - rcx, rdx, r8, r9
+ * 4..7 - xmm0..xmm3
+ * 8..  - stack slots
+ *
  */
 static inline int
 map_reg (int reg)
@@ -356,7 +365,7 @@ mono_arch_get_gsharedvt_call_info (gpointer addr, MonoMethodSignature *normal_si
        DEBUG_AMD64_GSHAREDVT_PRINT ("-- return in (%s) out (%s) var_ret %d\n", arg_info_desc (&caller_cinfo->ret),  arg_info_desc (&callee_cinfo->ret), var_ret);
 
        if (cinfo->ret.storage == ArgValuetypeAddrInIReg) {
-               /* Both the caller and the callee pass the vtype ret address in r8 */
+               /* Both the caller and the callee pass the vtype ret address in r8 (System V) and RCX or RDX (Windows) */
                g_assert (gcinfo->ret.storage == ArgValuetypeAddrInIReg || gcinfo->ret.storage == ArgGsharedvtVariableInReg);
                add_to_map (map, map_reg (cinfo->ret.reg), map_reg (cinfo->ret.reg));
        }
@@ -441,7 +450,10 @@ mono_arch_get_gsharedvt_call_info (gpointer addr, MonoMethodSignature *normal_si
                                case MONO_TYPE_I8:
                                        info->ret_marshal = GSHAREDVT_RET_I8;
                                        break;
-
+                               case MONO_TYPE_GENERICINST:
+                                       g_assert (!mono_type_generic_inst_is_valuetype (ret));
+                                       info->ret_marshal = GSHAREDVT_RET_I8;
+                                       break;
                                default:
                                        g_error ("Gsharedvt can't handle dst type [%d]", (int)sig->ret->type);
                                }
index 3e3d56c54f2db331337cdc190c81cdb7fc65f9c2..1bb14e5abd2c4f43eed0d67118a82037ad151d71 100644 (file)
@@ -5,6 +5,7 @@
  *   Zoltan Varga <vargaz@gmail.com>
  *   Rodrigo Kumpera <kumpera@gmail.com>
  *   Andi McClure <andi.mcclure@xamarin.com>
+ *   Johan Lorensson <johan.lorensson@xamarin.com>
  *
  * Copyright 2015 Xamarin, Inc (http://www.xamarin.com)
  * Licensed under the MIT license. See LICENSE file in the project root for full license information.
index 0a3f9ba9250b5300280809aff40dd17899bb02a3..f7d2973db8c9b4e66bcd8ab9d17d75b110f1bc5a 100644 (file)
@@ -797,9 +797,11 @@ add_valuetype (MonoMethodSignature *sig, ArgInfo *ainfo, MonoType *type,
 /*
  * get_call_info:
  *
- *  Obtain information about a call according to the calling convention.
- * For AMD64, see the "System V ABI, x86-64 Architecture Processor Supplement 
+ * Obtain information about a call according to the calling convention.
+ * For AMD64 System V, see the "System V ABI, x86-64 Architecture Processor Supplement
  * Draft Version 0.23" document for more information.
+ * For AMD64 Windows, see "Overview of x64 Calling Conventions",
+ * https://msdn.microsoft.com/en-us/library/ms235286.aspx
  */
 static CallInfo*
 get_call_info (MonoMemPool *mp, MonoMethodSignature *sig)
@@ -2325,10 +2327,6 @@ dyn_call_supported (MonoMethodSignature *sig, CallInfo *cinfo)
 {
        int i;
 
-#ifdef HOST_WIN32
-       return FALSE;
-#endif
-
        switch (cinfo->ret.storage) {
        case ArgNone:
        case ArgInIReg:
@@ -3443,6 +3441,73 @@ mono_amd64_emit_tls_get (guint8* code, int dreg, int tls_offset)
        return code;
 }
 
+#ifdef TARGET_WIN32
+
+#define MAX_TEB_TLS_SLOTS 64
+#define TEB_TLS_SLOTS_OFFSET 0x1480
+#define TEB_TLS_EXPANSION_SLOTS_OFFSET 0x1780
+
+static guint8*
+emit_tls_get_reg_windows (guint8* code, int dreg, int offset_reg)
+{
+       int tmp_reg = -1;
+       guint8 * more_than_64_slots = NULL;
+       guint8 * empty_slot = NULL;
+       guint8 * tls_get_reg_done = NULL;
+       
+       //Use temporary register for offset calculation?
+       if (dreg == offset_reg) {
+               tmp_reg = dreg == AMD64_RAX ? AMD64_RCX : AMD64_RAX;
+               amd64_push_reg (code, tmp_reg);
+               amd64_mov_reg_reg (code, tmp_reg, offset_reg, sizeof (gpointer));
+               offset_reg = tmp_reg;
+       }
+
+       //TEB TLS slot array only contains MAX_TEB_TLS_SLOTS items, if more is used the expansion slots must be addressed.
+       amd64_alu_reg_imm (code, X86_CMP, offset_reg, MAX_TEB_TLS_SLOTS);
+       more_than_64_slots = code;
+       amd64_branch8 (code, X86_CC_GE, 0, TRUE);
+
+       //TLS slot array, _TEB.TlsSlots, is at offset TEB_TLS_SLOTS_OFFSET and index is offset * 8 in Windows 64-bit _TEB structure.
+       amd64_shift_reg_imm (code, X86_SHL, offset_reg, 3);
+       amd64_alu_reg_imm (code, X86_ADD, offset_reg, TEB_TLS_SLOTS_OFFSET);
+
+       //TEB pointer is stored in GS segment register on Windows x64. TLS slot is located at calculated offset from that pointer.
+       x86_prefix (code, X86_GS_PREFIX);
+       amd64_mov_reg_membase (code, dreg, offset_reg, 0, sizeof (gpointer));
+               
+       tls_get_reg_done = code;
+       amd64_jump8 (code, 0);
+
+       amd64_patch (more_than_64_slots, code);
+
+       //TLS expansion slots, _TEB.TlsExpansionSlots, is at offset TEB_TLS_EXPANSION_SLOTS_OFFSET in Windows 64-bit _TEB structure.
+       x86_prefix (code, X86_GS_PREFIX);
+       amd64_mov_reg_mem (code, dreg, TEB_TLS_EXPANSION_SLOTS_OFFSET, sizeof (gpointer));
+       
+       //Check for NULL in _TEB.TlsExpansionSlots.
+       amd64_test_reg_reg (code, dreg, dreg);
+       empty_slot = code;
+       amd64_branch8 (code, X86_CC_EQ, 0, TRUE);
+       
+       //TLS expansion slots are at index offset into the expansion array.
+       //Calculate for the MAX_TEB_TLS_SLOTS offsets, since the interessting offset is offset_reg - MAX_TEB_TLS_SLOTS.
+       amd64_alu_reg_imm (code, X86_SUB, offset_reg, MAX_TEB_TLS_SLOTS);
+       amd64_shift_reg_imm (code, X86_SHL, offset_reg, 3);
+       
+       amd64_mov_reg_memindex (code, dreg, dreg, 0, offset_reg, 0, sizeof (gpointer));
+       
+       amd64_patch (empty_slot, code);
+       amd64_patch (tls_get_reg_done, code);
+
+       if (tmp_reg != -1)
+               amd64_pop_reg (code, tmp_reg);
+
+       return code;
+}
+
+#endif
+
 static guint8*
 emit_tls_get_reg (guint8* code, int dreg, int offset_reg)
 {
@@ -3467,6 +3532,8 @@ emit_tls_get_reg (guint8* code, int dreg, int offset_reg)
        amd64_mov_reg_memindex (code, dreg, dreg, 0, offset_reg, 0, 8);
        if (tmpreg != -1)
                amd64_mov_reg_membase (code, tmpreg, AMD64_RSP, -8, 8);
+#elif defined(TARGET_WIN32)
+       code = emit_tls_get_reg_windows (code, dreg, offset_reg);
 #else
        g_assert_not_reached ();
 #endif
index ff684cbce54f91ed2220113f9153658f59c43989..dc87a104e228e9e6de9342950938c96fdf248586 100644 (file)
@@ -402,18 +402,17 @@ typedef struct {
 #define MONO_ARCH_HAVE_SDB_TRAMPOLINES 1
 #define MONO_ARCH_HAVE_PATCH_CODE_NEW 1
 #define MONO_ARCH_HAVE_OP_GENERIC_CLASS_INIT 1
+#define MONO_ARCH_HAVE_GENERAL_RGCTX_LAZY_FETCH_TRAMPOLINE 1
 
 #if defined(TARGET_OSX) || defined(__linux__)
 #define MONO_ARCH_HAVE_UNWIND_BACKTRACE 1
 #endif
 
-#if defined(TARGET_OSX) || defined(__linux__)
+#if defined(TARGET_OSX) || defined(__linux__) || defined(TARGET_WIN32)
 #define MONO_ARCH_HAVE_TLS_GET_REG 1
 #endif
 
-#if !defined (TARGET_WIN32)
 #define MONO_ARCH_GSHAREDVT_SUPPORTED 1
-#endif
 
 
 #if defined(TARGET_APPLETVOS)
index 93edb0fdafb6aa21b2b374bb62ccc65b3eef1751..4fbe7c06c0886c91d4418f029b016f019d6f2339 100644 (file)
@@ -20,6 +20,7 @@
 #include <mono/utils/mono-mmap.h>
 #include <mono/utils/mono-hwcap-arm.h>
 #include <mono/utils/mono-memory-model.h>
+#include <mono/utils/mono-threads-coop.h>
 
 #include "mini-arm.h"
 #include "mini-arm-tls.h"
@@ -1362,10 +1363,25 @@ get_call_info (MonoMemPool *mp, MonoMethodSignature *sig)
                        cinfo->ret.nregs = nfields;
                        cinfo->ret.esize = esize;
                } else {
-                       if (is_pinvoke && mono_class_native_size (mono_class_from_mono_type (t), &align) <= sizeof (gpointer))
-                               cinfo->ret.storage = RegTypeStructByVal;
-                       else
+                       if (is_pinvoke) {
+                               int native_size = mono_class_native_size (mono_class_from_mono_type (t), &align);
+                               int max_size;
+
+#ifdef TARGET_WATCHOS
+                               max_size = 16;
+#else
+                               max_size = 4;
+#endif
+                               if (native_size <= max_size) {
+                                       cinfo->ret.storage = RegTypeStructByVal;
+                                       cinfo->ret.struct_size = native_size;
+                                       cinfo->ret.nregs = ALIGN_TO (native_size, 4) / 4;
+                               } else {
+                                       cinfo->ret.storage = RegTypeStructByAddr;
+                               }
+                       } else {
                                cinfo->ret.storage = RegTypeStructByAddr;
+                       }
                }
                break;
        case MONO_TYPE_VAR:
@@ -1518,6 +1534,27 @@ get_call_info (MonoMemPool *mp, MonoMethodSignature *sig)
                                        size = mini_type_stack_size_full (t, &align, FALSE);
                        }
                        DEBUG(g_print ("load %d bytes struct\n", size));
+
+#ifdef TARGET_WATCHOS
+                       /* Watchos pass large structures by ref */
+                       /* We only do this for pinvoke to make gsharedvt/dyncall simpler */
+                       if (sig->pinvoke && size > 16) {
+                               add_general (&gr, &stack_size, ainfo, TRUE);
+                               switch (ainfo->storage) {
+                               case RegTypeGeneral:
+                                       ainfo->storage = RegTypeStructByAddr;
+                                       break;
+                               case RegTypeBase:
+                                       ainfo->storage = RegTypeStructByAddrOnStack;
+                                       break;
+                               default:
+                                       g_assert_not_reached ();
+                                       break;
+                               }
+                               break;
+                       }
+#endif
+
                        align_size = size;
                        nwords = 0;
                        align_size += (sizeof (gpointer) - 1);
@@ -1804,21 +1841,16 @@ mono_arch_allocate_vars (MonoCompile *cfg)
 
        switch (cinfo->ret.storage) {
        case RegTypeStructByVal:
-               cfg->ret->opcode = OP_REGOFFSET;
-               cfg->ret->inst_basereg = cfg->frame_reg;
-               offset += sizeof (gpointer) - 1;
-               offset &= ~(sizeof (gpointer) - 1);
-               cfg->ret->inst_offset = - offset;
-               offset += sizeof(gpointer);
-               break;
        case RegTypeHFA:
                /* Allocate a local to hold the result, the epilog will copy it to the correct place */
                offset = ALIGN_TO (offset, 8);
                cfg->ret->opcode = OP_REGOFFSET;
                cfg->ret->inst_basereg = cfg->frame_reg;
                cfg->ret->inst_offset = offset;
-               // FIXME:
-               offset += 32;
+               if (cinfo->ret.storage == RegTypeStructByVal)
+                       offset += cinfo->ret.nregs * sizeof (gpointer);
+               else
+                       offset += 32;
                break;
        case RegTypeStructByAddr:
                ins = cfg->vret_addr;
@@ -2140,6 +2172,13 @@ mono_arch_get_llvm_call_info (MonoCompile *cfg, MonoMethodSignature *sig)
                linfo->ret.storage = LLVMArgVtypeRetAddr;
                linfo->vret_arg_index = cinfo->vret_arg_index;
                break;
+#if TARGET_WATCHOS
+       case RegTypeStructByVal:
+               /* LLVM models this by returning an int array */
+               linfo->ret.storage = LLVMArgAsIArgs;
+               linfo->ret.nslots = cinfo->ret.nregs;
+               break;
+#endif
        default:
                cfg->exception_message = g_strdup_printf ("unknown ret conv (%d)", cinfo->ret.storage);
                cfg->disable_llvm = TRUE;
@@ -2147,9 +2186,10 @@ mono_arch_get_llvm_call_info (MonoCompile *cfg, MonoMethodSignature *sig)
        }
 
        for (i = 0; i < n; ++i) {
+               LLVMArgInfo *lainfo = &linfo->args [i];
                ainfo = cinfo->args + i;
 
-               linfo->args [i].storage = LLVMArgNone;
+               lainfo->storage = LLVMArgNone;
 
                switch (ainfo->storage) {
                case RegTypeGeneral:
@@ -2157,11 +2197,15 @@ mono_arch_get_llvm_call_info (MonoCompile *cfg, MonoMethodSignature *sig)
                case RegTypeBase:
                case RegTypeBaseGen:
                case RegTypeFP:
-                       linfo->args [i].storage = LLVMArgNormal;
+                       lainfo->storage = LLVMArgNormal;
                        break;
                case RegTypeStructByVal:
-                       linfo->args [i].storage = LLVMArgAsIArgs;
-                       linfo->args [i].nslots = ainfo->struct_size / sizeof (gpointer);
+                       lainfo->storage = LLVMArgAsIArgs;
+                       lainfo->nslots = ainfo->struct_size / sizeof (gpointer);
+                       break;
+               case RegTypeStructByAddr:
+               case RegTypeStructByAddrOnStack:
+                       lainfo->storage = LLVMArgVtypeByRef;
                        break;
                default:
                        cfg->exception_message = g_strdup_printf ("ainfo->storage (%d)", ainfo->storage);
@@ -2189,10 +2233,14 @@ mono_arch_emit_call (MonoCompile *cfg, MonoCallInst *call)
 
        switch (cinfo->ret.storage) {
        case RegTypeStructByVal:
-               /* The JIT will transform this into a normal call */
-               call->vret_in_reg = TRUE;
-               break;
        case RegTypeHFA:
+               if (cinfo->ret.storage == RegTypeStructByVal && cinfo->ret.nregs == 1) {
+                       /* The JIT will transform this into a normal call */
+                       call->vret_in_reg = TRUE;
+                       break;
+               }
+               if (call->inst.opcode == OP_TAILCALL)
+                       break;
                /*
                 * The vtype is returned in registers, save the return area address in a local, and save the vtype into
                 * the location pointed to by it after call in emit_move_return_value ().
@@ -2306,19 +2354,12 @@ mono_arch_emit_call (MonoCompile *cfg, MonoCallInst *call)
                                mono_call_inst_add_outarg_reg (cfg, call, ins->dreg, ainfo->reg, FALSE);
                        }
                        break;
-               case RegTypeStructByAddr:
-                       NOT_IMPLEMENTED;
-#if 0
-                       /* FIXME: where si the data allocated? */
-                       arg->backend.reg3 = ainfo->reg;
-                       call->used_iregs |= 1 << ainfo->reg;
-                       g_assert_not_reached ();
-#endif
-                       break;
                case RegTypeStructByVal:
                case RegTypeGSharedVtInReg:
                case RegTypeGSharedVtOnStack:
                case RegTypeHFA:
+               case RegTypeStructByAddr:
+               case RegTypeStructByAddrOnStack:
                        MONO_INST_NEW (cfg, ins, OP_OUTARG_VT);
                        ins->opcode = OP_OUTARG_VT;
                        ins->sreg1 = in->dreg;
@@ -2464,10 +2505,12 @@ mono_arch_emit_outarg_vt (MonoCompile *cfg, MonoInst *ins, MonoInst *src)
 
        switch (ainfo->storage) {
        case RegTypeGSharedVtInReg:
+       case RegTypeStructByAddr:
                /* Pass by addr */
                mono_call_inst_add_outarg_reg (cfg, call, src->dreg, ainfo->reg, FALSE);
                break;
        case RegTypeGSharedVtOnStack:
+       case RegTypeStructByAddrOnStack:
                /* Pass by addr on stack */
                MONO_EMIT_NEW_STORE_MEMBASE (cfg, OP_STORE_MEMBASE_REG, ARMREG_SP, ainfo->offset, src->dreg);
                break;
@@ -4037,10 +4080,16 @@ emit_move_return_value (MonoCompile *cfg, MonoInst *ins, guint8 *code)
        cinfo = call->call_info;
 
        switch (cinfo->ret.storage) {
+       case RegTypeStructByVal:
        case RegTypeHFA: {
                MonoInst *loc = cfg->arch.vret_addr_loc;
                int i;
 
+               if (cinfo->ret.storage == RegTypeStructByVal && cinfo->ret.nregs == 1) {
+                       /* The JIT treats this as a normal call */
+                       break;
+               }
+
                /* Load the destination address */
                g_assert (loc && loc->opcode == OP_REGOFFSET);
 
@@ -4050,11 +4099,34 @@ emit_move_return_value (MonoCompile *cfg, MonoInst *ins, guint8 *code)
                        code = mono_arm_emit_load_imm (code, ARMREG_LR, loc->inst_offset);
                        ARM_LDR_REG_REG (code, ARMREG_LR, loc->inst_basereg, ARMREG_LR);
                }
-               for (i = 0; i < cinfo->ret.nregs; ++i) {
-                       if (cinfo->ret.esize == 4)
-                               ARM_FSTS (code, cinfo->ret.reg + i, ARMREG_LR, i * 4);
-                       else
-                               ARM_FSTD (code, cinfo->ret.reg + (i * 2), ARMREG_LR, i * 8);
+
+               if (cinfo->ret.storage == RegTypeStructByVal) {
+                       int rsize = cinfo->ret.struct_size;
+
+                       for (i = 0; i < cinfo->ret.nregs; ++i) {
+                               g_assert (rsize >= 0);
+                               switch (rsize) {
+                               case 0:
+                                       break;
+                               case 1:
+                                       ARM_STRB_IMM (code, i, ARMREG_LR, i * 4);
+                                       break;
+                               case 2:
+                                       ARM_STRH_IMM (code, i, ARMREG_LR, i * 4);
+                                       break;
+                               default:
+                                       ARM_STR_IMM (code, i, ARMREG_LR, i * 4);
+                                       break;
+                               }
+                               rsize -= 4;
+                       }
+               } else {
+                       for (i = 0; i < cinfo->ret.nregs; ++i) {
+                               if (cinfo->ret.esize == 4)
+                                       ARM_FSTS (code, cinfo->ret.reg + i, ARMREG_LR, i * 4);
+                               else
+                                       ARM_FSTD (code, cinfo->ret.reg + (i * 2), ARMREG_LR, i * 8);
+                       }
                }
                return code;
        }
@@ -4291,7 +4363,8 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                                break;
                        }
 
-                       ARM_DMB (code, ARM_DMB_SY);
+                       if (ins->backend.memory_barrier_kind != MONO_MEMORY_BARRIER_NONE)
+                               ARM_DMB (code, ARM_DMB_SY);
                        break;
                }
                case OP_ATOMIC_STORE_I1:
@@ -4302,7 +4375,8 @@ mono_arch_output_basic_block (MonoCompile *cfg, MonoBasicBlock *bb)
                case OP_ATOMIC_STORE_U4:
                case OP_ATOMIC_STORE_R4:
                case OP_ATOMIC_STORE_R8: {
-                       ARM_DMB (code, ARM_DMB_SY);
+                       if (ins->backend.memory_barrier_kind != MONO_MEMORY_BARRIER_NONE)
+                               ARM_DMB (code, ARM_DMB_SY);
 
                        code = mono_arm_emit_load_imm (code, ARMREG_LR, ins->inst_offset);
 
@@ -6067,13 +6141,8 @@ mono_arch_emit_prolog (MonoCompile *cfg)
                                reg_offset += 4;
                        }
                }
-               if (iphone_abi) {
-                       mono_emit_unwind_op_offset (cfg, code, ARMREG_LR, -4);
-                       mini_gc_set_slot_type_from_cfa (cfg, -4, SLOT_NOREF);
-               } else {
-                       mono_emit_unwind_op_offset (cfg, code, ARMREG_LR, -4);
-                       mini_gc_set_slot_type_from_cfa (cfg, -4, SLOT_NOREF);
-               }
+               mono_emit_unwind_op_offset (cfg, code, ARMREG_LR, -4);
+               mini_gc_set_slot_type_from_cfa (cfg, -4, SLOT_NOREF);
        } else {
                ARM_MOV_REG_REG (code, ARMREG_IP, ARMREG_SP);
                ARM_PUSH (code, 0x5ff0);
@@ -6233,6 +6302,7 @@ mono_arch_emit_prolog (MonoCompile *cfg)
                        case RegTypeGeneral:
                        case RegTypeIRegPair:
                        case RegTypeGSharedVtInReg:
+                       case RegTypeStructByAddr:
                                switch (ainfo->size) {
                                case 1:
                                        if (arm_is_imm12 (inst->inst_offset))
@@ -6293,6 +6363,7 @@ mono_arch_emit_prolog (MonoCompile *cfg)
                                break;
                        case RegTypeBase:
                        case RegTypeGSharedVtOnStack:
+                       case RegTypeStructByAddrOnStack:
                                if (arm_is_imm12 (prev_sp_offset + ainfo->offset)) {
                                        ARM_LDR_IMM (code, ARMREG_LR, ARMREG_SP, (prev_sp_offset + ainfo->offset));
                                } else {
@@ -6385,10 +6456,6 @@ mono_arch_emit_prolog (MonoCompile *cfg)
                                }
                                break;
                        }
-                       case RegTypeStructByAddr:
-                               g_assert_not_reached ();
-                               /* FIXME: handle overrun! with struct sizes not multiple of 4 */
-                               code = emit_memcpy (code, ainfo->vtsize * sizeof (gpointer), inst->inst_basereg, inst->inst_offset, ainfo->reg, 0);
                        default:
                                g_assert_not_reached ();
                                break;
@@ -6512,11 +6579,23 @@ mono_arch_emit_epilog (MonoCompile *cfg)
        case RegTypeStructByVal: {
                MonoInst *ins = cfg->ret;
 
-               if (arm_is_imm12 (ins->inst_offset)) {
-                       ARM_LDR_IMM (code, ARMREG_R0, ins->inst_basereg, ins->inst_offset);
+               if (cinfo->ret.nregs == 1) {
+                       if (arm_is_imm12 (ins->inst_offset)) {
+                               ARM_LDR_IMM (code, ARMREG_R0, ins->inst_basereg, ins->inst_offset);
+                       } else {
+                               code = mono_arm_emit_load_imm (code, ARMREG_LR, ins->inst_offset);
+                               ARM_LDR_REG_REG (code, ARMREG_R0, ins->inst_basereg, ARMREG_LR);
+                       }
                } else {
-                       code = mono_arm_emit_load_imm (code, ARMREG_LR, ins->inst_offset);
-                       ARM_LDR_REG_REG (code, ARMREG_R0, ins->inst_basereg, ARMREG_LR);
+                       for (i = 0; i < cinfo->ret.nregs; ++i) {
+                               int offset = ins->inst_offset + (i * 4);
+                               if (arm_is_imm12 (offset)) {
+                                       ARM_LDR_IMM (code, i, ins->inst_basereg, offset);
+                               } else {
+                                       code = mono_arm_emit_load_imm (code, ARMREG_LR, offset);
+                                       ARM_LDR_REG_REG (code, i, ins->inst_basereg, ARMREG_LR);
+                               }
+                       }
                }
                break;
        }
index 2e127929ba7e0955a90f239cf1f777b92b22f666..046b8c543fff784b91b7342b1d1d00eb7ce4d856 100644 (file)
@@ -187,8 +187,10 @@ typedef enum {
        RegTypeBaseGen,
        /* FP value passed in either an ireg or a vfp reg */
        RegTypeFP,
+       /* Struct passed/returned in gregs */
        RegTypeStructByVal,
        RegTypeStructByAddr,
+       RegTypeStructByAddrOnStack,
        /* gsharedvt argument passed by addr in greg */
        RegTypeGSharedVtInReg,
        /* gsharedvt argument passed by addr on stack */
@@ -201,10 +203,11 @@ typedef struct {
        guint16 vtsize; /* in param area */
        /* RegTypeHFA */
        int esize;
-       /* RegTypeHFA */
+       /* RegTypeHFA/RegTypeStructByVal */
        int nregs;
        guint8  reg;
        ArgStorage  storage;
+       /* RegTypeStructByVal */
        gint32  struct_size;
        guint8  size    : 4; /* 1, 2, 4, 8, or regs used by RegTypeStructByVal */
 } ArgInfo;
index 5e5c27a53f6d21701ec85ced4cfc39c5b5132406..9cf772bad0815ae9571b4417e494ba63e5de439b 100644 (file)
@@ -881,11 +881,6 @@ spill_vreg (MonoCompile *cfg, MonoBasicBlock *bb, MonoInst **last, MonoInst *ins
                mono_regstate_free_int (rs, sel);
 }
 
-/* This isn't defined on older glib versions and on some platforms */
-#ifndef G_GUINT64_FORMAT
-#define G_GUINT64_FORMAT "ul"
-#endif
-
 static int
 get_register_spilling (MonoCompile *cfg, MonoBasicBlock *bb, MonoInst **last, MonoInst *ins, regmask_t regmask, int reg, int bank)
 {
index 46a12c45677b5339236d4dd1f77893f92cee68fe..b64f4e24e1711001f7198928b5ac0ea442c78a22 100644 (file)
@@ -671,6 +671,8 @@ get_method_from_stack_frame (MonoJitInfo *ji, gpointer generic_info)
 gboolean
 mono_exception_walk_trace (MonoException *ex, MonoExceptionFrameWalk func, gpointer user_data)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoDomain *domain = mono_domain_get ();
        MonoArray *ta = ex->trace_ips;
        int len, i;
@@ -1551,6 +1553,8 @@ mono_handle_exception_internal_first_pass (MonoContext *ctx, MonoObject *obj, gi
                                        }
                                }
 
+                               MonoError isinst_error;
+                               mono_error_init (&isinst_error);
                                if (ei->flags == MONO_EXCEPTION_CLAUSE_NONE && mono_object_isinst_checked (ex_obj, catch_class, &error)) {
                                        setup_stack_trace (mono_ex, dynamic_methods, initial_trace_ips, &trace_ips);
                                        g_slist_free (dynamic_methods);
@@ -1562,7 +1566,7 @@ mono_handle_exception_internal_first_pass (MonoContext *ctx, MonoObject *obj, gi
                                        MONO_CONTEXT_SET_IP (ctx, ei->handler_start);
                                        return TRUE;
                                }
-                               mono_error_cleanup (&error);
+                               mono_error_cleanup (&isinst_error);
                        }
                }
 
@@ -1695,7 +1699,15 @@ mono_handle_exception_internal (MonoContext *ctx, MonoObject *obj, gboolean resu
                                mono_error_assert_ok (&error);
                        }
                        if (msg == NULL) {
-                               msg = message ? mono_string_to_utf8 ((MonoString *) message) : g_strdup ("(System.Exception.Message property not available)");
+                               if (message) {
+                                       msg = mono_string_to_utf8_checked ((MonoString *) message, &error);
+                                       if (!is_ok (&error)) {
+                                               mono_error_cleanup (&error);
+                                               msg = g_strdup ("(error while display System.Exception.Message property)");
+                                       }
+                               } else {
+                                       msg = g_strdup ("(System.Exception.Message property not available)");
+                               }
                        }
                        g_print ("[%p:] EXCEPTION handling: %s.%s: %s\n", (void*)mono_native_thread_id_get (), mono_object_class (obj)->name_space, mono_object_class (obj)->name, msg);
                        g_free (msg);
@@ -2825,13 +2837,18 @@ mono_invoke_unhandled_exception_hook (MonoObject *exc)
        if (unhandled_exception_hook) {
                unhandled_exception_hook (exc, unhandled_exception_hook_data);
        } else {
+               MonoError inner_error;
                MonoObject *other = NULL;
-               MonoString *str = mono_object_to_string (exc, &other);
+               MonoString *str = mono_object_try_to_string (exc, &other, &inner_error);
                char *msg = NULL;
                
-               if (str)
-                       msg = mono_string_to_utf8 (str);
-               else if (other) {
+               if (str && is_ok (&inner_error)) {
+                       msg = mono_string_to_utf8_checked (str, &inner_error);
+               }
+               if (!is_ok (&inner_error)) {
+                       msg = g_strdup_printf ("Nested exception while formatting original exception");
+                       mono_error_cleanup (&inner_error);
+               } else if (other) {
                        char *original_backtrace = mono_exception_get_managed_backtrace ((MonoException*)exc);
                        char *nested_backtrace = mono_exception_get_managed_backtrace ((MonoException*)other);
 
@@ -2903,6 +2920,8 @@ mono_jinfo_get_epilog_size (MonoJitInfo *ji)
 static void
 throw_exception (MonoObject *ex, gboolean rethrow)
 {
+       MONO_REQ_GC_UNSAFE_MODE;
+
        MonoError error;
        MonoJitTlsData *jit_tls = mono_get_jit_tls ();
        MonoException *mono_ex;
index e778f7561ff100d127adfcd475e76a941fda020b..84c21c5890e9dfedf73e95a441857fc6875f370a 100644 (file)
@@ -1102,7 +1102,7 @@ get_wrapper_shared_type (MonoType *t)
                int i;
 
                if (!MONO_TYPE_ISSTRUCT (t))
-                       return &mono_defaults.int_class->byval_arg;
+                       return get_wrapper_shared_type (&mono_defaults.object_class->byval_arg);
 
                klass = mono_class_from_mono_type (t);
                orig_ctx = &klass->generic_class->context;
@@ -1440,7 +1440,7 @@ mini_get_gsharedvt_wrapper (gboolean gsharedvt_in, gpointer addr, MonoMethodSign
                else
                        wrapper = mini_get_gsharedvt_out_sig_wrapper (normal_sig);
                res = mono_compile_method_checked (wrapper, &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
+               mono_error_assert_ok (&error);
                return res;
        }
 
index 8a8a7e35d6308c4e2d014b5c715ea8d799eef6b7..d88a6c99a8f362bb690424ace4462d58f3d913d9 100644 (file)
@@ -3777,17 +3777,18 @@ ia64_patch (unsigned char* code, gpointer target)
 }
 
 void
-mono_arch_patch_code (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain, guint8 *code, MonoJumpInfo *ji, gboolean run_cctors)
+mono_arch_patch_code (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain, guint8 *code, MonoJumpInfo *ji, gboolean run_cctors, MonoError *error)
 {
        MonoJumpInfo *patch_info;
 
+       mono_error_init (error);
+
        for (patch_info = ji; patch_info; patch_info = patch_info->next) {
                unsigned char *ip = patch_info->ip.i + code;
                const unsigned char *target;
-               MonoError error;
 
-               target = mono_resolve_patch_target (method, domain, code, patch_info, run_cctors, &error);
-               mono_error_raise_exception (&error); /* FIXME: don't raise here */
+               target = mono_resolve_patch_target (method, domain, code, patch_info, run_cctors, error);
+               return_if_nok (error);
 
                if (patch_info->type == MONO_PATCH_INFO_NONE)
                        continue;
index 3d6c6690c184c7d60eee6ed77034c594deeb032c..ca7a3ce12b2ba071c84d3b0c1583c0cc56bf09cc 100644 (file)
@@ -1282,6 +1282,9 @@ sig_to_llvm_sig_full (EmitContext *ctx, MonoMethodSignature *sig, LLVMCallInfo *
                }
                break;
        }
+       case LLVMArgAsIArgs:
+               ret_type = LLVMArrayType (IntPtrType (), cinfo->ret.nslots);
+               break;
        case LLVMArgFpStruct: {
                /* Vtype returned as a fp struct */
                LLVMTypeRef members [16];
@@ -3201,8 +3204,12 @@ process_call (EmitContext *ctx, MonoBasicBlock *bb, LLVMBuilderRef *builder_ref,
                                        target =
                                                mono_create_jit_trampoline (mono_domain_get (),
                                                                                                        call->method, &error);
-                                       if (!mono_error_ok (&error))
-                                               mono_error_raise_exception (&error); /* FIXME: Don't raise here */
+                                       if (!is_ok (&error)) {
+                                               set_failure (ctx, mono_error_get_message (&error));
+                                               mono_error_cleanup (&error);
+                                               return;
+                                       }
+
                                        tramp_var = LLVMAddGlobal (ctx->lmodule, LLVMPointerType (llvm_sig, 0), name);
                                        LLVMSetInitializer (tramp_var, LLVMConstIntToPtr (LLVMConstInt (LLVMInt64Type (), (guint64)(size_t)target, FALSE), LLVMPointerType (llvm_sig, 0)));
                                        LLVMSetLinkage (tramp_var, LLVMExternalLinkage);
@@ -3212,15 +3219,17 @@ process_call (EmitContext *ctx, MonoBasicBlock *bb, LLVMBuilderRef *builder_ref,
 #else
                                target =
                                        mono_create_jit_trampoline (mono_domain_get (),
-                                                                                               call->method, &error);
-                               if (!mono_error_ok (&error))
-                                       mono_error_raise_exception (&error); /* FIXME: Don't raise here */
+                                                                   call->method, &error);
+                               if (!is_ok (&error)) {
+                                       g_free (name);
+                                       set_failure (ctx, mono_error_get_message (&error));
+                                       mono_error_cleanup (&error);
+                                       return;
+                               }
 
                                callee = LLVMAddFunction (ctx->lmodule, name, llvm_sig);
                                g_free (name);
 
-                               if (!mono_error_ok (&error))
-                                       mono_error_raise_exception (&error); /* FIXME: Don't raise here */
                                LLVMAddGlobalMapping (ctx->module->ee, callee, target);
 #endif
                        }
@@ -3526,6 +3535,7 @@ process_call (EmitContext *ctx, MonoBasicBlock *bb, LLVMBuilderRef *builder_ref,
                        addresses [call->inst.dreg] = build_alloca (ctx, sig->ret);
                LLVMBuildStore (builder, lcall, addresses [call->inst.dreg]);
                break;
+       case LLVMArgAsIArgs:
        case LLVMArgFpStruct:
                if (!addresses [call->inst.dreg])
                        addresses [call->inst.dreg] = build_alloca (ctx, sig->ret);
@@ -4353,6 +4363,7 @@ process_bb (EmitContext *ctx, MonoBasicBlock *bb)
                                LLVMBuildRetVoid (builder);
                                break;
                        }
+                       case LLVMArgAsIArgs:
                        case LLVMArgFpStruct: {
                                LLVMTypeRef ret_type = LLVMGetReturnType (LLVMGetElementType (LLVMTypeOf (method)));
                                LLVMValueRef retval;
@@ -5224,6 +5235,19 @@ process_bb (EmitContext *ctx, MonoBasicBlock *bb)
                        ji = mono_aot_patch_info_dup (tmp_ji);
                        g_free (tmp_ji);
 
+                       if (ji->type == MONO_PATCH_INFO_ICALL_ADDR) {
+                               char *symbol = mono_aot_get_direct_call_symbol (MONO_PATCH_INFO_ICALL_ADDR_CALL, ji->data.target);
+                               if (symbol) {
+                                       /*
+                                        * Avoid emitting a got entry for these since the method is directly called, and it might not be
+                                        * resolvable at runtime using dlsym ().
+                                        */
+                                       g_free (symbol);
+                                       values [ins->dreg] = LLVMConstInt (IntPtrType (), 0, FALSE);
+                                       break;
+                               }
+                       }
+
                        ji->next = cfg->patch_info;
                        cfg->patch_info = ji;
                                   
@@ -7744,7 +7768,9 @@ static void
 add_intrinsic (LLVMModuleRef module, int id)
 {
        const char *name;
+#if defined(TARGET_AMD64) || defined(TARGET_X86)
        LLVMTypeRef ret_type, arg_types [16];
+#endif
 
        name = g_hash_table_lookup (intrins_id_to_name, GINT_TO_POINTER (id));
        g_assert (name);
index 773bd20087c95e56a17e2f811f227a5b38e7867e..5d6ebc7b6bc126975df54bdc38c29d247d5ca8d0 100644 (file)
@@ -4671,10 +4671,11 @@ mono_arch_register_lowlevel_calls (void)
 }
 
 void
-mono_arch_patch_code (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain, guint8 *code, MonoJumpInfo *ji, gboolean run_cctors)
+mono_arch_patch_code (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain, guint8 *code, MonoJumpInfo *ji, gboolean run_cctors, MonoError *error)
 {
        MonoJumpInfo *patch_info;
-       MonoError error;
+
+       mono_error_init (error);
 
        for (patch_info = ji; patch_info; patch_info = patch_info->next) {
                unsigned char *ip = patch_info->ip.i + code;
@@ -4708,8 +4709,9 @@ mono_arch_patch_code (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain,
                case MONO_PATCH_INFO_R4:
                case MONO_PATCH_INFO_R8:
                        /* from OP_AOTCONST : lui + addiu */
-                       target = mono_resolve_patch_target (method, domain, code, patch_info, run_cctors, &error);
-                       mono_error_raise_exception (&error); /* FIXME: don't raise here */
+                       target = mono_resolve_patch_target (method, domain, code, patch_info, run_cctors, error);
+                       return_if_nok (error);
+
                        patch_lui_addiu ((guint32 *)(void *)ip, (guint32)target);
                        continue;
 #if 0
@@ -4722,8 +4724,9 @@ mono_arch_patch_code (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain,
                        /* everything is dealt with at epilog output time */
                        continue;
                default:
-                       target = mono_resolve_patch_target (method, domain, code, patch_info, run_cctors, &error);
-                       mono_error_raise_exception (&error); /* FIXME: don't raise here */
+                       target = mono_resolve_patch_target (method, domain, code, patch_info, run_cctors, error);
+                       return_if_nok (error);
+
                        mips_patch ((guint32 *)(void *)ip, (guint32)target);
                        break;
                }
index ad48c07158e3f0877ae4033b5c2dd0ab9a1f207a..883fc1af323b2eab7427b492160bef2dda2e8411 100644 (file)
@@ -42,6 +42,7 @@ MINI_OP(OP_SEQ_POINT, "seq_point", NONE, NONE, NONE)
 MINI_OP(OP_IL_SEQ_POINT, "il_seq_point", NONE, NONE, NONE)
 MINI_OP(OP_IMPLICIT_EXCEPTION, "implicit_exception", NONE, NONE, NONE)
 
+/* CALL opcodes need to stay together, see MONO_IS_CALL macro */
 MINI_OP(OP_VOIDCALL,   "voidcall", NONE, NONE, NONE)
 MINI_OP(OP_VOIDCALL_REG,       "voidcall_reg", NONE, IREG, NONE)
 MINI_OP(OP_VOIDCALL_MEMBASE,   "voidcall_membase", NONE, IREG, NONE)
index 870a5b584a8ae903d480f13873879097e6751600..6f6e266a3b025d72fd9998435b46a8b053747b31 100644 (file)
@@ -107,7 +107,8 @@ mono_runtime_install_handlers (void)
 void
 mono_runtime_posix_install_handlers(void)
 {
-
+       /* we still need to ignore SIGPIPE */
+       signal (SIGPIPE, SIG_IGN);
 }
 
 void
index c9116ff46e1e6a974f1e5391de97731bc38bd90e..3089a8546b1d3a4d605535a775c1f57d27eb793f 100644 (file)
@@ -4743,19 +4743,20 @@ mono_arch_register_lowlevel_calls (void)
 
 #ifndef DISABLE_JIT
 void
-mono_arch_patch_code (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain, guint8 *code, MonoJumpInfo *ji, gboolean run_cctors)
+mono_arch_patch_code (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain, guint8 *code, MonoJumpInfo *ji, gboolean run_cctors, MonoError *error)
 {
        MonoJumpInfo *patch_info;
        gboolean compile_aot = !run_cctors;
-       MonoError error;
+
+       mono_error_init (error);
 
        for (patch_info = ji; patch_info; patch_info = patch_info->next) {
                unsigned char *ip = patch_info->ip.i + code;
                unsigned char *target;
                gboolean is_fd = FALSE;
 
-               target = mono_resolve_patch_target (method, domain, code, patch_info, run_cctors, &error);
-               mono_error_raise_exception (&error); /* FIXME: don't raise here */
+               target = mono_resolve_patch_target (method, domain, code, patch_info, run_cctors, error);
+               return_if_nok (error);
 
                if (compile_aot) {
                        switch (patch_info->type) {
index a887fc67fe35a0cf3a1b54504398be23050603b6..6f4082905c5687bf4679fffe2550815663475880 100644 (file)
@@ -63,6 +63,7 @@
 #include <mono/utils/dtrace.h>
 #include <mono/utils/mono-signal-handler.h>
 #include <mono/utils/mono-threads.h>
+#include <mono/utils/mono-threads-coop.h>
 #include <mono/utils/checked-build.h>
 #include <mono/io-layer/io-layer.h>
 
@@ -837,20 +838,20 @@ mono_set_lmf_addr (gpointer lmf_addr)
 }
 
 /*
- * mono_jit_thread_attach: called by native->managed wrappers
+ * mono_jit_thread_attach:
  *
- * In non-coop mode:
- *  - @dummy: is NULL
- *  - @return: the original domain which needs to be restored, or NULL.
+ * Called by Xamarin.Mac and other products. Attach thread to runtime if
+ * needed and switch to @domain.
  *
- * In coop mode:
- *  - @dummy: contains the original domain
- *  - @return: a cookie containing current MonoThreadInfo*.
+ * @return the original domain which needs to be restored, or NULL.
  */
-gpointer
-mono_jit_thread_attach (MonoDomain *domain, gpointer *dummy)
+MonoDomain*
+mono_jit_thread_attach (MonoDomain *domain)
 {
        MonoDomain *orig;
+       gboolean attached;
+
+       g_assert (!mono_threads_is_coop_enabled ());
 
        if (!domain) {
                /* Happens when called from AOTed code which is only used in the root domain. */
@@ -859,92 +860,38 @@ mono_jit_thread_attach (MonoDomain *domain, gpointer *dummy)
 
        g_assert (domain);
 
-       /* On coop, when we detached, we moved the thread from  RUNNING->BLOCKING.  If we try to
-        * reattach we do a BLOCKING->RUNNING transition.  If the thread is fresh,
-        * mono_thread_attach() will do a STARTING->RUNNING transition so we're only responsible
-        * for making the cookie. */
-       gboolean fresh_thread = FALSE;
-       {
-               MonoThreadInfo *info;
-
-               info = mono_thread_info_current_unchecked ();
-               fresh_thread = !info || !mono_thread_info_is_live (info);
-       }
-       {
-               gboolean attached;
-
 #ifdef MONO_HAVE_FAST_TLS
-               attached = MONO_FAST_TLS_GET (mono_lmf_addr) != NULL;
+       attached = MONO_FAST_TLS_GET (mono_lmf_addr) != NULL;
 #else
-               attached = mono_native_tls_get_value (mono_jit_tls_id) != NULL;
+       attached = mono_native_tls_get_value (mono_jit_tls_id) != NULL;
 #endif
 
-               if (!attached) {
-                       mono_thread_attach (domain);
+       if (!attached) {
+               mono_thread_attach (domain);
 
-                       // #678164
-                       mono_thread_set_state (mono_thread_internal_current (), ThreadState_Background);
-               }
+               // #678164
+               mono_thread_set_state (mono_thread_internal_current (), ThreadState_Background);
+       }
 
-               orig = mono_domain_get ();
-               if (orig != domain)
-                       mono_domain_set (domain, TRUE);
+       orig = mono_domain_get ();
+       if (orig != domain)
+               mono_domain_set (domain, TRUE);
 
-       }
-       if (!mono_threads_is_coop_enabled ()) {
-               return orig != domain ? orig : NULL;
-       } else {
-               if (fresh_thread) {
-                       *dummy = NULL;
-                       /* mono_thread_attach put the thread in RUNNING mode from STARTING, but we need to
-                        * return the right cookie. */
-                       return mono_threads_enter_gc_unsafe_region_cookie (mono_thread_info_current ());
-               } else {
-                       *dummy = orig;
-                       /* thread state (BLOCKING|RUNNING) -> RUNNING */
-                       return mono_threads_enter_gc_unsafe_region (dummy);
-               }
-       }
+       return orig != domain ? orig : NULL;
 }
 
 /*
- * mono_jit_thread_detach: called by native->managed wrappers
- *
- * In non-coop mode:
- *  - @cookie: the original domain which needs to be restored, or NULL.
- *  - @dummy: is NULL
+ * mono_jit_set_domain:
  *
- * In coop mode:
- *  - @cookie: contains current MonoThreadInfo* if it was in BLOCKING mode, NULL otherwise
- *  - @dummy: contains the original domain
+ * Set domain to @domain if @domain is not null
  */
 void
-mono_jit_thread_detach (gpointer cookie, gpointer *dummy)
+mono_jit_set_domain (MonoDomain *domain)
 {
-       MonoDomain *domain, *orig;
-
-       if (!mono_threads_is_coop_enabled ()) {
-               orig = (MonoDomain*) cookie;
+       g_assert (!mono_threads_is_coop_enabled ());
 
-               if (orig)
-                       mono_domain_set (orig, TRUE);
-       } else {
-               orig = (MonoDomain*) *dummy;
-
-               domain = mono_domain_get ();
-               g_assert (domain);
-
-               /* it won't do anything if cookie is NULL
-                * thread state RUNNING -> (RUNNING|BLOCKING) */
-               mono_threads_exit_gc_unsafe_region (cookie, dummy);
-
-               if (orig != domain) {
-                       if (!orig)
-                               mono_domain_unset ();
-                       else
-                               mono_domain_set (orig, TRUE);
-               }
-       }
+       if (domain)
+               mono_domain_set (domain, TRUE);
 }
 
 /**
@@ -1557,8 +1504,8 @@ mono_resolve_patch_target (MonoMethod *method, MonoDomain *domain, guint8 *code,
                break;
        case MONO_PATCH_INFO_LDSTR:
                target =
-                       mono_ldstr (domain, patch_info->data.token->image,
-                                               mono_metadata_token_index (patch_info->data.token->token));
+                       mono_ldstr_checked (domain, patch_info->data.token->image,
+                                           mono_metadata_token_index (patch_info->data.token->token), error);
                break;
        case MONO_PATCH_INFO_TYPE_FROM_HANDLE: {
                gpointer handle;
@@ -2821,9 +2768,13 @@ MONO_SIG_HANDLER_FUNC (, mono_sigill_signal_handler)
        MonoException *exc;
        MONO_SIG_HANDLER_GET_CONTEXT;
 
+       MONO_ENTER_GC_UNSAFE_UNBALANCED;
+
        exc = mono_get_exception_execution_engine ("SIGILL");
 
        mono_arch_handle_exception (ctx, exc);
+
+       MONO_EXIT_GC_UNSAFE_UNBALANCED;
 }
 
 #if defined(MONO_ARCH_USE_SIGACTION) || defined(HOST_WIN32)
@@ -2944,27 +2895,25 @@ MONO_SIG_HANDLER_FUNC (, mono_sigint_signal_handler)
  * Returns: a pointer to the newly created code
  */
 static gpointer
-mono_jit_create_remoting_trampoline (MonoDomain *domain, MonoMethod *method, MonoRemotingTarget target)
+mono_jit_create_remoting_trampoline (MonoDomain *domain, MonoMethod *method, MonoRemotingTarget target, MonoError *error)
 {
-       MonoError error;
        MonoMethod *nm;
        guint8 *addr = NULL;
 
+       mono_error_init (error);
+
        if ((method->flags & METHOD_ATTRIBUTE_VIRTUAL) && mono_method_signature (method)->generic_param_count) {
                return mono_create_specific_trampoline (method, MONO_TRAMPOLINE_GENERIC_VIRTUAL_REMOTING,
                        domain, NULL);
        }
 
        if ((method->flags & METHOD_ATTRIBUTE_ABSTRACT) ||
-           (mono_method_signature (method)->hasthis && (mono_class_is_marshalbyref (method->klass) || method->klass == mono_defaults.object_class))) {
+           (mono_method_signature (method)->hasthis && (mono_class_is_marshalbyref (method->klass) || method->klass == mono_defaults.object_class)))
                nm = mono_marshal_get_remoting_invoke_for_target (method, target);
-               addr = (guint8 *)mono_compile_method_checked (nm, &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
-       } else
-       {
-               addr = (guint8 *)mono_compile_method_checked (method, &error);
-               mono_error_raise_exception (&error); /* FIXME don't raise here */
-       }
+       else
+               nm = method;
+       addr = (guint8 *)mono_compile_method_checked (nm, error);
+       return_val_if_nok (error, NULL);
        return mono_get_addr_from_ftnptr (addr);
 }
 #endif
@@ -3782,8 +3731,8 @@ register_icalls (void)
        register_icall (mono_trace_enter_method, "mono_trace_enter_method", NULL, TRUE);
        register_icall (mono_trace_leave_method, "mono_trace_leave_method", NULL, TRUE);
        register_icall (mono_get_lmf_addr, "mono_get_lmf_addr", "ptr", TRUE);
-       register_icall (mono_jit_thread_attach, "mono_jit_thread_attach", "ptr ptr ptr", TRUE);
-       register_icall (mono_jit_thread_detach, "mono_jit_thread_detach", "void ptr ptr", TRUE);
+       register_icall (mono_jit_thread_attach, "mono_jit_thread_attach", "ptr ptr", TRUE);
+       register_icall (mono_jit_set_domain, "mono_jit_set_domain", "void ptr", TRUE);
        register_icall (mono_domain_get, "mono_domain_get", "ptr", TRUE);
 
        register_icall (mono_llvm_throw_exception, "mono_llvm_throw_exception", "void object", TRUE);
@@ -3946,14 +3895,14 @@ register_icalls (void)
 #endif
 
        /* other jit icalls */
-       register_icall (mono_delegate_ctor, "mono_delegate_ctor", "void object object ptr", FALSE);
+       register_icall (ves_icall_mono_delegate_ctor, "ves_icall_mono_delegate_ctor", "void object object ptr", FALSE);
        register_icall (mono_class_static_field_address , "mono_class_static_field_address",
                                 "ptr ptr ptr", FALSE);
        register_icall (mono_ldtoken_wrapper, "mono_ldtoken_wrapper", "ptr ptr ptr ptr", FALSE);
        register_icall (mono_ldtoken_wrapper_generic_shared, "mono_ldtoken_wrapper_generic_shared",
                "ptr ptr ptr ptr", FALSE);
        register_icall (mono_get_special_static_data, "mono_get_special_static_data", "ptr int", FALSE);
-       register_icall (mono_ldstr, "mono_ldstr", "object ptr ptr int32", FALSE);
+       register_icall (ves_icall_mono_ldstr, "ves_icall_mono_ldstr", "object ptr ptr int32", FALSE);
        register_icall (mono_helper_stelem_ref_check, "mono_helper_stelem_ref_check", "void object object", FALSE);
        register_icall (ves_icall_object_new, "ves_icall_object_new", "object ptr ptr", FALSE);
        register_icall (ves_icall_object_new_specific, "ves_icall_object_new_specific", "object ptr", FALSE);
@@ -4007,6 +3956,7 @@ register_icalls (void)
        register_icall (mono_llvmonly_init_delegate_virtual, "mono_llvmonly_init_delegate_virtual", "void object object ptr", TRUE);
        register_icall (mono_get_assembly_object, "mono_get_assembly_object", "object ptr", TRUE);
        register_icall (mono_get_method_object, "mono_get_method_object", "object ptr", TRUE);
+       register_icall (mono_throw_method_access, "mono_throw_method_access", "void ptr ptr", FALSE);
 
        register_icall_with_wrapper (mono_monitor_enter, "mono_monitor_enter", "void obj");
        register_icall_with_wrapper (mono_monitor_enter_v4, "mono_monitor_enter_v4", "void obj ptr");
index e593e3b350102a00c7a020e36042b5fbdce771ed..3fe40d2cfc28fdd8a055b003ad58785d5cbd3427 100644 (file)
@@ -264,6 +264,8 @@ if (ins->inst_target_bb->native_offset) {                                   \
 #include <mono/metadata/appdomain.h>
 #include <mono/metadata/debug-helpers.h>
 #include <mono/metadata/profiler-private.h>
+#include <mono/utils/mono-error.h>
+#include <mono/utils/mono-error-internals.h>
 #include <mono/utils/mono-math.h>
 #include <mono/utils/mono-mmap.h>
 #include <mono/utils/mono-hwcap-s390x.h>
@@ -765,6 +767,20 @@ cvtMonoType(MonoTypeEnum t)
 /*                                                                 */
 /*------------------------------------------------------------------*/
 
+static void
+decodeParmString (MonoString *s)
+{
+       MonoError error;
+       char *str = mono_string_to_utf8_checked(s, &error);
+       if (is_ok (&error))  {
+               printf("[STRING:%p:%s], ", s, str);
+               g_free (str);
+       } else {
+               mono_error_cleanup (&error);
+               printf("[STRING:%p:], ", s);
+       }
+}
+
 static void 
 decodeParm(MonoType *type, void *curParm, int size)
 {
@@ -813,7 +829,7 @@ enum_parmtype:
                                MonoString *s = *((MonoString **) curParm);
                                if (s) {
                                        g_assert (((MonoObject *) s)->vtable->klass == mono_defaults.string_class);
-                                       printf("[STRING:%p:%s], ", s, mono_string_to_utf8(s));
+                                       decodeParmString (s);
                                } else {
                                        printf("[STRING:null], ");
                                }
@@ -828,8 +844,7 @@ enum_parmtype:
                                        klass = obj->vtable->klass;
                                        printf("%p [%p] ",obj,curParm);
                                        if (klass == mono_defaults.string_class) {
-                                               printf("[STRING:%p:%s]", 
-                                                      obj, mono_string_to_utf8 ((MonoString *) obj));
+                                               decodeParmString ((MonoString *)obj);
                                        } else if (klass == mono_defaults.int32_class) { 
                                                printf("[INT32:%p:%d]", 
                                                        obj, *(gint32 *)((char *)obj + sizeof (MonoObject)));
@@ -969,8 +984,8 @@ enter_method (MonoMethod *method, RegParm *rParm, char *sp)
                                if (obj->vtable) {
                                        klass = obj->vtable->klass;
                                        if (klass == mono_defaults.string_class) {
-                                               printf ("this:[STRING:%p:%s], ", 
-                                                       obj, mono_string_to_utf8 ((MonoString *)obj));
+                                               printf ("this:");
+                                               decodeParmString((MonoString *)obj);
                                        } else {
                                                printf ("this:%p[%s.%s], ", 
                                                        obj, klass->name_space, klass->name);
@@ -1126,7 +1141,7 @@ handle_enum:
 ;
                if (s) {
                        g_assert (((MonoObject *)s)->vtable->klass == mono_defaults.string_class);
-                       printf ("[STRING:%p:%s]", s, mono_string_to_utf8 (s));
+                       decodeParmString (s);
                } else 
                        printf ("[STRING:null], ");
                break;
@@ -5386,18 +5401,20 @@ mono_arch_register_lowlevel_calls (void)
 
 void
 mono_arch_patch_code (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain, 
-                     guint8 *code, MonoJumpInfo *ji, gboolean run_cctors)
+                     guint8 *code, MonoJumpInfo *ji, gboolean run_cctors,
+                     MonoError *error)
 {
        MonoJumpInfo *patch_info;
-       MonoError error;
+
+       mono_error_init (error);
 
        for (patch_info = ji; patch_info; patch_info = patch_info->next) {
                unsigned char *ip = patch_info->ip.i + code;
                gconstpointer target = NULL;
 
                target = mono_resolve_patch_target (method, domain, code, 
-                                                                                       patch_info, run_cctors, &error);
-               mono_error_raise_exception (&error); /* FIXME: don't raise here */
+                                                                                       patch_info, run_cctors, error);
+               return_if_nok (error);
 
                switch (patch_info->type) {
                        case MONO_PATCH_INFO_IP:
index b29563dcb0ac480f6e6f93651ebd654b5e3c3466..022f8a5e790b8ea9334d4fa61bb7f92c99229c9f 100644 (file)
@@ -3672,18 +3672,19 @@ mono_arch_register_lowlevel_calls (void)
 }
 
 void
-mono_arch_patch_code (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain, guint8 *code, MonoJumpInfo *ji, gboolean run_cctors)
+mono_arch_patch_code (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain, guint8 *code, MonoJumpInfo *ji, gboolean run_cctors, MonoError *error)
 {
-       MonoError error;
        MonoJumpInfo *patch_info;
 
+       mono_error_init (error);
+
        /* FIXME: Move part of this to arch independent code */
        for (patch_info = ji; patch_info; patch_info = patch_info->next) {
                unsigned char *ip = patch_info->ip.i + code;
                gpointer target;
 
-               target = mono_resolve_patch_target (method, domain, code, patch_info, run_cctors, &error);
-               mono_error_raise_exception (&error); /* FIXME: don't raise here */
+               target = mono_resolve_patch_target (method, domain, code, patch_info, run_cctors, error);
+               return_if_nok (error);
 
                switch (patch_info->type) {
                case MONO_PATCH_INFO_NONE:
index 9a71893c239fa4137906d382c43df066c9b1ebde..12e0fd97758e71fe85d2534e59d4afc140a07a8b 100644 (file)
@@ -15,6 +15,7 @@
 #include <mono/utils/mono-error-internals.h>
 #include <mono/utils/mono-membar.h>
 #include <mono/utils/mono-compiler.h>
+#include <mono/utils/mono-threads-coop.h>
 
 #include "mini.h"
 
@@ -203,11 +204,15 @@ mini_resolve_imt_method (MonoVTable *vt, gpointer *vtable_slot, MonoMethod *imt_
                impl = mono_class_inflate_generic_method_checked (impl, &context, &error);
                g_assert (mono_error_ok (&error)); /* FIXME don't swallow the error */
        } else {
+               MonoError error;
+
                /* Avoid loading metadata or creating a generic vtable if possible */
-               if (lookup_aot && !vt->klass->valuetype)
-                       aot_addr = (guint8 *)mono_aot_get_method_from_vt_slot (mono_domain_get (), vt, interface_offset + mono_method_get_vtable_slot (imt_method));
-               else
+               if (lookup_aot && !vt->klass->valuetype) {
+                       aot_addr = (guint8 *)mono_aot_get_method_from_vt_slot (mono_domain_get (), vt, interface_offset + mono_method_get_vtable_slot (imt_method), &error);
+                       mono_error_raise_exception (&error); // FIXME: Don't raise here
+               } else {
                        aot_addr = NULL;
+               }
                if (aot_addr)
                        impl = NULL;
                else
@@ -870,7 +875,8 @@ mono_vcall_trampoline (mgreg_t *regs, guint8 *code, int slot, guint8 *tramp)
                vtable_slot = &(vt->vtable [slot]);
 
                /* Avoid loading metadata or creating a generic vtable if possible */
-               addr = mono_aot_get_method_from_vt_slot (mono_domain_get (), vt, slot);
+               addr = mono_aot_get_method_from_vt_slot (mono_domain_get (), vt, slot, &error);
+               mono_error_raise_exception (&error); /* FIXME don't raise here */
                if (addr && !vt->klass->valuetype) {
                        if (mono_domain_owns_vtable_slot (mono_domain_get (), vtable_slot))
                                *vtable_slot = addr;
@@ -968,6 +974,7 @@ mono_aot_trampoline (mgreg_t *regs, guint8 *code, guint8 *token_info,
        MonoMethod *method = NULL;
        gpointer addr;
        guint8 *plt_entry;
+       MonoError error;
 
        trampoline_calls ++;
 
@@ -975,9 +982,10 @@ mono_aot_trampoline (mgreg_t *regs, guint8 *code, guint8 *token_info,
        token_info += sizeof (gpointer);
        token = *(guint32*)(gpointer)token_info;
 
-       addr = mono_aot_get_method_from_token (mono_domain_get (), image, token);
+       addr = mono_aot_get_method_from_token (mono_domain_get (), image, token, &error);
+       if (!is_ok (&error))
+               mono_error_cleanup (&error);
        if (!addr) {
-               MonoError error;
                method = mono_get_method_checked (image, token, NULL, NULL, &error);
                if (!method)
                        g_error ("Could not load AOT trampoline due to %s", mono_error_get_message (&error));
index 621a7a5fc31970e22d3e75e4993623ae10dddece..e7764e91beb749709474b294aef00cb5c30932ce 100644 (file)
@@ -59,14 +59,12 @@ void
 mono_runtime_install_handlers (void)
 {
 #ifndef MONO_CROSS_COMPILE
-       if (!mono_aot_only) {
-               win32_seh_init();
-               win32_seh_set_handler(SIGFPE, mono_sigfpe_signal_handler);
-               win32_seh_set_handler(SIGILL, mono_sigill_signal_handler);
-               win32_seh_set_handler(SIGSEGV, mono_sigsegv_signal_handler);
-               if (mini_get_debug_options ()->handle_sigint)
-                       win32_seh_set_handler(SIGINT, mono_sigint_signal_handler);
-       }
+       win32_seh_init();
+       win32_seh_set_handler(SIGFPE, mono_sigfpe_signal_handler);
+       win32_seh_set_handler(SIGILL, mono_sigill_signal_handler);
+       win32_seh_set_handler(SIGSEGV, mono_sigsegv_signal_handler);
+       if (mini_get_debug_options ()->handle_sigint)
+               win32_seh_set_handler(SIGINT, mono_sigint_signal_handler);
 #endif
 }
 
@@ -74,9 +72,7 @@ void
 mono_runtime_cleanup_handlers (void)
 {
 #ifndef MONO_CROSS_COMPILE
-       if (!mono_aot_only) {
-               win32_seh_cleanup();
-       }
+       win32_seh_cleanup();
 #endif
 }
 
index 99b51050f1fd14ae5b5dc74f070147395b31543c..af779644801d323dcd3ca945e6abe73c0aba5ef4 100644 (file)
@@ -58,6 +58,7 @@
 #include <mono/utils/mono-hwcap.h>
 #include <mono/utils/dtrace.h>
 #include <mono/utils/mono-threads.h>
+#include <mono/utils/mono-threads-coop.h>
 #include <mono/io-layer/io-layer.h>
 
 #include "mini.h"
@@ -2419,7 +2420,11 @@ mono_codegen (MonoCompile *cfg)
                }
        }
 #else
-       mono_arch_patch_code (cfg, cfg->method, cfg->domain, cfg->native_code, cfg->patch_info, cfg->run_cctors);
+       mono_arch_patch_code (cfg, cfg->method, cfg->domain, cfg->native_code, cfg->patch_info, cfg->run_cctors, &cfg->error);
+       if (!is_ok (&cfg->error)) {
+               mono_cfg_set_exception (cfg, MONO_EXCEPTION_MONO_ERROR);
+               return;
+       }
 #endif
 
        if (cfg->method->dynamic) {
@@ -4083,7 +4088,7 @@ mono_jit_compile_method_inner (MonoMethod *method, MonoDomain *target_domain, in
 
                if (method->klass->parent == mono_defaults.multicastdelegate_class) {
                        if (*name == '.' && (strcmp (name, ".ctor") == 0)) {
-                               MonoJitICallInfo *mi = mono_find_jit_icall_by_name ("mono_delegate_ctor");
+                               MonoJitICallInfo *mi = mono_find_jit_icall_by_name ("ves_icall_mono_delegate_ctor");
                                g_assert (mi);
                                /*
                                 * We need to make sure this wrapper
@@ -4291,8 +4296,11 @@ mono_jit_compile_method_inner (MonoMethod *method, MonoDomain *target_domain, in
                                mono_arch_patch_code_new (NULL, target_domain, (guint8 *)tmp->data, &patch_info, target);
                        }
 #else
-                       for (tmp = jlist->list; tmp; tmp = tmp->next)
-                               mono_arch_patch_code (NULL, NULL, target_domain, tmp->data, &patch_info, TRUE);
+                       for (tmp = jlist->list; tmp; tmp = tmp->next) {
+                               mono_arch_patch_code (NULL, NULL, target_domain, tmp->data, &patch_info, TRUE, error);
+                               if (!is_ok (error))
+                                       break;
+                       }
 #endif
                }
        }
index 5b0417e6b02cdb5c8e2a95aef21d04d4fdfdbc87..f0f76b0a6710ccd89eb0158dda78e298a5866430 100644 (file)
@@ -31,6 +31,7 @@
 #include <mono/utils/mono-machine.h>
 #include <mono/utils/mono-stack-unwinding.h>
 #include <mono/utils/mono-threads.h>
+#include <mono/utils/mono-threads-coop.h>
 #include <mono/utils/mono-tls.h>
 #include <mono/utils/atomic.h>
 #include <mono/utils/mono-conc-hashtable.h>
@@ -484,7 +485,8 @@ enum {
 #define MONO_IS_STORE_MEMBASE(ins) (((ins)->opcode >= OP_STORE_MEMBASE_REG && (ins)->opcode <= OP_STOREV_MEMBASE) || ((ins)->opcode >= OP_ATOMIC_STORE_I1 && (ins)->opcode <= OP_ATOMIC_STORE_R8))
 #define MONO_IS_STORE_MEMINDEX(ins) (((ins)->opcode >= OP_STORE_MEMINDEX) && ((ins)->opcode <= OP_STORER8_MEMINDEX))
 
-#define MONO_IS_CALL(ins) (((ins->opcode >= OP_VOIDCALL) && (ins->opcode <= OP_VOIDCALL_MEMBASE)) || ((ins->opcode >= OP_FCALL) && (ins->opcode <= OP_FCALL_MEMBASE)) || ((ins->opcode >= OP_LCALL) && (ins->opcode <= OP_LCALL_MEMBASE)) || ((ins->opcode >= OP_VCALL) && (ins->opcode <= OP_VCALL_MEMBASE)) || ((ins->opcode >= OP_CALL) && (ins->opcode <= OP_CALL_MEMBASE)) || ((ins->opcode >= OP_VCALL2) && (ins->opcode <= OP_VCALL2_MEMBASE)) || (ins->opcode == OP_TAILCALL) || ((ins->opcode >= OP_RCALL) && (ins->opcode <= OP_RCALL_MEMBASE)))
+// OP_DYN_CALL is not a MonoCallInst
+#define MONO_IS_CALL(ins) (((ins->opcode >= OP_VOIDCALL) && (ins->opcode <= OP_VCALL2_MEMBASE)) || (ins->opcode == OP_TAILCALL))
 
 #define MONO_IS_JUMP_TABLE(ins) (((ins)->opcode == OP_JUMP_TABLE) ? TRUE : ((((ins)->opcode == OP_AOTCONST) && (ins->inst_i1 == (gpointer)MONO_PATCH_INFO_SWITCH)) ? TRUE : ((ins)->opcode == OP_SWITCH) ? TRUE : ((((ins)->opcode == OP_GOT_ENTRY) && ((ins)->inst_right->inst_i1 == (gpointer)MONO_PATCH_INFO_SWITCH)) ? TRUE : FALSE)))
 
@@ -776,7 +778,7 @@ typedef enum {
        LLVMArgGsharedvtFixedVtype,
        /* Variable sized argument passed to/returned from gsharedvt method by ref */
        LLVMArgGsharedvtVariable,
-       /* Vtype passed as one int array argument */
+       /* Vtype passed/returned as one int array argument */
        LLVMArgAsIArgs,
        /* Vtype passed as a set of fp arguments */
        LLVMArgAsFpArgs,
@@ -1606,8 +1608,7 @@ typedef struct {
        MonoInst *gsharedvt_info_var;
 
        /* For native-to-managed wrappers, CEE_MONO_JIT_(AT|DE)TACH opcodes */
-       MonoInst *attach_cookie;
-       MonoInst *attach_dummy;
+       MonoInst *orig_domain_var;
 
        MonoInst *lmf_var;
        MonoInst *lmf_addr_var;
@@ -2388,8 +2389,8 @@ MonoLMF * mono_get_lmf                      (void);
 MonoLMF** mono_get_lmf_addr                 (void);
 void      mono_set_lmf                      (MonoLMF *lmf);
 MonoJitTlsData* mono_get_jit_tls            (void);
-MONO_API gpointer  mono_jit_thread_attach            (MonoDomain *domain, gpointer *dummy);
-MONO_API void      mono_jit_thread_detach            (gpointer cookie, gpointer *dummy);
+MONO_API MonoDomain* mono_jit_thread_attach (MonoDomain *domain);
+MONO_API void      mono_jit_set_domain      (MonoDomain *domain);
 gint32    mono_get_jit_tls_offset           (void);
 gint32    mono_get_lmf_tls_offset           (void);
 gint32    mono_get_lmf_addr_tls_offset      (void);
@@ -2456,11 +2457,9 @@ jinfo_get_method (MonoJitInfo *ji)
 /* AOT */
 void      mono_aot_init                     (void);
 void      mono_aot_cleanup                  (void);
-gpointer  mono_aot_get_method               (MonoDomain *domain,
-                                                                                        MonoMethod *method);
 gpointer  mono_aot_get_method_checked       (MonoDomain *domain,
                                                                                         MonoMethod *method, MonoError *error);
-gpointer  mono_aot_get_method_from_token    (MonoDomain *domain, MonoImage *image, guint32 token);
+gpointer  mono_aot_get_method_from_token    (MonoDomain *domain, MonoImage *image, guint32 token, MonoError *error);
 gboolean  mono_aot_is_got_entry             (guint8 *code, guint8 *addr);
 guint8*   mono_aot_get_plt_entry            (guint8 *code);
 guint32   mono_aot_get_plt_info_offset      (mgreg_t *regs, guint8 *code);
@@ -2469,7 +2468,7 @@ gboolean  mono_aot_get_class_from_name      (MonoImage *image, const char *name_
 MonoJitInfo* mono_aot_find_jit_info         (MonoDomain *domain, MonoImage *image, gpointer addr);
 gpointer mono_aot_plt_resolve               (gpointer aot_module, guint32 plt_info_offset, guint8 *code, MonoError *error);
 void     mono_aot_patch_plt_entry           (guint8 *code, guint8 *plt_entry, gpointer *got, mgreg_t *regs, guint8 *addr);
-gpointer mono_aot_get_method_from_vt_slot   (MonoDomain *domain, MonoVTable *vtable, int slot);
+gpointer mono_aot_get_method_from_vt_slot   (MonoDomain *domain, MonoVTable *vtable, int slot, MonoError *error);
 gpointer mono_aot_create_specific_trampoline   (MonoImage *image, gpointer arg1, MonoTrampolineType tramp_type, MonoDomain *domain, guint32 *code_len);
 gpointer mono_aot_get_trampoline            (const char *name);
 gpointer mono_aot_get_trampoline_full       (const char *name, MonoTrampInfo **out_tinfo);
@@ -2655,7 +2654,7 @@ GList    *mono_arch_get_global_fp_regs          (MonoCompile *cfg);
 GList    *mono_arch_get_iregs_clobbered_by_call (MonoCallInst *call);
 GList    *mono_arch_get_fregs_clobbered_by_call (MonoCallInst *call);
 guint32   mono_arch_regalloc_cost               (MonoCompile *cfg, MonoMethodVar *vmv);
-void      mono_arch_patch_code                  (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain, guint8 *code, MonoJumpInfo *ji, gboolean run_cctors);
+void      mono_arch_patch_code                  (MonoCompile *cfg, MonoMethod *method, MonoDomain *domain, guint8 *code, MonoJumpInfo *ji, gboolean run_cctors, MonoError *error);
 void      mono_arch_patch_code_new              (MonoCompile *cfg, MonoDomain *domain, guint8 *code, MonoJumpInfo *ji, gpointer target);
 void      mono_arch_flush_icache                (guint8 *code, gint size);
 int       mono_arch_max_epilog_size             (MonoCompile *cfg);
index d8e4437b75d5ddb7836dbee0230e052f673744d6..98f89d63500b7fe89ea677a7bbe041a911dd4a00 100644 (file)
@@ -534,7 +534,7 @@ mono_trace_enter_method (MonoMethod *method, char *ebp)
                                        g_free (as);
                                } else if (klass == mono_defaults.int32_class) {
                                        printf ("[INT32:%p:%d], ", o, *(gint32 *)((char *)o + sizeof (MonoObject)));
-                               } else if (klass == mono_defaults.monotype_class) {
+                               } else if (klass == mono_defaults.runtimetype_class) {
                                        printf ("[TYPE:%s], ", mono_type_full_name (((MonoReflectionType*)o)->type));
                                } else
                                        printf ("[%s.%s:%p], ", klass->name_space, klass->name, o);
index 94289f9d571f3e52017596f3236752e5972298fe..f5600adbde78198f5a9935ef9971316cc1abfb8c 100644 (file)
@@ -5,6 +5,7 @@
  *   Zoltan Varga <vargaz@gmail.com>
  *   Rodrigo Kumpera <kumpera@gmail.com>
  *   Andi McClure <andi.mcclure@xamarin.com>
+ *   Johan Lorensson <johan.lorensson@xamarin.com>
  *
  * Copyright 2015 Xamarin, Inc (http://www.xamarin.com)
  * Licensed under the MIT license. See LICENSE file in the project root for full license information.
@@ -145,7 +146,6 @@ mono_arch_get_gsharedvt_arg_trampoline (MonoDomain *domain, gpointer arg, gpoint
        return start;
 }
 
-
 gpointer
 mono_arch_get_gsharedvt_trampoline (MonoTrampInfo **info, gboolean aot)
 {
@@ -245,8 +245,8 @@ mono_arch_get_gsharedvt_trampoline (MonoTrampInfo **info, gboolean aot)
        <caller registers area>
        <rgctx>
        <gsharedvt info>
-       <calee stack area>
-       <calee reg area>
+       <callee stack area>
+       <callee reg area>
         */
 
        /* Call start_gsharedvt_call () */
@@ -263,7 +263,23 @@ mono_arch_get_gsharedvt_trampoline (MonoTrampInfo **info, gboolean aot)
 
        if (aot) {
                code = mono_arch_emit_load_aotconst (buf, code, &ji, MONO_PATCH_INFO_JIT_ICALL_ADDR, "mono_amd64_start_gsharedvt_call");
-               amd64_call_reg (code, AMD64_R11);
+               #ifdef TARGET_WIN32
+                       /* Since we are doing a call as part of setting up stackframe, the reserved shadow stack used by Windows platform is allocated up in
+                       the callee stack area but currently the callee reg area is in between. Windows calling convention dictates that room is made on stack where
+                       callee can save any parameters passed in registers. Since Windows x64 calling convention
+                       uses 4 registers for the first 4 parameters, stack needs to be adjusted before making the call.
+                       NOTE, Windows calling convention assumes that space for all registers have been reserved, regardless
+                       of the number of function parameters actually used.
+                       */
+                       int shadow_reg_size = 0;
+
+                       shadow_reg_size = ALIGN_TO (PARAM_REGS * sizeof(gpointer), MONO_ARCH_FRAME_ALIGNMENT);
+                       amd64_alu_reg_imm (code, X86_SUB, AMD64_RSP, shadow_reg_size);
+                       amd64_call_reg (code, AMD64_R11);
+                       amd64_alu_reg_imm (code, X86_ADD, AMD64_RSP, shadow_reg_size);
+               #else
+                       amd64_call_reg (code, AMD64_R11);
+               #endif
        } else {
                g_error ("no aot");
        }
@@ -302,13 +318,14 @@ mono_arch_get_gsharedvt_trampoline (MonoTrampInfo **info, gboolean aot)
         */
 
        /* Load vret_slot */
-       amd64_mov_reg_membase (code, AMD64_RDI, AMD64_R10, MONO_STRUCT_OFFSET (GSharedVtCallInfo, vret_slot), 4);
-       amd64_alu_reg_imm (code, X86_SUB, AMD64_RDI, n_arg_regs + n_arg_fregs);
-       amd64_shift_reg_imm (code, X86_SHL, AMD64_RDI, 3);
+       /* Use first input parameter register as scratch since it is volatile on all platforms */
+       amd64_mov_reg_membase (code, MONO_AMD64_ARG_REG1, AMD64_R10, MONO_STRUCT_OFFSET (GSharedVtCallInfo, vret_slot), 4);
+       amd64_alu_reg_imm (code, X86_SUB, MONO_AMD64_ARG_REG1, n_arg_regs + n_arg_fregs);
+       amd64_shift_reg_imm (code, X86_SHL, MONO_AMD64_ARG_REG1, 3);
 
        /* vret address is RBP - (framesize - caller_reg_area_offset) */
        amd64_mov_reg_reg (code, AMD64_R11, AMD64_RSP, sizeof(mgreg_t));
-       amd64_alu_reg_reg (code, X86_ADD, AMD64_R11, AMD64_RDI);
+       amd64_alu_reg_reg (code, X86_ADD, AMD64_R11, MONO_AMD64_ARG_REG1);
 
        /* Load ret marshal type */
        /* Load vret address in R11 */
@@ -366,10 +383,10 @@ mono_arch_get_gsharedvt_trampoline (MonoTrampInfo **info, gboolean aot)
 
        /*
                Address to write return to is in the original value of the register specified by vret_arg_reg.
-               This will be either RSI or RDI depending on whether this is a static call.
+               This will be either RSI, RDI (System V) or RCX, RDX (Windows) depending on whether this is a static call.
                Its location:
                We alloc 'framesize' bytes below RBP to save regs, info and rgctx. RSP = RBP - framesize
-               We store rdi at RSP + caller_reg_area_offset + slot_index_of (register) * 8.
+               We store RDI (System V), RCX (Windows) at RSP + caller_reg_area_offset + slot_index_of (register) * 8.
 
                address: RBP - framesize + caller_reg_area_offset + 8*slot
        */
index a8df3065dd80910322b0f6f21a7732acc94c043d..d9737fb8c52e948339da1868b78630a3a2005c34 100644 (file)
@@ -709,6 +709,41 @@ mono_arch_create_rgctx_lazy_fetch_trampoline (guint32 slot, MonoTrampInfo **info
        return buf;
 }
 
+gpointer
+mono_arch_create_general_rgctx_lazy_fetch_trampoline (MonoTrampInfo **info, gboolean aot)
+{
+       guint8 *code, *buf;
+       int tramp_size;
+       MonoJumpInfo *ji = NULL;
+       GSList *unwind_ops;
+
+       g_assert (aot);
+       tramp_size = 64;
+
+       code = buf = (guint8 *)mono_global_codeman_reserve (tramp_size);
+
+       unwind_ops = mono_arch_get_cie_program ();
+
+       // FIXME: Currently, we always go to the slow path.
+       /* This receives a <slot, trampoline> in the rgctx arg reg. */
+       /* Load trampoline addr */
+       amd64_mov_reg_membase (code, AMD64_R11, MONO_ARCH_RGCTX_REG, 8, 8);
+       /* move the rgctx pointer to the VTABLE register */
+       amd64_mov_reg_reg (code, MONO_ARCH_VTABLE_REG, AMD64_ARG_REG1, sizeof(gpointer));
+       /* Jump to the trampoline */
+       amd64_jump_reg (code, AMD64_R11);
+
+       mono_arch_flush_icache (buf, code - buf);
+       mono_profiler_code_buffer_new (buf, code - buf, MONO_PROFILER_CODE_BUFFER_GENERICS_TRAMPOLINE, NULL);
+
+       g_assert (code - buf <= tramp_size);
+
+       if (info)
+               *info = mono_tramp_info_create ("rgctx_fetch_trampoline_general", buf, code - buf, ji, unwind_ops);
+
+       return buf;
+}
+
 void
 mono_arch_invalidate_method (MonoJitInfo *ji, void *func, gpointer func_arg)
 {
index 75b2348e53ce678f12ce2b4a443dd017e880dc8c..41e62a8a1b528645239bdbadc8502e1d9cec55de 100644 (file)
@@ -84,6 +84,10 @@ endif
 mprof_report_SOURCES = decode.c
 mprof_report_LDADD = $(Z_LIBS) $(GLIB_LIBS) $(LIBICONV)
 
+# FIXME fix the profiler tests to work with coop.
+if ENABLE_COOP
+DISABLE_PROFILER_TESTS=1
+endif
 PLOG_TESTS_SRC=test-alloc.cs test-busy.cs test-monitor.cs test-excleave.cs \
        test-heapshot.cs test-traces.cs
 PLOG_TESTS=$(PLOG_TESTS_SRC:.cs=.exe)
@@ -99,7 +103,12 @@ MCS = $(RUNTIME) $(mcs_topdir)/class/lib/build/mcs.exe -unsafe -nowarn:0162 -now
        $(MCS) -out:$@ $<
 
 testlog: $(PLOG_TESTS)
-       $(with_mono_path) perl $(srcdir)/ptestrunner.pl $(top_builddir)
+       if [ "z$(DISABLE_PROFILER_TESTS)" != z1 ]; then \
+               $(with_mono_path) perl $(srcdir)/ptestrunner.pl $(top_builddir) ; \
+       else \
+               echo "Profiler tests disabled with cooperative GC" ; \
+       fi
+
 
 if NACL_CODEGEN
 check-local:
index e658bf9777b6b78e81c6851a74b41a6fc44ec53a..15baec017ac03cd4dc6a5451303577f73ab1433e 100644 (file)
@@ -203,7 +203,8 @@ static inline void print_report (const gchar *format, ...)
        prop = mono_class_get_property_from_name (klass, "StackTrace");
        str = (MonoString*)mono_property_get_value_checked (prop, NULL, NULL, &error);
        mono_error_assert_ok (&error);
-       stack_trace = mono_string_to_utf8 (str);
+       stack_trace = mono_string_to_utf8_checked (str, &error);
+       mono_error_assert_ok (&error);
 
        fprintf (stdout, "-= Stack Trace =-\n%s\n\n", stack_trace);
        g_free (stack_trace);
@@ -212,7 +213,6 @@ static inline void print_report (const gchar *format, ...)
 
 static inline void append_report (GString **report, const gchar *format, ...)
 {
-#if defined (_EGLIB_MAJOR) || GLIB_CHECK_VERSION(2,14,0)
        va_list ap;
        if (!*report)
                *report = g_string_new ("");
@@ -220,13 +220,11 @@ static inline void append_report (GString **report, const gchar *format, ...)
        va_start (ap, format);
        g_string_append_vprintf (*report, format, ap);
        va_end (ap);
-#else
-       g_assert_not_reached ();
-#endif
 }
 
 static gboolean saved_strings_find_func (gpointer key, gpointer value, gpointer user_data)
 {
+       MonoError error;
        SavedStringFindInfo *info = (SavedStringFindInfo*)user_data;
        SavedString *saved = (SavedString*)value;
        gchar *utf_str;
@@ -235,7 +233,8 @@ static gboolean saved_strings_find_func (gpointer key, gpointer value, gpointer
        if (!info || !saved || mono_string_length (saved->string) != info->len)
                return FALSE;
 
-       utf_str = mono_string_to_utf8 (saved->string);
+       utf_str = mono_string_to_utf8_checked (saved->string, &error);
+       mono_error_assert_ok (&error);
        hash = do_calc_string_hash (0, utf_str);
        g_free (utf_str);
 
index dfd801d8ae18e18159c9c4bc4b648515a3b59bd3..99e68567571dcf59b3759f143d2642e0861c06de 100644 (file)
 #include <mono/utils/mono-mmap.h>
 #include <mono/utils/mono-counters.h>
 #include <mono/utils/mono-os-mutex.h>
+#include <mono/utils/mono-os-semaphore.h>
 #include <mono/utils/mono-conc-hashtable.h>
 #include <mono/utils/lock-free-alloc.h>
 #include <mono/utils/lock-free-queue.h>
+#include <mono/utils/hazard-pointer.h>
+#include <mono/utils/mono-threads.h>
 #include <stdlib.h>
 #include <string.h>
 #include <assert.h>
index 2bc3214f143745d39b577525eea5a6bbc257bd66..0c824caa9eb7a0c4871dfb1151e4c3f46e29b774 100644 (file)
@@ -68,6 +68,9 @@ static __thread char *tlab_temp_end;
 static __thread char *tlab_real_end;
 /* Used by the managed allocator/wbarrier */
 static __thread char **tlab_next_addr MONO_ATTR_USED;
+#ifndef SGEN_WITHOUT_MONO
+static __thread volatile int *in_critical_region_addr MONO_ATTR_USED;
+#endif
 #endif
 
 #ifdef HAVE_KW_THREAD
@@ -506,6 +509,9 @@ sgen_init_tlab_info (SgenThreadInfo* info)
 
 #ifdef HAVE_KW_THREAD
        tlab_next_addr = &tlab_next;
+#ifndef SGEN_WITHOUT_MONO
+       in_critical_region_addr = &info->client_info.in_critical_region;
+#endif
 #endif
 }
 
@@ -530,13 +536,15 @@ sgen_init_allocator (void)
 #if defined(HAVE_KW_THREAD) && !defined(SGEN_WITHOUT_MONO)
        int tlab_next_addr_offset = -1;
        int tlab_temp_end_offset = -1;
-
+       int in_critical_region_addr_offset = -1;
 
        MONO_THREAD_VAR_OFFSET (tlab_next_addr, tlab_next_addr_offset);
        MONO_THREAD_VAR_OFFSET (tlab_temp_end, tlab_temp_end_offset);
+       MONO_THREAD_VAR_OFFSET (in_critical_region_addr, in_critical_region_addr_offset);
 
        mono_tls_key_set_offset (TLS_KEY_SGEN_TLAB_NEXT_ADDR, tlab_next_addr_offset);
        mono_tls_key_set_offset (TLS_KEY_SGEN_TLAB_TEMP_END, tlab_temp_end_offset);
+       mono_tls_key_set_offset (TLS_KEY_SGEN_IN_CRITICAL_REGION_ADDR, in_critical_region_addr_offset);
 #endif
 
 #ifdef HEAVY_STATISTICS
index 05dfe7d90743b041f12bcf26d587213920fe46c0..50369b0a783f22a7314279f70f0416c6a3ab84aa 100644 (file)
@@ -410,7 +410,7 @@ static void
 sgen_card_table_clear_cards (void)
 {
        /*XXX we could do this in 2 ways. using mincore or iterating over all sections/los objects */
-       sgen_major_collector_iterate_live_block_ranges (clear_cards);
+       sgen_major_collector_iterate_block_ranges (clear_cards);
        sgen_los_iterate_live_block_ranges (clear_cards);
 }
 
@@ -431,7 +431,7 @@ sgen_card_table_scan_remsets (ScanCopyContext ctx)
 #ifdef SGEN_HAVE_OVERLAPPING_CARDS
        /*FIXME we should have a bit on each block/los object telling if the object have marked cards.*/
        /*First we copy*/
-       sgen_major_collector_iterate_live_block_ranges (move_cards_to_shadow_table);
+       sgen_major_collector_iterate_block_ranges (move_cards_to_shadow_table);
        sgen_los_iterate_live_block_ranges (move_cards_to_shadow_table);
 
        /*Then we clear*/
index 4cf9f003d5584bb55b5c7ab30f9170661647c3f7..6d60c3516c6a380c8a2de1c47827a34229ea853a 100644 (file)
@@ -174,7 +174,7 @@ void sgen_client_scan_thread_data (void *start_nursery, void *end_nursery, gbool
  * single-threaded programs this is a nop.
  */
 void sgen_client_stop_world (int generation);
-void sgen_client_restart_world (int generation, GGTimingInfo *timing);
+void sgen_client_restart_world (int generation, gint64 *stw_time);
 
 /*
  * Must return FALSE.  The bridge is not supported outside of Mono.
@@ -197,12 +197,6 @@ void sgen_client_bridge_register_finalized_object (GCObject *object);
 void sgen_client_mark_togglerefs (char *start, char *end, ScanCopyContext ctx);
 void sgen_client_clear_togglerefs (char *start, char *end, ScanCopyContext ctx);
 
-/*
- * Called after collections, reporting the amount of time they took.  No action is
- * necessary.
- */
-void sgen_client_log_timing (GGTimingInfo *info, mword last_major_num_sections, mword last_los_memory_usage);
-
 /*
  * Called to handle `MONO_GC_PARAMS` and `MONO_GC_DEBUG` options.  The `handle` functions
  * must return TRUE if they have recognized and processed the option, FALSE otherwise.
index 1d3c897bd726f4277fc1c7a04d1590aea4acb066..6daa9199dfcea5d7067518d98732a153cb5f6abc 100644 (file)
@@ -992,9 +992,11 @@ check_reference_for_xdomain (GCObject **ptr, GCObject *obj, MonoDomain *domain)
                        break;
        }
 
-       if (ref->vtable->klass == mono_defaults.string_class)
-               str = mono_string_to_utf8 ((MonoString*)ref);
-       else
+       if (ref->vtable->klass == mono_defaults.string_class) {
+               MonoError error;
+               str = mono_string_to_utf8_checked ((MonoString*)ref, &error);
+               mono_error_cleanup (&error);
+       } else
                str = NULL;
        g_print ("xdomain reference in %p (%s.%s) at offset %d (%s) to %p (%s.%s) (%s)  -  pointed to by:\n",
                        obj, obj->vtable->klass->name_space, obj->vtable->klass->name,
index fd8b48f08a20f9fd418b3027a63467805ceba9ed..b327ebd5a4d74b5e221611b0951d8695f57440b0 100644 (file)
@@ -326,6 +326,15 @@ nursery_canaries_enabled (void)
 
 #define safe_object_get_size   sgen_safe_object_get_size
 
+#if defined(PLATFORM_MACOSX) || defined(HOST_WIN32) || (defined(__linux__) && !defined(PLATFORM_ANDROID))
+/* Use concurrent major on deskstop platforms */
+#define DEFAULT_MAJOR_INIT sgen_marksweep_conc_init
+#define DEFAULT_MAJOR_NAME "marksweep-conc"
+#else
+#define DEFAULT_MAJOR_INIT sgen_marksweep_init
+#define DEFAULT_MAJOR_NAME "marksweep"
+#endif
+
 /*
  * ######################################################################
  * ########  Global data.
@@ -692,7 +701,7 @@ pin_objects_from_nursery_pin_queue (gboolean do_scan_objects, ScanCopyContext ct
 
                        pin_object (obj_to_pin);
                        GRAY_OBJECT_ENQUEUE (queue, obj_to_pin, desc);
-                       sgen_pin_stats_register_object (obj_to_pin, obj_to_pin_size);
+                       sgen_pin_stats_register_object (obj_to_pin, GENERATION_NURSERY);
                        definitely_pinned [count] = obj_to_pin;
                        count++;
                }
@@ -727,6 +736,8 @@ pin_objects_in_nursery (gboolean do_scan_objects, ScanCopyContext ctx)
 void
 sgen_pin_object (GCObject *object, GrayQueue *queue)
 {
+       SGEN_ASSERT (0, sgen_ptr_in_nursery (object), "We're only supposed to use this for pinning nursery objects when out of memory.");
+
        /*
         * All pinned objects are assumed to have been staged, so we need to stage as well.
         * Also, the count of staged objects shows that "late pinning" happened.
@@ -737,7 +748,7 @@ sgen_pin_object (GCObject *object, GrayQueue *queue)
        binary_protocol_pin (object, (gpointer)LOAD_VTABLE (object), safe_object_get_size (object));
 
        ++objects_pinned;
-       sgen_pin_stats_register_object (object, safe_object_get_size (object));
+       sgen_pin_stats_register_object (object, GENERATION_NURSERY);
 
        GRAY_OBJECT_ENQUEUE (queue, object, sgen_obj_get_descriptor_safe (object));
 }
@@ -1163,7 +1174,7 @@ finish_gray_stack (int generation, ScanCopyContext ctx)
        sgen_client_clear_togglerefs (start_addr, end_addr, ctx);
 
        TV_GETTIME (btv);
-       SGEN_LOG (2, "Finalize queue handling scan for %s generation: %lld usecs %d ephemeron rounds", generation_name (generation), TV_ELAPSED (atv, btv), ephemeron_rounds);
+       SGEN_LOG (2, "Finalize queue handling scan for %s generation: %lld usecs %d ephemeron rounds", generation_name (generation), (long long)TV_ELAPSED (atv, btv), ephemeron_rounds);
 
        /*
         * handle disappearing links
@@ -1474,7 +1485,7 @@ enqueue_scan_from_roots_jobs (char *heap_start, char *heap_end, SgenObjectOperat
  * Return whether any objects were late-pinned due to being out of memory.
  */
 static gboolean
-collect_nursery (SgenGrayQueue *unpin_queue, gboolean finish_up_concurrent_mark)
+collect_nursery (const char *reason, gboolean is_overflow, SgenGrayQueue *unpin_queue, gboolean finish_up_concurrent_mark)
 {
        gboolean needs_major;
        size_t max_garbage_amount;
@@ -1557,7 +1568,7 @@ collect_nursery (SgenGrayQueue *unpin_queue, gboolean finish_up_concurrent_mark)
 
        TV_GETTIME (atv);
        time_minor_pinning += TV_ELAPSED (btv, atv);
-       SGEN_LOG (2, "Finding pinned pointers: %zd in %lld usecs", sgen_get_pinned_count (), TV_ELAPSED (btv, atv));
+       SGEN_LOG (2, "Finding pinned pointers: %zd in %lld usecs", sgen_get_pinned_count (), (long long)TV_ELAPSED (btv, atv));
        SGEN_LOG (4, "Start scan with %zd pinned objects", sgen_get_pinned_count ());
 
        sj = (ScanJob*)sgen_thread_pool_job_alloc ("scan remset", job_remembered_set_scan, sizeof (ScanJob));
@@ -1567,9 +1578,9 @@ collect_nursery (SgenGrayQueue *unpin_queue, gboolean finish_up_concurrent_mark)
        /* we don't have complete write barrier yet, so we scan all the old generation sections */
        TV_GETTIME (btv);
        time_minor_scan_remsets += TV_ELAPSED (atv, btv);
-       SGEN_LOG (2, "Old generation scan: %lld usecs", TV_ELAPSED (atv, btv));
+       SGEN_LOG (2, "Old generation scan: %lld usecs", (long long)TV_ELAPSED (atv, btv));
 
-       sgen_pin_stats_print_class_stats ();
+       sgen_pin_stats_report ();
 
        /* FIXME: Why do we do this at this specific, seemingly random, point? */
        sgen_client_collecting_minor (&fin_ready_queue, &critical_fin_queue);
@@ -1608,7 +1619,7 @@ collect_nursery (SgenGrayQueue *unpin_queue, gboolean finish_up_concurrent_mark)
        sgen_client_binary_protocol_reclaim_end (GENERATION_NURSERY);
        TV_GETTIME (btv);
        time_minor_fragment_creation += TV_ELAPSED (atv, btv);
-       SGEN_LOG (2, "Fragment creation: %lld usecs, %lu bytes available", TV_ELAPSED (atv, btv), (unsigned long)fragment_total);
+       SGEN_LOG (2, "Fragment creation: %lld usecs, %lu bytes available", (long long)TV_ELAPSED (atv, btv), (unsigned long)fragment_total);
 
        if (consistency_check_at_minor_collection)
                sgen_check_major_refs ();
@@ -1638,7 +1649,7 @@ collect_nursery (SgenGrayQueue *unpin_queue, gboolean finish_up_concurrent_mark)
 
        binary_protocol_flush_buffers (FALSE);
 
-       sgen_memgov_minor_collection_end ();
+       sgen_memgov_minor_collection_end (reason, is_overflow);
 
        /*objects are late pinned because of lack of memory, so a major is a good call*/
        needs_major = objects_pinned > 0;
@@ -1766,7 +1777,7 @@ major_copy_or_mark_from_roots (size_t *old_next_pin_slot, CopyOrMarkFromRootsMod
                        sgen_los_pin_object (bigobj->data);
                        if (SGEN_OBJECT_HAS_REFERENCES (bigobj->data))
                                GRAY_OBJECT_ENQUEUE (WORKERS_DISTRIBUTE_GRAY_QUEUE, bigobj->data, sgen_obj_get_descriptor ((GCObject*)bigobj->data));
-                       sgen_pin_stats_register_object (bigobj->data, safe_object_get_size (bigobj->data));
+                       sgen_pin_stats_register_object (bigobj->data, GENERATION_OLD);
                        SGEN_LOG (6, "Marked large object %p (%s) size: %lu from roots", bigobj->data,
                                        sgen_client_vtable_get_name (SGEN_LOAD_VTABLE (bigobj->data)),
                                        (unsigned long)sgen_los_object_size (bigobj));
@@ -1785,7 +1796,7 @@ major_copy_or_mark_from_roots (size_t *old_next_pin_slot, CopyOrMarkFromRootsMod
 
        TV_GETTIME (btv);
        time_major_pinning += TV_ELAPSED (atv, btv);
-       SGEN_LOG (2, "Finding pinned pointers: %zd in %lld usecs", sgen_get_pinned_count (), TV_ELAPSED (atv, btv));
+       SGEN_LOG (2, "Finding pinned pointers: %zd in %lld usecs", sgen_get_pinned_count (), (long long)TV_ELAPSED (atv, btv));
        SGEN_LOG (4, "Start scan with %zd pinned objects", sgen_get_pinned_count ());
 
        major_collector.init_to_space ();
@@ -1852,7 +1863,7 @@ major_copy_or_mark_from_roots (size_t *old_next_pin_slot, CopyOrMarkFromRootsMod
                time_major_scan_mod_union += TV_ELAPSED (btv, atv);
        }
 
-       sgen_pin_stats_print_class_stats ();
+       sgen_pin_stats_report ();
 }
 
 static void
@@ -1869,7 +1880,7 @@ major_finish_copy_or_mark (CopyOrMarkFromRootsMode mode)
 }
 
 static void
-major_start_collection (gboolean concurrent, size_t *old_next_pin_slot)
+major_start_collection (const char *reason, gboolean concurrent, size_t *old_next_pin_slot)
 {
        SgenObjectOperations *object_ops;
 
@@ -1893,7 +1904,7 @@ major_start_collection (gboolean concurrent, size_t *old_next_pin_slot)
 
        reset_pinned_from_failed_allocation ();
 
-       sgen_memgov_major_collection_start ();
+       sgen_memgov_major_collection_start (concurrent, reason);
 
        //count_ref_nonref_objs ();
        //consistency_check ();
@@ -1912,7 +1923,7 @@ major_start_collection (gboolean concurrent, size_t *old_next_pin_slot)
 }
 
 static void
-major_finish_collection (const char *reason, size_t old_next_pin_slot, gboolean forced)
+major_finish_collection (const char *reason, gboolean is_overflow, size_t old_next_pin_slot, gboolean forced)
 {
        ScannedObjectCounts counts;
        SgenObjectOperations *object_ops;
@@ -2025,7 +2036,7 @@ major_finish_collection (const char *reason, size_t old_next_pin_slot, gboolean
 
        g_assert (sgen_gray_object_queue_is_empty (&gray_queue));
 
-       sgen_memgov_major_collection_end (forced);
+       sgen_memgov_major_collection_end (forced, concurrent_collection_in_progress, reason, is_overflow);
        current_collection_generation = -1;
 
        memset (&counts, 0, sizeof (ScannedObjectCounts));
@@ -2047,7 +2058,7 @@ major_finish_collection (const char *reason, size_t old_next_pin_slot, gboolean
 }
 
 static gboolean
-major_do_collection (const char *reason, gboolean forced)
+major_do_collection (const char *reason, gboolean is_overflow, gboolean forced)
 {
        TV_DECLARE (time_start);
        TV_DECLARE (time_end);
@@ -2064,8 +2075,8 @@ major_do_collection (const char *reason, gboolean forced)
        /* world must be stopped already */
        TV_GETTIME (time_start);
 
-       major_start_collection (FALSE, &old_next_pin_slot);
-       major_finish_collection (reason, old_next_pin_slot, forced);
+       major_start_collection (reason, FALSE, &old_next_pin_slot);
+       major_finish_collection (reason, is_overflow, old_next_pin_slot, forced);
 
        TV_GETTIME (time_end);
        gc_stats.major_gc_time += TV_ELAPSED (time_start, time_end);
@@ -2096,7 +2107,7 @@ major_start_concurrent_collection (const char *reason)
        binary_protocol_concurrent_start ();
 
        // FIXME: store reason and pass it when finishing
-       major_start_collection (TRUE, NULL);
+       major_start_collection (reason, TRUE, NULL);
 
        gray_queue_redirect (&gray_queue);
 
@@ -2163,7 +2174,7 @@ major_finish_concurrent_collection (gboolean forced)
 
        current_collection_generation = GENERATION_OLD;
        sgen_cement_reset ();
-       major_finish_collection ("finishing", -1, forced);
+       major_finish_collection ("finishing", FALSE, -1, forced);
 
        if (whole_heap_check_before_collection)
                sgen_check_whole_heap (FALSE);
@@ -2223,100 +2234,58 @@ sgen_ensure_free_space (size_t size, int generation)
 void
 sgen_perform_collection (size_t requested_size, int generation_to_collect, const char *reason, gboolean wait_to_finish)
 {
-       TV_DECLARE (gc_start);
-       TV_DECLARE (gc_end);
        TV_DECLARE (gc_total_start);
        TV_DECLARE (gc_total_end);
-       GGTimingInfo infos [2];
        int overflow_generation_to_collect = -1;
        int oldest_generation_collected = generation_to_collect;
        const char *overflow_reason = NULL;
+       gboolean finish_concurrent = concurrent_collection_in_progress && (major_should_finish_concurrent_collection () || generation_to_collect == GENERATION_OLD);
 
        binary_protocol_collection_requested (generation_to_collect, requested_size, wait_to_finish ? 1 : 0);
 
        SGEN_ASSERT (0, generation_to_collect == GENERATION_NURSERY || generation_to_collect == GENERATION_OLD, "What generation is this?");
 
-       TV_GETTIME (gc_start);
-
        sgen_stop_world (generation_to_collect);
 
        TV_GETTIME (gc_total_start);
 
-       if (concurrent_collection_in_progress) {
-               /*
-                * If the concurrent worker is finished or we are asked to do a major collection
-                * then we finish the concurrent collection.
-                */
-               gboolean finish = major_should_finish_concurrent_collection () || generation_to_collect == GENERATION_OLD;
-
-               if (finish) {
-                       major_finish_concurrent_collection (wait_to_finish);
-                       oldest_generation_collected = GENERATION_OLD;
-               } else {
-                       SGEN_ASSERT (0, generation_to_collect == GENERATION_NURSERY, "Why aren't we finishing the concurrent collection?");
+       // FIXME: extract overflow reason
+       // FIXME: minor overflow for concurrent case
+       if (generation_to_collect == GENERATION_NURSERY && !finish_concurrent) {
+               if (concurrent_collection_in_progress)
                        major_update_concurrent_collection ();
-                       collect_nursery (NULL, FALSE);
-               }
-
-               goto done;
-       }
-
-       SGEN_ASSERT (0, !concurrent_collection_in_progress, "Why did this not get handled above?");
 
-       /*
-        * There's no concurrent collection in progress.  Collect the generation we're asked
-        * to collect.  If the major collector is concurrent and we're not forced to wait,
-        * start a concurrent collection.
-        */
-       // FIXME: extract overflow reason
-       if (generation_to_collect == GENERATION_NURSERY) {
-               if (collect_nursery (NULL, FALSE)) {
+               if (collect_nursery (reason, FALSE, NULL, FALSE) && !concurrent_collection_in_progress) {
                        overflow_generation_to_collect = GENERATION_OLD;
                        overflow_reason = "Minor overflow";
                }
+       } else if (finish_concurrent) {
+               major_finish_concurrent_collection (wait_to_finish);
+               oldest_generation_collected = GENERATION_OLD;
        } else {
+               SGEN_ASSERT (0, generation_to_collect == GENERATION_OLD, "We should have handled nursery collections above");
                if (major_collector.is_concurrent && !wait_to_finish) {
-                       collect_nursery (NULL, FALSE);
+                       collect_nursery ("Concurrent start", FALSE, NULL, FALSE);
                        major_start_concurrent_collection (reason);
-                       // FIXME: set infos[0] properly
-                       goto done;
-               }
-
-               if (major_do_collection (reason, wait_to_finish)) {
+                       oldest_generation_collected = GENERATION_NURSERY;
+               } else if (major_do_collection (reason, FALSE, wait_to_finish)) {
                        overflow_generation_to_collect = GENERATION_NURSERY;
                        overflow_reason = "Excessive pinning";
                }
        }
 
-       TV_GETTIME (gc_end);
-
-       memset (infos, 0, sizeof (infos));
-       infos [0].generation = generation_to_collect;
-       infos [0].reason = reason;
-       infos [0].is_overflow = FALSE;
-       infos [1].generation = -1;
-       infos [0].total_time = SGEN_TV_ELAPSED (gc_start, gc_end);
-
-       SGEN_ASSERT (0, !concurrent_collection_in_progress, "Why did this not get handled above?");
-
        if (overflow_generation_to_collect != -1) {
+               SGEN_ASSERT (0, !concurrent_collection_in_progress, "We don't yet support overflow collections with the concurrent collector");
+
                /*
                 * We need to do an overflow collection, either because we ran out of memory
                 * or the nursery is fully pinned.
                 */
 
-               infos [1].generation = overflow_generation_to_collect;
-               infos [1].reason = overflow_reason;
-               infos [1].is_overflow = TRUE;
-               gc_start = gc_end;
-
                if (overflow_generation_to_collect == GENERATION_NURSERY)
-                       collect_nursery (NULL, FALSE);
+                       collect_nursery (overflow_reason, TRUE, NULL, FALSE);
                else
-                       major_do_collection (overflow_reason, wait_to_finish);
-
-               TV_GETTIME (gc_end);
-               infos [1].total_time = SGEN_TV_ELAPSED (gc_start, gc_end);
+                       major_do_collection (overflow_reason, TRUE, wait_to_finish);
 
                oldest_generation_collected = MAX (oldest_generation_collected, overflow_generation_to_collect);
        }
@@ -2331,13 +2300,12 @@ sgen_perform_collection (size_t requested_size, int generation_to_collect, const
                degraded_mode = 1;
        }
 
- done:
        g_assert (sgen_gray_object_queue_is_empty (&gray_queue));
 
        TV_GETTIME (gc_total_end);
        time_max = MAX (time_max, TV_ELAPSED (gc_total_start, gc_total_end));
 
-       sgen_restart_world (oldest_generation_collected, infos);
+       sgen_restart_world (oldest_generation_collected);
 }
 
 /*
@@ -2854,14 +2822,16 @@ sgen_gc_init (void)
                }
        }
 
-       if (!major_collector_opt || !strcmp (major_collector_opt, "marksweep")) {
-       use_marksweep_major:
+       if (!major_collector_opt) {
+       use_default_major:
+               DEFAULT_MAJOR_INIT (&major_collector);
+       } else if (!strcmp (major_collector_opt, "marksweep")) {
                sgen_marksweep_init (&major_collector);
-       } else if (!major_collector_opt || !strcmp (major_collector_opt, "marksweep-conc")) {
+       } else if (!strcmp (major_collector_opt, "marksweep-conc")) {
                sgen_marksweep_conc_init (&major_collector);
        } else {
-               sgen_env_var_error (MONO_GC_PARAMS_NAME, "Using `marksweep` instead.", "Unknown major collector `%s'.", major_collector_opt);
-               goto use_marksweep_major;
+               sgen_env_var_error (MONO_GC_PARAMS_NAME, "Using `" DEFAULT_MAJOR_NAME "` instead.", "Unknown major collector `%s'.", major_collector_opt);
+               goto use_default_major;
        }
 
        sgen_nursery_size = DEFAULT_NURSERY_SIZE;
@@ -3193,6 +3163,12 @@ sgen_major_collector_iterate_live_block_ranges (sgen_cardtable_block_callback ca
        major_collector.iterate_live_block_ranges (callback);
 }
 
+void
+sgen_major_collector_iterate_block_ranges (sgen_cardtable_block_callback callback)
+{
+       major_collector.iterate_block_ranges (callback);
+}
+
 SgenMajorCollector*
 sgen_get_major_collector (void)
 {
@@ -3235,9 +3211,10 @@ sgen_stop_world (int generation)
 
 /* LOCKING: assumes the GC lock is held */
 void
-sgen_restart_world (int generation, GGTimingInfo *timing)
+sgen_restart_world (int generation)
 {
        long long major_total = -1, major_marked = -1, los_total = -1, los_marked = -1;
+       gint64 stw_time;
 
        SGEN_ASSERT (0, world_is_stopped, "Why are we restarting a running world?");
 
@@ -3247,14 +3224,14 @@ sgen_restart_world (int generation, GGTimingInfo *timing)
 
        world_is_stopped = FALSE;
 
-       sgen_client_restart_world (generation, timing);
+       sgen_client_restart_world (generation, &stw_time);
 
        binary_protocol_world_restarted (generation, sgen_timestamp ());
 
        if (sgen_client_bridge_need_processing ())
                sgen_client_bridge_processing_finish (generation);
 
-       sgen_memgov_collection_end (generation, timing, timing ? 2 : 0);
+       sgen_memgov_collection_end (generation, stw_time);
 }
 
 gboolean
@@ -3269,7 +3246,7 @@ sgen_check_whole_heap_stw (void)
        sgen_stop_world (0);
        sgen_clear_nursery_fragments ();
        sgen_check_whole_heap (FALSE);
-       sgen_restart_world (0, NULL);
+       sgen_restart_world (0);
 }
 
 gint64
index 44092858c112a57d0f83b318d9889aaea745af38..3a86cc44f5f9bd077365a6525a26fc1f1735c373 100644 (file)
@@ -315,6 +315,7 @@ enum {
        INTERNAL_MEM_CARDTABLE_MOD_UNION,
        INTERNAL_MEM_BINARY_PROTOCOL,
        INTERNAL_MEM_TEMPORARY,
+       INTERNAL_MEM_LOG_ENTRY,
        INTERNAL_MEM_FIRST_CLIENT
 };
 
@@ -431,9 +432,9 @@ void* sgen_alloc_internal_dynamic (size_t size, int type, gboolean assert_on_fai
 void sgen_free_internal_dynamic (void *addr, size_t size, int type);
 
 void sgen_pin_stats_enable (void);
-void sgen_pin_stats_register_object (GCObject *obj, size_t size);
+void sgen_pin_stats_register_object (GCObject *obj, int generation);
 void sgen_pin_stats_register_global_remset (GCObject *obj);
-void sgen_pin_stats_print_class_stats (void);
+void sgen_pin_stats_report (void);
 
 void sgen_sort_addresses (void **array, size_t size);
 void sgen_add_to_global_remset (gpointer ptr, GCObject *obj);
@@ -570,6 +571,7 @@ sgen_update_reference (GCObject **p, GCObject *o, gboolean allow_null)
 
 typedef void (*sgen_cardtable_block_callback) (mword start, mword size);
 void sgen_major_collector_iterate_live_block_ranges (sgen_cardtable_block_callback callback);
+void sgen_major_collector_iterate_block_ranges (sgen_cardtable_block_callback callback);
 
 typedef enum {
        ITERATE_OBJECTS_SWEEP = 1,
@@ -624,6 +626,7 @@ struct _SgenMajorCollector {
        void (*pin_major_object) (GCObject *obj, SgenGrayQueue *queue);
        void (*scan_card_table) (CardTableScanType scan_type, ScanCopyContext ctx);
        void (*iterate_live_block_ranges) (sgen_cardtable_block_callback callback);
+       void (*iterate_block_ranges) (sgen_cardtable_block_callback callback);
        void (*update_cardtable_mod_union) (void);
        void (*init_to_space) (void);
        void (*sweep) (void);
@@ -811,16 +814,8 @@ size_t sgen_gc_get_total_heap_allocation (void);
 
 /* STW */
 
-typedef struct {
-       int generation;
-       const char *reason;
-       gboolean is_overflow;
-       gint64 total_time;
-       gint64 stw_time;
-} GGTimingInfo;
-
 void sgen_stop_world (int generation);
-void sgen_restart_world (int generation, GGTimingInfo *timing);
+void sgen_restart_world (int generation);
 gboolean sgen_is_world_stopped (void);
 
 gboolean sgen_set_allow_synchronous_major (gboolean flag);
@@ -840,6 +835,7 @@ struct _LOSObject {
 
 extern LOSObject *los_object_list;
 extern mword los_memory_usage;
+extern mword los_memory_usage_total;
 
 void sgen_los_free_object (LOSObject *obj);
 void* sgen_los_alloc_large_inner (GCVTable vtable, size_t size);
@@ -951,6 +947,8 @@ extern int default_nursery_size;
 extern guint32 tlab_size;
 extern NurseryClearPolicy nursery_clear_policy;
 extern gboolean sgen_try_free_some_memory;
+extern mword total_promoted_size;
+extern mword total_allocated_major;
 
 extern MonoCoopMutex gc_mutex;
 
index c22afd22f21d01c67998ee4e75dadedc444eb737..4b52eefb3f00cdf295504d29a21780667e99f144 100644 (file)
@@ -64,7 +64,10 @@ struct _LOSSection {
 
 /* We allow read only access on the list while sweep is not running */
 LOSObject *los_object_list = NULL;
+/* Memory used by LOS objects */
 mword los_memory_usage = 0;
+/* Total memory used by the LOS allocator */
+mword los_memory_usage_total = 0;
 
 static LOSSection *los_sections = NULL;
 static LOSFreeChunks *los_fast_free_lists [LOS_NUM_FAST_SIZES]; /* 0 is for larger sizes */
@@ -268,6 +271,7 @@ get_los_section_memory (size_t size)
        section->next = los_sections;
        los_sections = section;
 
+       los_memory_usage_total += LOS_SECTION_SIZE;
        ++los_num_sections;
 
        goto retry;
@@ -326,6 +330,7 @@ sgen_los_free_object (LOSObject *obj)
                size += sizeof (LOSObject);
                size = SGEN_ALIGN_UP_TO (size, pagesize);
                sgen_free_os_memory ((gpointer)SGEN_ALIGN_DOWN_TO ((mword)obj, pagesize), size, SGEN_ALLOC_HEAP);
+               los_memory_usage_total -= size;
                sgen_memgov_release_space (size, SPACE_LOS);
        } else {
                free_los_section_memory (obj, size + sizeof (LOSObject));
@@ -383,8 +388,10 @@ sgen_los_alloc_large_inner (GCVTable vtable, size_t size)
                size_t alloc_size = SGEN_ALIGN_UP_TO (obj_size, pagesize);
                if (sgen_memgov_try_alloc_space (alloc_size, SPACE_LOS)) {
                        obj = (LOSObject *)sgen_alloc_os_memory (alloc_size, (SgenAllocFlags)(SGEN_ALLOC_HEAP | SGEN_ALLOC_ACTIVATE), NULL);
-                       if (obj)
+                       if (obj) {
+                               los_memory_usage_total += alloc_size;
                                obj = randomize_los_object_start (obj, obj_size, alloc_size, pagesize);
+                       }
                }
        } else {
                obj = get_los_section_memory (size + sizeof (LOSObject));
@@ -476,6 +483,7 @@ sgen_los_sweep (void)
                        sgen_memgov_release_space (LOS_SECTION_SIZE, SPACE_LOS);
                        section = next;
                        --los_num_sections;
+                       los_memory_usage_total -= LOS_SECTION_SIZE;
                        continue;
                }
 
index ad2bb6fe272a44cbf08ce80ac65da5dbd177a0c7..3c96a2f0106bfc78cf20bca223315e7bd3f8c63a 100644 (file)
@@ -117,7 +117,7 @@ COPY_OR_MARK_FUNCTION_NAME (GCObject **ptr, GCObject *obj, SgenGrayQueue *queue)
                MS_CALC_MARK_BIT (word, bit, obj);
                SGEN_ASSERT (9, !MS_MARK_BIT (block, word, bit), "object %p already marked", obj);
                MS_SET_MARK_BIT (block, word, bit);
-               binary_protocol_mark (obj, (gpointer)LOAD_VTABLE (obj), sgen_safe_object_get_size (obj));
+               binary_protocol_mark (obj, (gpointer)SGEN_LOAD_VTABLE (obj), sgen_safe_object_get_size (obj));
 
                return FALSE;
 #endif
index 4c63191ad447d0ea5c9fb76bf44f9eba3ee19b46..f2c646b3952f678b513bd74b6f7667f110ca4a24 100644 (file)
@@ -194,16 +194,23 @@ static SgenArrayList allocated_blocks = SGEN_ARRAY_LIST_INIT (NULL, NULL, NULL,
 static void *empty_blocks = NULL;
 static size_t num_empty_blocks = 0;
 
+/*
+ * We can iterate the block list also while sweep is in progress but we
+ * need to account for blocks that will be checked for sweeping and even
+ * freed in the process.
+ */
 #define FOREACH_BLOCK_NO_LOCK(bl) {                                    \
        volatile gpointer *slot;                                                \
-       SGEN_ASSERT (0, !sweep_in_progress (), "Can't iterate blocks while sweep is in progress."); \
        SGEN_ARRAY_LIST_FOREACH_SLOT (&allocated_blocks, slot) {        \
-               (bl) = BLOCK_UNTAG (*slot);
+               (bl) = BLOCK_UNTAG (*slot);                             \
+               if (!(bl))                                              \
+                       continue;
 #define FOREACH_BLOCK_HAS_REFERENCES_NO_LOCK(bl,hr) {                  \
        volatile gpointer *slot;                                                \
-       SGEN_ASSERT (0, !sweep_in_progress (), "Can't iterate blocks while sweep is in progress."); \
        SGEN_ARRAY_LIST_FOREACH_SLOT (&allocated_blocks, slot) {        \
                (bl) = (MSBlockInfo *) (*slot);                 \
+               if (!(bl))                                              \
+                       continue;                                       \
                (hr) = BLOCK_IS_TAGGED_HAS_REFERENCES ((bl));           \
                (bl) = BLOCK_UNTAG ((bl));
 #define END_FOREACH_BLOCK_NO_LOCK      } SGEN_ARRAY_LIST_END_FOREACH_SLOT; }
@@ -549,16 +556,6 @@ ms_alloc_block (int size_index, gboolean pinned, gboolean has_references)
 
        add_free_block (free_blocks, size_index, info);
 
-       /*
-        * 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.
-        */
-       major_finish_sweep_checking ();
-       mono_memory_barrier ();
-
        sgen_array_list_add (&allocated_blocks, BLOCK_TAG (info), 0, FALSE);
 
        SGEN_ATOMIC_ADD_P (num_major_sections, 1);
@@ -652,6 +649,8 @@ alloc_obj (GCVTable vtable, size_t size, gboolean pinned, gboolean has_reference
        /* FIXME: assumes object layout */
        *(GCVTable*)obj = vtable;
 
+       total_allocated_major += block_obj_sizes [size_index]; 
+
        return (GCObject *)obj;
 }
 
@@ -1082,19 +1081,6 @@ major_block_is_evacuating (MSBlockInfo *block)
        return FALSE;
 }
 
-#define LOAD_VTABLE    SGEN_LOAD_VTABLE
-
-#define MS_MARK_OBJECT_AND_ENQUEUE_CHECKED(obj,desc,block,queue) do {  \
-               int __word, __bit;                                      \
-               MS_CALC_MARK_BIT (__word, __bit, (obj));                \
-               if (!MS_MARK_BIT ((block), __word, __bit) && MS_OBJ_ALLOCED ((obj), (block))) { \
-                       MS_SET_MARK_BIT ((block), __word, __bit);       \
-                       if (sgen_gc_descr_has_references (desc))                        \
-                               GRAY_OBJECT_ENQUEUE ((queue), (obj), (desc)); \
-                       binary_protocol_mark ((obj), (gpointer)LOAD_VTABLE ((obj)), sgen_safe_object_get_size ((obj))); \
-                       INC_NUM_MAJOR_OBJECTS_MARKED ();                \
-               }                                                       \
-       } while (0)
 #define MS_MARK_OBJECT_AND_ENQUEUE(obj,desc,block,queue) do {          \
                int __word, __bit;                                      \
                MS_CALC_MARK_BIT (__word, __bit, (obj));                \
@@ -1103,7 +1089,7 @@ major_block_is_evacuating (MSBlockInfo *block)
                        MS_SET_MARK_BIT ((block), __word, __bit);       \
                        if (sgen_gc_descr_has_references (desc))                        \
                                GRAY_OBJECT_ENQUEUE ((queue), (obj), (desc)); \
-                       binary_protocol_mark ((obj), (gpointer)LOAD_VTABLE ((obj)), sgen_safe_object_get_size ((obj))); \
+                       binary_protocol_mark ((obj), (gpointer)SGEN_LOAD_VTABLE ((obj)), sgen_safe_object_get_size ((obj))); \
                        INC_NUM_MAJOR_OBJECTS_MARKED ();                \
                }                                                       \
        } while (0)
@@ -1254,8 +1240,6 @@ mark_pinned_objects_in_block (MSBlockInfo *block, size_t first_entry, size_t las
        if (first_entry == last_entry)
                return;
 
-       block->has_pinned = TRUE;
-
        entry = sgen_pinning_get_entry (first_entry);
        end = sgen_pinning_get_entry (last_entry);
 
@@ -1266,9 +1250,19 @@ mark_pinned_objects_in_block (MSBlockInfo *block, size_t first_entry, size_t las
                if (index == last_index)
                        continue;
                obj = MS_BLOCK_OBJ (block, index);
-               MS_MARK_OBJECT_AND_ENQUEUE_CHECKED (obj, sgen_obj_get_descriptor (obj), block, queue);
+               if (!MS_OBJ_ALLOCED (obj, block))
+                       continue;
+               MS_MARK_OBJECT_AND_ENQUEUE (obj, sgen_obj_get_descriptor (obj), block, queue);
+               sgen_pin_stats_register_object (obj, GENERATION_OLD);
                last_index = index;
        }
+
+       /*
+        * There might have been potential pinning "pointers" into this block, but none of
+        * them pointed to occupied slots, in which case we don't have to pin the block.
+        */
+       if (last_index >= 0)
+               block->has_pinned = TRUE;
 }
 
 static inline void
@@ -1316,6 +1310,7 @@ set_block_state (MSBlockInfo *block, gint32 new_state, gint32 expected_state)
 {
        SGEN_ASSERT (6, block->state == expected_state, "Block state incorrect before set");
        block->state = new_state;
+       binary_protocol_block_set_state (block, MS_BLOCK_SIZE, expected_state, new_state);
 }
 
 /*
@@ -1429,6 +1424,8 @@ sweep_start (void)
                for (j = 0; j < num_block_obj_sizes; ++j)
                        free_blocks [j] = NULL;
        }
+
+       sgen_array_list_remove_nulls (&allocated_blocks);
 }
 
 static void sweep_finish (void);
@@ -1583,9 +1580,12 @@ static void
 sweep_blocks_job_func (void *thread_data_untyped, SgenThreadPoolJob *job)
 {
        volatile gpointer *slot;
+       MSBlockInfo *bl;
 
        SGEN_ARRAY_LIST_FOREACH_SLOT (&allocated_blocks, slot) {
-               sweep_block (BLOCK_UNTAG (*slot));
+               bl = BLOCK_UNTAG (*slot);
+               if (bl)
+                       sweep_block (bl);
        } SGEN_ARRAY_LIST_END_FOREACH_SLOT;
 
        mono_memory_write_barrier ();
@@ -1632,8 +1632,6 @@ sweep_job_func (void *thread_data_untyped, SgenThreadPoolJob *job)
                }
        }
 
-       sgen_array_list_remove_nulls (&allocated_blocks);
-
        /*
         * Concurrently sweep all the blocks to reduce workload during minor
         * pauses where we need certain blocks to be swept. At the start of
@@ -1652,6 +1650,7 @@ sweep_job_func (void *thread_data_untyped, SgenThreadPoolJob *job)
 static void
 sweep_finish (void)
 {
+       mword used_slots_size = 0;
        int i;
 
        for (i = 0; i < num_block_obj_sizes; ++i) {
@@ -1665,9 +1664,11 @@ sweep_finish (void)
                } else {
                        evacuate_block_obj_sizes [i] = FALSE;
                }
+
+               used_slots_size += sweep_slots_used [i] * block_obj_sizes [i];
        }
 
-       sgen_memgov_major_post_sweep ();
+       sgen_memgov_major_post_sweep (used_slots_size);
 
        set_sweep_state (SWEEP_STATE_SWEPT, SWEEP_STATE_COMPACTING);
        if (concurrent_sweep)
@@ -1709,7 +1710,7 @@ static int count_nonpinned_nonref;
 static void
 count_nonpinned_callback (GCObject *obj, size_t size, void *data)
 {
-       GCVTable vtable = LOAD_VTABLE (obj);
+       GCVTable vtable = SGEN_LOAD_VTABLE (obj);
 
        if (SGEN_VTABLE_HAS_REFERENCES (vtable))
                ++count_nonpinned_ref;
@@ -1720,7 +1721,7 @@ count_nonpinned_callback (GCObject *obj, size_t size, void *data)
 static void
 count_pinned_callback (GCObject *obj, size_t size, void *data)
 {
-       GCVTable vtable = LOAD_VTABLE (obj);
+       GCVTable vtable = SGEN_LOAD_VTABLE (obj);
 
        if (SGEN_VTABLE_HAS_REFERENCES (vtable))
                ++count_pinned_ref;
@@ -2219,6 +2220,18 @@ major_print_gc_param_usage (void)
 /*
  * This callback is used to clear cards, move cards to the shadow table and do counting.
  */
+static void
+major_iterate_block_ranges (sgen_cardtable_block_callback callback)
+{
+       MSBlockInfo *block;
+       gboolean has_references;
+
+       FOREACH_BLOCK_HAS_REFERENCES_NO_LOCK (block, has_references) {
+               if (has_references)
+                       callback ((mword)MS_BLOCK_FOR_BLOCK_INFO (block), MS_BLOCK_SIZE);
+       } END_FOREACH_BLOCK_NO_LOCK;
+}
+
 static void
 major_iterate_live_block_ranges (sgen_cardtable_block_callback callback)
 {
@@ -2418,12 +2431,15 @@ static void
 major_scan_card_table (CardTableScanType scan_type, ScanCopyContext ctx)
 {
        MSBlockInfo *block;
-       gboolean has_references;
+       gboolean has_references, was_sweeping, skip_scan;
 
        if (!concurrent_mark)
                g_assert (scan_type == CARDTABLE_SCAN_GLOBAL);
 
-       major_finish_sweep_checking ();
+       if (scan_type != CARDTABLE_SCAN_GLOBAL)
+               SGEN_ASSERT (0, !sweep_in_progress (), "Sweep should be finished when we scan mod union card table");
+       was_sweeping = sweep_in_progress ();
+
        binary_protocol_major_card_table_scan_start (sgen_timestamp (), scan_type & CARDTABLE_SCAN_MOD_UNION);
        FOREACH_BLOCK_HAS_REFERENCES_NO_LOCK (block, has_references) {
 #ifdef PREFETCH_CARDS
@@ -2441,8 +2457,36 @@ major_scan_card_table (CardTableScanType scan_type, ScanCopyContext ctx)
 
                if (!has_references)
                        continue;
+               skip_scan = FALSE;
 
-               scan_card_table_for_block (block, scan_type, ctx);
+               if (scan_type == CARDTABLE_SCAN_GLOBAL) {
+                       gpointer *card_start = (gpointer*) sgen_card_table_get_card_scan_address ((mword)MS_BLOCK_FOR_BLOCK_INFO (block));
+                       gboolean has_dirty_cards = FALSE;
+                       int i;
+                       for (i = 0; i < CARDS_PER_BLOCK / sizeof(gpointer); i++) {
+                               if (card_start [i]) {
+                                       has_dirty_cards = TRUE;
+                                       break;
+                               }
+                       }
+                       if (!has_dirty_cards) {
+                               skip_scan = TRUE;
+                       } else {
+                               /*
+                                * After the start of the concurrent collections, blocks change state
+                                * to marking. We should not sweep it in that case. We can't race with
+                                * sweep start since we are in a nursery collection. Also avoid CAS-ing
+                                */
+                               if (sweep_in_progress ()) {
+                                       skip_scan = !ensure_block_is_checked_for_sweeping (__index, TRUE, NULL);
+                               } else if (was_sweeping) {
+                                       /* Recheck in case sweep finished after dereferencing the slot */
+                                       skip_scan = *sgen_array_list_get_slot (&allocated_blocks, __index) == 0;
+                               }
+                       }
+               }
+               if (!skip_scan)
+                       scan_card_table_for_block (block, scan_type, ctx);
        } END_FOREACH_BLOCK_NO_LOCK;
        binary_protocol_major_card_table_scan_end (sgen_timestamp (), scan_type & CARDTABLE_SCAN_MOD_UNION);
 }
@@ -2579,6 +2623,7 @@ sgen_marksweep_init_internal (SgenMajorCollector *collector, gboolean is_concurr
        collector->pin_major_object = pin_major_object;
        collector->scan_card_table = major_scan_card_table;
        collector->iterate_live_block_ranges = major_iterate_live_block_ranges;
+       collector->iterate_block_ranges = major_iterate_block_ranges;
        if (is_concurrent) {
                collector->update_cardtable_mod_union = update_cardtable_mod_union;
                collector->get_cardtable_mod_union_for_reference = major_get_cardtable_mod_union_for_reference;
index 7415ce3bff1b3ce63468582f8e1d4cc888e0fc3c..e7de362976055377c0a67e6da9e4874d0c3b2db5 100644 (file)
 
 #define MIN_MINOR_COLLECTION_ALLOWANCE ((mword)(DEFAULT_NURSERY_SIZE * default_allowance_nursery_size_ratio))
 
+static SgenPointerQueue log_entries = SGEN_POINTER_QUEUE_INIT (INTERNAL_MEM_TEMPORARY);
+static MonoCoopMutex log_entries_mutex;
+
+mword total_promoted_size = 0;
+mword total_allocated_major = 0;
+static mword total_promoted_size_start;
+static mword total_allocated_major_end;
+
 /*Heap limits and allocation knobs*/
 static mword max_heap_size = ((mword)0)- ((mword)1);
 static mword soft_heap_limit = ((mword)0) - ((mword)1);
@@ -37,6 +45,9 @@ static mword allocated_heap;
 static mword total_alloc = 0;
 static mword total_alloc_max = 0;
 
+static SGEN_TV_DECLARE(last_minor_start);
+static SGEN_TV_DECLARE(last_major_start);
+
 /* GC triggers. */
 
 static gboolean debug_print_allowance = FALSE;
@@ -48,13 +59,11 @@ static mword major_collection_trigger_size;
 static mword major_pre_sweep_heap_size;
 static mword major_start_heap_size;
 
-static mword last_major_num_sections = 0;
-static mword last_los_memory_usage = 0;
-
 static gboolean need_calculate_minor_collection_allowance;
 
 /* The size of the LOS after the last major collection, after sweeping. */
 static mword last_collection_los_memory_usage = 0;
+static mword last_used_slots_size = 0;
 
 static mword sgen_memgov_available_free_space (void);
 
@@ -160,11 +169,38 @@ sgen_need_major_collection (mword space_needed)
 void
 sgen_memgov_minor_collection_start (void)
 {
+       total_promoted_size_start = total_promoted_size;
+       SGEN_TV_GETTIME (last_minor_start);
+}
+
+static void
+sgen_add_log_entry (SgenLogEntry *log_entry)
+{
+       mono_coop_mutex_lock (&log_entries_mutex);
+       sgen_pointer_queue_add (&log_entries, log_entry);
+       mono_coop_mutex_unlock (&log_entries_mutex);
 }
 
 void
-sgen_memgov_minor_collection_end (void)
+sgen_memgov_minor_collection_end (const char *reason, gboolean is_overflow)
 {
+       if (mono_trace_is_traced (G_LOG_LEVEL_INFO, MONO_TRACE_GC)) {
+               SgenLogEntry *log_entry = (SgenLogEntry*)sgen_alloc_internal (INTERNAL_MEM_LOG_ENTRY);
+               SGEN_TV_DECLARE (current_time);
+               SGEN_TV_GETTIME (current_time);
+
+               log_entry->type = SGEN_LOG_NURSERY;
+               log_entry->reason = reason;
+               log_entry->is_overflow = is_overflow;
+               log_entry->time = SGEN_TV_ELAPSED (last_minor_start, current_time);
+               log_entry->promoted_size = total_promoted_size - total_promoted_size_start;
+               log_entry->major_size = major_collector.get_num_major_sections () * major_collector.section_size;
+               log_entry->major_size_in_use = last_used_slots_size + total_allocated_major - total_allocated_major_end;
+               log_entry->los_size = los_memory_usage_total;
+               log_entry->los_size_in_use = los_memory_usage;
+
+               sgen_add_log_entry (log_entry);
+       }
 }
 
 void
@@ -179,18 +215,22 @@ sgen_memgov_major_pre_sweep (void)
 }
 
 void
-sgen_memgov_major_post_sweep (void)
+sgen_memgov_major_post_sweep (mword used_slots_size)
 {
-       mword num_major_sections = major_collector.get_num_major_sections ();
+       if (mono_trace_is_traced (G_LOG_LEVEL_INFO, MONO_TRACE_GC)) {
+               SgenLogEntry *log_entry = (SgenLogEntry*)sgen_alloc_internal (INTERNAL_MEM_LOG_ENTRY);
+
+               log_entry->type = SGEN_LOG_MAJOR_SWEEP_FINISH;
+               log_entry->major_size = major_collector.get_num_major_sections () * major_collector.section_size;
+               log_entry->major_size_in_use = used_slots_size + total_allocated_major - total_allocated_major_end;
 
-       mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_GC, "GC_MAJOR_SWEEP: major %dK/%dK",
-               num_major_sections * major_collector.section_size / 1024,
-               last_major_num_sections * major_collector.section_size / 1024);
-       last_major_num_sections = num_major_sections;
+               sgen_add_log_entry (log_entry);
+       }
+       last_used_slots_size = used_slots_size;
 }
 
 void
-sgen_memgov_major_collection_start (void)
+sgen_memgov_major_collection_start (gboolean concurrent, const char *reason)
 {
        need_calculate_minor_collection_allowance = TRUE;
        major_start_heap_size = get_heap_size ();
@@ -198,13 +238,41 @@ sgen_memgov_major_collection_start (void)
        if (debug_print_allowance) {
                SGEN_LOG (0, "Starting collection with heap size %ld bytes", (long)major_start_heap_size);
        }
+       if (concurrent && mono_trace_is_traced (G_LOG_LEVEL_INFO, MONO_TRACE_GC)) {
+               SgenLogEntry *log_entry = (SgenLogEntry*)sgen_alloc_internal (INTERNAL_MEM_LOG_ENTRY);
+
+               log_entry->type = SGEN_LOG_MAJOR_CONC_START;
+               log_entry->reason = reason;
+
+               sgen_add_log_entry (log_entry);
+       }
+       SGEN_TV_GETTIME (last_major_start);
 }
 
 void
-sgen_memgov_major_collection_end (gboolean forced)
+sgen_memgov_major_collection_end (gboolean forced, gboolean concurrent, const char *reason, gboolean is_overflow)
 {
-       last_collection_los_memory_usage = los_memory_usage;
+       if (mono_trace_is_traced (G_LOG_LEVEL_INFO, MONO_TRACE_GC)) {
+               SgenLogEntry *log_entry = (SgenLogEntry*)sgen_alloc_internal (INTERNAL_MEM_LOG_ENTRY);
+               SGEN_TV_DECLARE (current_time);
+               SGEN_TV_GETTIME (current_time);
+
+               if (concurrent) {
+                       log_entry->type = SGEN_LOG_MAJOR_CONC_FINISH;
+               } else {
+                       log_entry->type = SGEN_LOG_MAJOR_SERIAL;
+               }
+               log_entry->time = SGEN_TV_ELAPSED (last_major_start, current_time);
+               log_entry->reason = reason;
+               log_entry->is_overflow = is_overflow;
+               log_entry->los_size = los_memory_usage_total;
+               log_entry->los_size_in_use = los_memory_usage;
+
+               sgen_add_log_entry (log_entry);
+       }
 
+       last_collection_los_memory_usage = los_memory_usage;
+       total_allocated_major_end = total_allocated_major;
        if (forced) {
                sgen_get_major_collector ()->finish_sweeping ();
                sgen_memgov_calculate_minor_collection_allowance ();
@@ -216,15 +284,77 @@ sgen_memgov_collection_start (int generation)
 {
 }
 
+static void
+sgen_output_log_entry (SgenLogEntry *entry, gint64 stw_time, int generation)
+{
+       char full_timing_buff [1024];
+       full_timing_buff [0] = '\0';
+
+       if (!entry->is_overflow)
+                sprintf (full_timing_buff, "stw %.2fms", stw_time / 10000.0f);
+
+       switch (entry->type) {
+               case SGEN_LOG_NURSERY:
+                       mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_GC, "GC_MINOR%s: (%s) time %.2fms, %s promoted %dK major size: %dK in use: %dK los size: %dK in use: %dK",
+                               entry->is_overflow ? "_OVERFLOW" : "",
+                               entry->reason ? entry->reason : "",
+                               entry->time / 10000.0f,
+                               (generation == GENERATION_NURSERY) ? full_timing_buff : "",
+                               entry->promoted_size / 1024,
+                               entry->major_size / 1024,
+                               entry->major_size_in_use / 1024,
+                               entry->los_size / 1024,
+                               entry->los_size_in_use / 1024);
+                       break;
+               case SGEN_LOG_MAJOR_SERIAL:
+                       mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_GC, "GC_MAJOR%s: (%s) time %.2fms, %s los size: %dK in use: %dK",
+                               entry->is_overflow ? "_OVERFLOW" : "",
+                               entry->reason ? entry->reason : "",
+                               (int)entry->time / 10000.0f,
+                               full_timing_buff,
+                               entry->los_size / 1024,
+                               entry->los_size_in_use / 1024);
+                       break;
+               case SGEN_LOG_MAJOR_CONC_START:
+                       mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_GC, "GC_MAJOR_CONCURRENT_START: (%s)", entry->reason ? entry->reason : "");
+                       break;
+               case SGEN_LOG_MAJOR_CONC_FINISH:
+                       mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_GC, "GC_MAJOR_CONCURRENT_FINISH: (%s) time %.2fms, %s los size: %dK in use: %dK",
+                               entry->reason ? entry->reason : "",
+                               entry->time / 10000.0f,
+                               full_timing_buff,
+                               entry->los_size / 1024,
+                               entry->los_size_in_use / 1024);
+                       break;
+               case SGEN_LOG_MAJOR_SWEEP_FINISH:
+                       mono_trace (G_LOG_LEVEL_INFO, MONO_TRACE_GC, "GC_MAJOR_SWEEP: major size: %dK in use: %dK",
+                               entry->major_size / 1024,
+                               entry->major_size_in_use / 1024);
+                       break;
+               default:
+                       SGEN_ASSERT (0, FALSE, "Invalid log entry type");
+                       break;
+       }
+}
+
 void
-sgen_memgov_collection_end (int generation, GGTimingInfo* info, int info_count)
+sgen_memgov_collection_end (int generation, gint64 stw_time)
 {
-       int i;
-       for (i = 0; i < info_count; ++i) {
-               if (info[i].generation != -1)
-                       sgen_client_log_timing (&info [i], last_major_num_sections, last_los_memory_usage);
+       /*
+        * At this moment the world has been restarted which means we can log all pending entries
+        * without risking deadlocks.
+        */
+       if (mono_trace_is_traced (G_LOG_LEVEL_INFO, MONO_TRACE_GC)) {
+               size_t i;
+               SGEN_ASSERT (0, !sgen_is_world_stopped (), "We can't log if the world is stopped");
+               mono_coop_mutex_lock (&log_entries_mutex);
+               for (i = 0; i < log_entries.next_slot; i++) {
+                       sgen_output_log_entry (log_entries.data [i], stw_time, generation);
+                       sgen_free_internal (log_entries.data [i], INTERNAL_MEM_LOG_ENTRY);
+               }
+               sgen_pointer_queue_clear (&log_entries);
+               mono_coop_mutex_unlock (&log_entries_mutex);
        }
-       last_los_memory_usage = los_memory_usage;
 }
 
 /*
@@ -349,6 +479,10 @@ sgen_memgov_init (size_t max_heap, size_t soft_limit, gboolean debug_allowance,
        mono_counters_register ("Memgov alloc", MONO_COUNTER_GC | MONO_COUNTER_WORD | MONO_COUNTER_BYTES | MONO_COUNTER_VARIABLE, &total_alloc);
        mono_counters_register ("Memgov max alloc", MONO_COUNTER_GC | MONO_COUNTER_WORD | MONO_COUNTER_BYTES | MONO_COUNTER_MONOTONIC, &total_alloc_max);
 
+       mono_coop_mutex_init (&log_entries_mutex);
+
+       sgen_register_fixed_internal_mem_type (INTERNAL_MEM_LOG_ENTRY, sizeof (SgenLogEntry));
+
        if (max_heap == 0)
                return;
 
index 9bcd55b4d80ad157417567512f7363438029f468..d669e4730d18a058c44a026e9ae7dd48446c71a5 100644 (file)
@@ -14,15 +14,15 @@ gboolean sgen_memgov_try_alloc_space (mword size, int space);
 
 /* GC trigger heuristics */
 void sgen_memgov_minor_collection_start (void);
-void sgen_memgov_minor_collection_end (void);
+void sgen_memgov_minor_collection_end (const char *reason, gboolean is_overflow);
 
 void sgen_memgov_major_pre_sweep (void);
-void sgen_memgov_major_post_sweep (void);
-void sgen_memgov_major_collection_start (void);
-void sgen_memgov_major_collection_end (gboolean forced);
+void sgen_memgov_major_post_sweep (mword used_slots_size);
+void sgen_memgov_major_collection_start (gboolean concurrent, const char *reason);
+void sgen_memgov_major_collection_end (gboolean forced, gboolean concurrent, const char *reason, gboolean is_overflow);
 
 void sgen_memgov_collection_start (int generation);
-void sgen_memgov_collection_end (int generation, GGTimingInfo* info, int info_count);
+void sgen_memgov_collection_end (int generation, gint64 stw);
 
 gboolean sgen_need_major_collection (mword space_needed);
 
@@ -33,6 +33,26 @@ typedef enum {
        SGEN_ALLOC_ACTIVATE = 2
 } SgenAllocFlags;
 
+typedef enum {
+       SGEN_LOG_NURSERY,
+       SGEN_LOG_MAJOR_SERIAL,
+       SGEN_LOG_MAJOR_CONC_START,
+       SGEN_LOG_MAJOR_CONC_FINISH,
+       SGEN_LOG_MAJOR_SWEEP_FINISH
+} SgenLogType;
+
+typedef struct {
+       SgenLogType type;
+       const char *reason;
+       gboolean is_overflow;
+       gint64 time;
+       mword promoted_size;
+       mword major_size;
+       mword major_size_in_use;
+       mword los_size;
+       mword los_size_in_use;
+} SgenLogEntry;
+
 /* OS memory allocation */
 void* sgen_alloc_os_memory (size_t size, SgenAllocFlags flags, const char *assert_description);
 void* sgen_alloc_os_memory_aligned (size_t size, mword alignment, SgenAllocFlags flags, const char *assert_description);
index 26fcfd116af32464cb5d01bcb1a6573144c5082e..ab00a56d66dd26cca6eb188000031cde4e95d3f0 100644 (file)
@@ -37,6 +37,9 @@ static gboolean do_pin_stats = FALSE;
 static PinStatAddress *pin_stat_addresses = NULL;
 static size_t pinned_byte_counts [PIN_TYPE_MAX];
 
+static size_t pinned_bytes_in_generation [GENERATION_MAX];
+static int pinned_objects_in_generation [GENERATION_MAX];
+
 static SgenPointerQueue pinned_objects = SGEN_POINTER_QUEUE_INIT (INTERNAL_MEM_STATISTICS);
 
 static SgenHashTable pinned_class_hash_table = SGEN_HASH_TABLE_INIT (INTERNAL_MEM_STATISTICS, INTERNAL_MEM_STAT_PINNED_CLASS, sizeof (PinnedClassEntry), g_str_hash, g_str_equal);
@@ -66,6 +69,10 @@ sgen_pin_stats_reset (void)
        pin_stat_addresses = NULL;
        for (i = 0; i < PIN_TYPE_MAX; ++i)
                pinned_byte_counts [i] = 0;
+       for (i = 0; i < GENERATION_MAX; ++i) {
+               pinned_bytes_in_generation [i] = 0;
+               pinned_objects_in_generation [i] = 0;
+       }
        sgen_pointer_queue_clear (&pinned_objects);
        sgen_hash_table_clean (&pinned_class_hash_table);
        sgen_hash_table_clean (&global_remset_class_hash_table);
@@ -78,6 +85,8 @@ sgen_pin_stats_register_address (char *addr, int pin_type)
        PinStatAddress *node;
        int pin_type_bit = 1 << pin_type;
 
+       if (!do_pin_stats)
+               return;
        while (*node_ptr) {
                node = *node_ptr;
                if (addr == node->addr) {
@@ -153,13 +162,23 @@ register_vtable (GCVTable vtable, int pin_types)
 }
 
 void
-sgen_pin_stats_register_object (GCObject *obj, size_t size)
+sgen_pin_stats_register_object (GCObject *obj, int generation)
 {
        int pin_types = 0;
+       size_t size = 0;
+
+       if (binary_protocol_is_enabled ()) {
+               size = sgen_safe_object_get_size (obj);
+               pinned_bytes_in_generation [generation] += size;
+               ++pinned_objects_in_generation [generation];
+       }
 
        if (!do_pin_stats)
                return;
 
+       if (!size)
+               size = sgen_safe_object_get_size (obj);
+
        pin_stats_count_object_from_tree (obj, size, pin_stat_addresses, &pin_types);
        sgen_pointer_queue_add (&pinned_objects, obj);
 
@@ -183,12 +202,15 @@ sgen_pin_stats_register_global_remset (GCObject *obj)
 }
 
 void
-sgen_pin_stats_print_class_stats (void)
+sgen_pin_stats_report (void)
 {
        char *name;
        PinnedClassEntry *pinned_entry;
        GlobalRemsetClassEntry *remset_entry;
 
+       binary_protocol_pin_stats (pinned_objects_in_generation [GENERATION_NURSERY], pinned_bytes_in_generation [GENERATION_NURSERY],
+                       pinned_objects_in_generation [GENERATION_OLD], pinned_bytes_in_generation [GENERATION_OLD]);
+
        if (!do_pin_stats)
                return;
 
index cfe3db1acd0167bd08d1c7e285b6313736460ec3..6b2b2e33547f2c2009616a0d628c00a4fd6fa14b 100644 (file)
@@ -26,7 +26,7 @@ static size_t last_num_pinned = 0;
  * stay pinned, which means they can't move, therefore they can be scanned.
  */
 static SgenPointerQueue pin_queue_objs;
-static MonoCoopMutex pin_queue_mutex;
+static mono_mutex_t pin_queue_mutex;
 
 #define PIN_HASH_SIZE 1024
 static void *pin_hash_filter [PIN_HASH_SIZE];
@@ -34,13 +34,13 @@ static void *pin_hash_filter [PIN_HASH_SIZE];
 void
 sgen_pinning_init (void)
 {
-       mono_coop_mutex_init (&pin_queue_mutex);
+       mono_os_mutex_init (&pin_queue_mutex);
 }
 
 void
 sgen_init_pinning (void)
 {
-       mono_coop_mutex_lock (&pin_queue_mutex);
+       mono_os_mutex_lock (&pin_queue_mutex);
        memset (pin_hash_filter, 0, sizeof (pin_hash_filter));
        pin_queue.mem_type = INTERNAL_MEM_PIN_QUEUE;
        sgen_pointer_queue_clear (&pin_queue_objs);
@@ -51,7 +51,7 @@ sgen_finish_pinning (void)
 {
        last_num_pinned = pin_queue.next_slot;
        sgen_pointer_queue_clear (&pin_queue);
-       mono_coop_mutex_unlock (&pin_queue_mutex);
+       mono_os_mutex_unlock (&pin_queue_mutex);
 }
 
 void
@@ -66,12 +66,12 @@ sgen_scan_pin_queue_objects (ScanCopyContext ctx)
        int i;
        ScanObjectFunc scan_func = ctx.ops->scan_object;
 
-       mono_coop_mutex_lock (&pin_queue_mutex);
+       mono_os_mutex_lock (&pin_queue_mutex);
        for (i = 0; i < pin_queue_objs.next_slot; ++i) {
                GCObject *obj = (GCObject *)pin_queue_objs.data [i];
                scan_func (obj, sgen_obj_get_descriptor_safe (obj), ctx.queue);
        }
-       mono_coop_mutex_unlock (&pin_queue_mutex);
+       mono_os_mutex_unlock (&pin_queue_mutex);
 }
 
 void
index 41b8b83829183ecfcefe33f0a761c877c8b25f2c..e6f1f775c917bbfcece04939dda8a6d4d0e3e3a5 100644 (file)
@@ -449,6 +449,13 @@ MATCH_INDEX (BINARY_PROTOCOL_MATCH)
 IS_VTABLE_MATCH (FALSE)
 END_PROTOCOL_ENTRY_FLUSH
 
+BEGIN_PROTOCOL_ENTRY4 (binary_protocol_pin_stats, TYPE_INT, objects_pinned_in_nursery, TYPE_SIZE, bytes_pinned_in_nursery, TYPE_INT, objects_pinned_in_major, TYPE_SIZE, bytes_pinned_in_major)
+DEFAULT_PRINT ()
+IS_ALWAYS_MATCH (TRUE)
+MATCH_INDEX (BINARY_PROTOCOL_MATCH)
+IS_VTABLE_MATCH (FALSE)
+END_PROTOCOL_ENTRY
+
 #undef BEGIN_PROTOCOL_ENTRY0
 #undef BEGIN_PROTOCOL_ENTRY1
 #undef BEGIN_PROTOCOL_ENTRY2
index 0e77588044ccb5e57630f1bcd699bb740ac10c9c..2e59b6359a4b1aea6f4e650998ae1590e4318d50 100644 (file)
@@ -19,6 +19,7 @@
 #include "sgen-thread-pool.h"
 #include "sgen-client.h"
 #include "mono/utils/mono-membar.h"
+#include "mono/utils/mono-proclib.h"
 
 #include <errno.h>
 #include <string.h>
@@ -73,9 +74,16 @@ free_filename (char *filename)
 }
 
 static void
-binary_protocol_open_file (void)
+binary_protocol_open_file (gboolean assert_on_failure)
 {
        char *filename;
+#ifdef F_SETLK
+       struct flock lock;
+       lock.l_type = F_WRLCK;
+       lock.l_whence = SEEK_SET;
+       lock.l_start = 0;
+       lock.l_len = 0;
+#endif
 
        if (file_size_limit > 0)
                filename = filename_for_index (current_file_index);
@@ -83,12 +91,24 @@ binary_protocol_open_file (void)
                filename = filename_or_prefix;
 
        do {
-               binary_protocol_file = open (filename, O_CREAT|O_WRONLY|O_TRUNC, 0644);
-               if (binary_protocol_file == -1 && errno != EINTR)
-                       break; /* Failed */
+               binary_protocol_file = open (filename, O_CREAT | O_WRONLY, 0644);
+               if (binary_protocol_file == -1) {
+                       if (errno != EINTR)
+                               break; /* Failed */
+#ifdef F_SETLK
+               } else if (fcntl (binary_protocol_file, F_SETLK, &lock) == -1) {
+                       /* The lock for the file is already taken. Fail */
+                       close (binary_protocol_file);
+                       binary_protocol_file = -1;
+                       break;
+#endif
+               } else {
+                       /* We have acquired the lock. Truncate the file */
+                       ftruncate (binary_protocol_file, 0);
+               }
        } while (binary_protocol_file == -1);
 
-       if (binary_protocol_file == -1)
+       if (binary_protocol_file == -1 && assert_on_failure)
                g_error ("sgen binary protocol: failed to open file");
 
        if (file_size_limit > 0)
@@ -100,12 +120,23 @@ void
 binary_protocol_init (const char *filename, long long limit)
 {
 #ifdef HAVE_UNISTD_H
-       filename_or_prefix = (char *)sgen_alloc_internal_dynamic (strlen (filename) + 1, INTERNAL_MEM_BINARY_PROTOCOL, TRUE);
-       strcpy (filename_or_prefix, filename);
-
        file_size_limit = limit;
 
-       binary_protocol_open_file ();
+       /* Original name length + . + pid length in hex + null terminator */
+       filename_or_prefix = g_strdup_printf ("%s", filename);
+       binary_protocol_open_file (FALSE);
+
+       if (binary_protocol_file == -1) {
+               /* Another process owns the file, try adding the pid suffix to the filename */
+               gint32 pid = mono_process_current_pid ();
+               g_free (filename_or_prefix);
+               filename_or_prefix = g_strdup_printf ("%s.%x", filename, pid);
+               binary_protocol_open_file (TRUE);
+       }
+
+       /* If we have a file size limit, we might need to open additional files */
+       if (file_size_limit == 0)
+               g_free (filename_or_prefix);
 
        binary_protocol_header (PROTOCOL_HEADER_CHECK, PROTOCOL_HEADER_VERSION, SIZEOF_VOID_P, G_BYTE_ORDER == G_LITTLE_ENDIAN);
 #else
@@ -220,7 +251,7 @@ binary_protocol_check_file_overflow (void)
        ++current_file_index;
        current_file_size = 0;
 
-       binary_protocol_open_file ();
+       binary_protocol_open_file (TRUE);
 }
 #endif
 
index 56a235aa30f42473511957269500bc45a86870c1..62c14a5392bc394ffef8420e9741629b458d1b2b 100644 (file)
@@ -22,6 +22,7 @@
 static inline GCObject*
 alloc_for_promotion (GCVTable vtable, GCObject *obj, size_t objsize, gboolean has_references)
 {
+       total_promoted_size += objsize;
        return major_collector.alloc_object (vtable, objsize, has_references);
 }
 
index 3606607809e954c2888f1dceae8b70d0ea4cb135..3b7ae668a203d537bd2372d15d62e7630c5db7e6 100644 (file)
@@ -254,8 +254,10 @@ alloc_for_promotion (GCVTable vtable, GCObject *obj, size_t objsize, gboolean ha
        int age;
 
        age = get_object_age (obj);
-       if (age >= promote_age)
+       if (age >= promote_age) {
+               total_promoted_size += objsize;
                return major_collector.alloc_object (vtable, objsize, has_references);
+       }
 
        /* Promote! */
        ++age;
@@ -265,8 +267,10 @@ alloc_for_promotion (GCVTable vtable, GCObject *obj, size_t objsize, gboolean ha
         age_alloc_buffers [age].next += objsize;
        } else {
                p = alloc_for_promotion_slow_path (age, objsize);
-               if (!p)
+               if (!p) {
+                       total_promoted_size += objsize;
                        return major_collector.alloc_object (vtable, objsize, has_references);
+               }
        }
 
        /* FIXME: assumes object layout */
index dbd2e9ad1cc108d8ee2ebbb383738f9b84999af4..650e7716e583d8af4318a59a900c7ad8b742780c 100644 (file)
@@ -1339,6 +1339,8 @@ mono_test_return_empty_struct (int a)
 {
        EmptyStruct s;
 
+       memset (&s, 0, sizeof (s));
+
        g_assert (a == 42);
 
        return s;
index f4ae1b54100e4550201e99c71ecf673951f815a8..6f5606bdb80919b7890bd9bed1da15997a77757d 100644 (file)
@@ -12,6 +12,7 @@
 
 #include <mono/utils/checked-build.h>
 #include <mono/utils/mono-threads.h>
+#include <mono/utils/mono-threads-coop.h>
 #include <mono/utils/mono-tls.h>
 #include <mono/metadata/mempool.h>
 #include <mono/metadata/metadata-internals.h>
@@ -183,10 +184,9 @@ checked_build_thread_transition (const char *transition, void *info, int from_st
        if (!mono_check_mode_enabled (MONO_CHECK_MODE_THREAD))
                return;
 
-       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)
+       if (!mono_thread_info_is_current (info))
                return;
 
        if (state->transitions->len >= MAX_TRANSITIONS)
index 25e663177ef39760a804e16eae34add0147f2f7a..1f4ca74112a498f7b4b35316c4ebffebd369eb73 100644 (file)
@@ -201,7 +201,7 @@ void check_metadata_store_local(void *from, void *to);
 
 void checked_build_thread_transition(const char *transition, void *info, int from_state, int suspend_count, int next_state, int suspend_count_delta);
 
-void mono_fatal_with_history(const char *msg, ...);
+G_GNUC_NORETURN void mono_fatal_with_history(const char *msg, ...);
 
 #else
 
index 9e074bbea77041bdf92bb715635083023d4947b5..92ae719d7ba653080ecada657c71f3263678dba8 100644 (file)
@@ -6,7 +6,7 @@
 #include <glib.h>
 
 #include "mono-os-mutex.h"
-#include "mono-threads.h"
+#include "mono-threads-api.h"
 
 G_BEGIN_DECLS
 
index 3e8a06e8789e46370e212ff6ae13c0d1e730fd5f..81c987ed74070107a4400e07f8fabf28b6cf865a 100644 (file)
@@ -6,7 +6,7 @@
 #include <glib.h>
 
 #include "mono-os-semaphore.h"
-#include "mono-threads.h"
+#include "mono-threads-api.h"
 
 G_BEGIN_DECLS
 
index 84d04781e708927500ec5fc106ec46066cacfda4..7488c9ca6c9f64df7ed65b17c3c911efc1f22968 100644 (file)
@@ -39,6 +39,8 @@ is_managed_exception (MonoErrorInternal *error)
 static void
 mono_error_prepare (MonoErrorInternal *error)
 {
+       /* mono_error_set_* after a mono_error_cleanup without an intervening init */
+       g_assert (error->error_code != MONO_ERROR_CLEANUP_CALLED_SENTINEL);
        if (error->error_code != MONO_ERROR_NONE)
                return;
 
@@ -106,15 +108,30 @@ void
 mono_error_cleanup (MonoError *oerror)
 {
        MonoErrorInternal *error = (MonoErrorInternal*)oerror;
-       if (error->error_code == MONO_ERROR_NONE)
+       short int orig_error_code = error->error_code;
+       gboolean free_strings = error->flags & MONO_ERROR_FREE_STRINGS;
+       gboolean has_instance_handle = is_managed_exception (error);
+
+       /* Two cleanups in a row without an intervening init. */
+       g_assert (orig_error_code != MONO_ERROR_CLEANUP_CALLED_SENTINEL);
+
+       /* Mark it as cleaned up. */
+       error->error_code = MONO_ERROR_CLEANUP_CALLED_SENTINEL;
+       error->flags = 0;
+
+       if (orig_error_code == MONO_ERROR_NONE)
                return;
 
-       if (is_managed_exception (error))
+
+       if (has_instance_handle)
                mono_gchandle_free (error->exn.instance_handle);
 
+
        g_free ((char*)error->full_message);
        g_free ((char*)error->full_message_with_fields);
-       if (!(error->flags & MONO_ERROR_FREE_STRINGS)) //no memory was allocated
+       error->full_message = NULL;
+       error->full_message_with_fields = NULL;
+       if (!free_strings) //no memory was allocated
                return;
 
        g_free ((char*)error->type_name);
@@ -123,6 +140,9 @@ mono_error_cleanup (MonoError *oerror)
        g_free ((char*)error->exception_name_space);
        g_free ((char*)error->exception_name);
        g_free ((char*)error->first_argument);
+       error->type_name = error->assembly_name = error->member_name = error->exception_name_space = error->exception_name = error->first_argument = NULL;
+       error->exn.klass = NULL;
+
 }
 
 gboolean
@@ -664,6 +684,9 @@ mono_error_prepare_exception (MonoError *oerror, MonoError *error_out)
                exception = (MonoException*) mono_gchandle_get_target (error->exn.instance_handle);
                break;
 
+       case MONO_ERROR_CLEANUP_CALLED_SENTINEL:
+               mono_error_set_execution_engine (error_out, "MonoError reused after mono_error_cleanup");
+               break;
        default:
                mono_error_set_execution_engine (error_out, "Invalid error-code %d", error->error_code);
        }
index 5e1102ec2b842006b8d799e93f969267fef68101..2a98d4839fc45f4ca02b7a8fa247f8bc642fff70 100644 (file)
@@ -32,7 +32,10 @@ enum {
         */
        MONO_ERROR_GENERIC = 9,
        /* This one encapsulates a managed exception instance */
-       MONO_ERROR_EXCEPTION_INSTANCE = 10
+       MONO_ERROR_EXCEPTION_INSTANCE = 10,
+
+       /* Not a valid error code - indicates that the error was cleaned up and reused */
+       MONO_ERROR_CLEANUP_CALLED_SENTINEL = 0xffff
 };
 
 /*Keep in sync with MonoErrorInternal*/
index 740db4c7543cb72bc2b8f1d6c68775849bb35cbd..54c6320d2b6f6a08bc8fc2fe249f315bbde8cac8 100644 (file)
@@ -93,7 +93,6 @@ static gchar *find_in_dir (DIR *current, const gchar *name)
 
 static inline void append_report (GString **report, const gchar *format, ...)
 {
-#if defined (_EGLIB_MAJOR) || GLIB_CHECK_VERSION(2,14,0)
        va_list ap;
        if (!*report)
                *report = g_string_new ("");
@@ -101,9 +100,6 @@ static inline void append_report (GString **report, const gchar *format, ...)
        va_start (ap, format);
        g_string_append_vprintf (*report, format, ap);
        va_end (ap);
-#else
-       g_assert_not_reached ();
-#endif
 }
 
 static inline void do_mono_profiler_iomap (GString **report, const char *pathname, const char *new_pathname)
index edd71d5eebf82dcb494bbae018c845ae6c09266b..f36ec0beb813bf39430d83be8cc1889529bab591 100644 (file)
@@ -10,7 +10,9 @@
 #ifndef __MONO_THREADS_API_H__
 #define __MONO_THREADS_API_H__
 
+#include <glib.h>
 #include <mono/utils/mono-publib.h>
+
 MONO_BEGIN_DECLS
 
 /*
@@ -19,22 +21,35 @@ MONO_BEGIN_DECLS
 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 gpointer
 mono_threads_enter_gc_unsafe_region (gpointer* stackdata);
 
 MONO_API void
 mono_threads_exit_gc_unsafe_region (gpointer cookie, gpointer* stackdata);
 
+MONO_API gpointer
+mono_threads_enter_gc_unsafe_region_unbalanced (gpointer* stackdata);
+
+MONO_API void
+mono_threads_exit_gc_unsafe_region_unbalanced (gpointer cookie, gpointer* stackdata);
+
 MONO_API void
 mono_threads_assert_gc_unsafe_region (void);
 
+
+
 MONO_API gpointer
 mono_threads_enter_gc_safe_region (gpointer *stackdata);
 
 MONO_API void
 mono_threads_exit_gc_safe_region (gpointer cookie, gpointer *stackdata);
 
+MONO_API gpointer
+mono_threads_enter_gc_safe_region_unbalanced (gpointer *stackdata);
+
+MONO_API void
+mono_threads_exit_gc_safe_region_unbalanced (gpointer cookie, gpointer *stackdata);
+
 MONO_API void
 mono_threads_assert_gc_safe_region (void);
 
@@ -48,21 +63,39 @@ http://www.mono-project.com/docs/advanced/runtime/docs/coop-suspend/#gc-unsafe-m
 #define MONO_ENTER_GC_UNSAFE   \
        do {    \
                gpointer __gc_unsafe_dummy;     \
-               gpointer __gc_unsafe_cookie = mono_threads_enter_gc_unsafe_region (&__gc_unsafe_dummy)  \
+               gpointer __gc_unsafe_cookie = mono_threads_enter_gc_unsafe_region (&__gc_unsafe_dummy)
 
 #define MONO_EXIT_GC_UNSAFE    \
                mono_threads_exit_gc_unsafe_region      (__gc_unsafe_cookie, &__gc_unsafe_dummy);       \
        } while (0)
 
+#define MONO_ENTER_GC_UNSAFE_UNBALANCED        \
+       do {    \
+               gpointer __gc_unsafe_unbalanced_dummy;  \
+               gpointer __gc_unsafe_unbalanced_cookie = mono_threads_enter_gc_unsafe_region_unbalanced (&__gc_unsafe_unbalanced_dummy)
+
+#define MONO_EXIT_GC_UNSAFE_UNBALANCED \
+               mono_threads_exit_gc_unsafe_region_unbalanced   (__gc_unsafe_unbalanced_cookie, &__gc_unsafe_unbalanced_dummy); \
+       } while (0)
+
 #define MONO_ENTER_GC_SAFE     \
        do {    \
                gpointer __gc_safe_dummy;       \
-               gpointer __gc_safe_cookie = mono_threads_enter_gc_safe_region (&__gc_safe_dummy)        \
+               gpointer __gc_safe_cookie = mono_threads_enter_gc_safe_region (&__gc_safe_dummy)
 
 #define MONO_EXIT_GC_SAFE      \
                mono_threads_exit_gc_safe_region (__gc_safe_cookie, &__gc_safe_dummy);  \
        } while (0)
 
+#define MONO_ENTER_GC_SAFE_UNBALANCED  \
+       do {    \
+               gpointer __gc_safe_unbalanced_dummy;    \
+               gpointer __gc_safe_unbalanced_cookie = mono_threads_enter_gc_safe_region_unbalanced (&__gc_safe_unbalanced_dummy)
+
+#define MONO_EXIT_GC_SAFE_UNBALANCED   \
+               mono_threads_exit_gc_safe_region_unbalanced (__gc_safe_unbalanced_cookie, &__gc_safe_unbalanced_dummy); \
+       } while (0)
+
 MONO_END_DECLS
 
 #endif /* __MONO_LOGGER_H__ */
index 12cef7ddaf74f2299a33fc6290fb05e2c5622865..ddc3c6ebbe231b49371e86760e198272c3d08191 100644 (file)
@@ -86,24 +86,42 @@ coop_tls_pop (gpointer received_cookie)
 
 #endif
 
+static void
+check_info (MonoThreadInfo *info, const gchar *action, const gchar *state)
+{
+       if (!info)
+               g_error ("Cannot %s GC %s region if the thread is not attached", action, state);
+       if (!mono_thread_info_is_current (info))
+               g_error ("[%p] Cannot %s GC %s region on a different thread", mono_thread_info_get_tid (info), action, state);
+       if (!mono_thread_info_is_live (info))
+               g_error ("[%p] Cannot %s GC %s region if the thread is not live", mono_thread_info_get_tid (info), action, state);
+}
+
 static int coop_reset_blocking_count;
 static int coop_try_blocking_count;
 static int coop_do_blocking_count;
 static int coop_do_polling_count;
 static int coop_save_count;
 
+static void
+mono_threads_state_poll_with_info (MonoThreadInfo *info);
+
 void
 mono_threads_state_poll (void)
 {
-       MonoThreadInfo *info;
+       mono_threads_state_poll_with_info (mono_thread_info_current_unchecked ());
+}
 
+static void
+mono_threads_state_poll_with_info (MonoThreadInfo *info)
+{
        g_assert (mono_threads_is_coop_enabled ());
 
        ++coop_do_polling_count;
 
-       info = mono_thread_info_current_unchecked ();
        if (!info)
                return;
+
        THREADS_SUSPEND_DEBUG ("FINISH SELF SUSPEND OF %p\n", mono_thread_info_get_tid (info));
 
        /* Fast check for pending suspend requests */
@@ -162,15 +180,24 @@ copy_stack_data (MonoThreadInfo *info, gpointer *stackdata_begin)
        state->gc_stackdata_size = stackdata_size;
 }
 
+static gpointer
+mono_threads_enter_gc_safe_region_unbalanced_with_info (MonoThreadInfo *info, gpointer *stackdata);
+
 gpointer
 mono_threads_enter_gc_safe_region (gpointer *stackdata)
+{
+       return mono_threads_enter_gc_safe_region_with_info (mono_thread_info_current_unchecked (), stackdata);
+}
+
+gpointer
+mono_threads_enter_gc_safe_region_with_info (MonoThreadInfo *info, gpointer *stackdata)
 {
        gpointer cookie;
 
        if (!mono_threads_is_coop_enabled ())
                return NULL;
 
-       cookie = mono_threads_enter_gc_safe_region_unbalanced (stackdata);
+       cookie = mono_threads_enter_gc_safe_region_unbalanced_with_info (info, stackdata);
 
 #ifdef ENABLE_CHECKED_BUILD_GC
        if (mono_check_mode_enabled (MONO_CHECK_MODE_GC))
@@ -183,19 +210,18 @@ mono_threads_enter_gc_safe_region (gpointer *stackdata)
 gpointer
 mono_threads_enter_gc_safe_region_unbalanced (gpointer *stackdata)
 {
-       MonoThreadInfo *info;
+       return mono_threads_enter_gc_safe_region_unbalanced_with_info (mono_thread_info_current_unchecked (), stackdata);
+}
 
+static gpointer
+mono_threads_enter_gc_safe_region_unbalanced_with_info (MonoThreadInfo *info, gpointer *stackdata)
+{
        if (!mono_threads_is_coop_enabled ())
                return NULL;
 
        ++coop_do_blocking_count;
 
-       info = mono_thread_info_current_unchecked ();
-       /* If the thread is not attached, it doesn't make sense prepare for suspend. */
-       if (!info || !mono_thread_info_is_live (info)) {
-               THREADS_SUSPEND_DEBUG ("PREPARE-BLOCKING failed %p\n", info ? mono_thread_info_get_tid (info) : NULL);
-               return NULL;
-       }
+       check_info (info, "enter", "safe");
 
        copy_stack_data (info, stackdata);
 
@@ -207,7 +233,7 @@ retry:
        case DoBlockingContinue:
                break;
        case DoBlockingPollAndRetry:
-               mono_threads_state_poll ();
+               mono_threads_state_poll_with_info (info);
                goto retry;
        }
 
@@ -231,26 +257,16 @@ mono_threads_exit_gc_safe_region (gpointer cookie, gpointer *stackdata)
 void
 mono_threads_exit_gc_safe_region_unbalanced (gpointer cookie, gpointer *stackdata)
 {
-       static gboolean warned_about_bad_transition;
        MonoThreadInfo *info;
 
        if (!mono_threads_is_coop_enabled ())
                return;
 
        info = (MonoThreadInfo *)cookie;
-       if (!info)
-               return;
 
-       g_assert (info == mono_thread_info_current_unchecked ());
+       check_info (info, "exit", "safe");
 
        switch (mono_threads_transition_done_blocking (info)) {
-       case DoneBlockingAborted:
-               if (!warned_about_bad_transition) {
-                       warned_about_bad_transition = TRUE;
-                       g_warning ("[%p] Blocking call ended in running state for, this might lead to unbound GC pauses.", mono_thread_info_get_tid (info));
-               }
-               mono_threads_state_poll ();
-               break;
        case DoneBlockingOk:
                info->thread_saved_state [SELF_SUSPEND_STATE_INDEX].valid = FALSE;
                break;
@@ -271,13 +287,19 @@ mono_threads_assert_gc_safe_region (void)
 
 gpointer
 mono_threads_enter_gc_unsafe_region (gpointer *stackdata)
+{
+       return mono_threads_enter_gc_unsafe_region_with_info (mono_thread_info_current_unchecked (), stackdata);
+}
+
+gpointer
+mono_threads_enter_gc_unsafe_region_with_info (THREAD_INFO_TYPE *info, gpointer *stackdata)
 {
        gpointer cookie;
 
        if (!mono_threads_is_coop_enabled ())
                return NULL;
 
-       cookie = mono_threads_enter_gc_unsafe_region_unbalanced (stackdata);
+       cookie = mono_threads_enter_gc_unsafe_region_unbalanced_with_info (info, stackdata);
 
 #ifdef ENABLE_CHECKED_BUILD_GC
        if (mono_check_mode_enabled (MONO_CHECK_MODE_GC))
@@ -290,18 +312,18 @@ mono_threads_enter_gc_unsafe_region (gpointer *stackdata)
 gpointer
 mono_threads_enter_gc_unsafe_region_unbalanced (gpointer *stackdata)
 {
-       MonoThreadInfo *info;
+       return mono_threads_enter_gc_unsafe_region_unbalanced_with_info (mono_thread_info_current_unchecked (), stackdata);
+}
 
+gpointer
+mono_threads_enter_gc_unsafe_region_unbalanced_with_info (MonoThreadInfo *info, gpointer *stackdata)
+{
        if (!mono_threads_is_coop_enabled ())
                return NULL;
 
        ++coop_reset_blocking_count;
 
-       info = mono_thread_info_current_unchecked ();
-
-       /* If the thread is not attached, it doesn't make sense prepare for suspend. */
-       if (!info || !mono_thread_info_is_live (info))
-               return NULL;
+       check_info (info, "enter", "unsafe");
 
        copy_stack_data (info, stackdata);
 
@@ -310,7 +332,7 @@ mono_threads_enter_gc_unsafe_region_unbalanced (gpointer *stackdata)
                info->thread_saved_state [SELF_SUSPEND_STATE_INDEX].valid = FALSE;
                return NULL;
        case AbortBlockingIgnoreAndPoll:
-               mono_threads_state_poll ();
+               mono_threads_state_poll_with_info (info);
                return NULL;
        case AbortBlockingOk:
                info->thread_saved_state [SELF_SUSPEND_STATE_INDEX].valid = FALSE;
@@ -326,10 +348,16 @@ mono_threads_enter_gc_unsafe_region_unbalanced (gpointer *stackdata)
 }
 
 gpointer
-mono_threads_enter_gc_unsafe_region_cookie (MonoThreadInfo *info)
+mono_threads_enter_gc_unsafe_region_cookie (void)
 {
+       MonoThreadInfo *info;
+
        g_assert (mono_threads_is_coop_enabled ());
 
+       info = mono_thread_info_current_unchecked ();
+
+       check_info (info, "enter (cookie)", "unsafe");
+
 #ifdef ENABLE_CHECKED_BUILD_GC
        if (mono_check_mode_enabled (MONO_CHECK_MODE_GC))
                coop_tls_push (info);
@@ -361,13 +389,6 @@ mono_threads_exit_gc_unsafe_region_unbalanced (gpointer cookie, gpointer *stackd
        if (!cookie)
                return;
 
-#ifdef ENABLE_CHECKED_BUILD_GC
-       if (!mono_check_mode_enabled (MONO_CHECK_MODE_GC))
-#endif
-       {
-               g_assert (((MonoThreadInfo *)cookie) == mono_thread_info_current_unchecked ());
-       }
-
        mono_threads_enter_gc_safe_region_unbalanced (stackdata);
 }
 
index 3e83a08a4466b3be9385fb44784b27e2cb1f731a..f6afc34dafc5a58666ad8f444326fb9b6abd0e5c 100644 (file)
@@ -14,6 +14,7 @@
 #include <glib.h>
 
 #include "checked-build.h"
+#include "mono-threads.h"
 #include "mono-threads-api.h"
 
 G_BEGIN_DECLS
@@ -39,30 +40,34 @@ mono_threads_safepoint (void)
 }
 
 /*
- * The following are used for wrappers and trampolines as their
- * calls might be unbalanced, due to exception unwinding.
+ * The following are used when detaching a thread. We need to pass the MonoThreadInfo*
+ * as a paramater as the thread info TLS key is being destructed, meaning that
+ * mono_thread_info_current_unchecked will return NULL, which would lead to a
+ * runtime assertion error when trying to switch the state of the current thread.
  */
 
 gpointer
-mono_threads_enter_gc_safe_region_unbalanced (gpointer *stackdata);
+mono_threads_enter_gc_safe_region_with_info (THREAD_INFO_TYPE *info, gpointer *stackdata);
 
-void
-mono_threads_exit_gc_safe_region_unbalanced (gpointer cookie, gpointer *stackdata);
+#define MONO_ENTER_GC_SAFE_WITH_INFO(info)     \
+       do {    \
+               gpointer __gc_safe_dummy;       \
+               gpointer __gc_safe_cookie = mono_threads_enter_gc_safe_region_with_info ((info), &__gc_safe_dummy)
 
-gpointer
-mono_threads_enter_gc_unsafe_region_unbalanced (gpointer *stackdata);
+#define MONO_EXIT_GC_SAFE_WITH_INFO    MONO_EXIT_GC_SAFE
 
-void
-mono_threads_exit_gc_unsafe_region_unbalanced (gpointer cookie, gpointer *stackdata);
+gpointer
+mono_threads_enter_gc_unsafe_region_with_info (THREAD_INFO_TYPE *info, gpointer *stackdata);
 
-#define MONO_ENTER_GC_UNSAFE_UNBALANCED        \
+#define MONO_ENTER_GC_UNSAFE_WITH_INFO(info)   \
        do {    \
-               gpointer __dummy;       \
-               gpointer __reset_cookie = mono_threads_enter_gc_unsafe_region_unbalanced (&__dummy)
+               gpointer __gc_unsafe_dummy;     \
+               gpointer __gc_unsafe_cookie = mono_threads_enter_gc_unsafe_region_with_info ((info), &__gc_unsafe_dummy)
+
+#define MONO_EXIT_GC_UNSAFE_WITH_INFO  MONO_EXIT_GC_UNSAFE
 
-#define MONO_EXIT_GC_UNSAFE_UNBALANCED \
-               mono_threads_exit_gc_unsafe_region_unbalanced (__reset_cookie, &__dummy);       \
-       } while (0)
+gpointer
+mono_threads_enter_gc_unsafe_region_unbalanced_with_info (THREAD_INFO_TYPE *info, gpointer *stackdata);
 
 G_END_DECLS
 
index 4b11800c818411a1a6f8b469c0c05e651ea89768..43df55e5359359b7f7d30c7bcb685916451a4d66 100644 (file)
@@ -519,11 +519,6 @@ mono_threads_transition_done_blocking (MonoThreadInfo* info)
 retry_state_change:
        UNWRAP_THREAD_STATE (raw_state, cur_state, suspend_count, info);
        switch (cur_state) {
-       case STATE_RUNNING: //Blocking was aborted and not properly restored
-       case STATE_ASYNC_SUSPEND_REQUESTED: //Blocking was aborted, not properly restored and now there's a pending suspend
-               trace_state_change ("DONE_BLOCKING", info, raw_state, cur_state, 0);
-               return DoneBlockingAborted;
-
        case STATE_BLOCKING:
                if (suspend_count == 0) {
                        if (InterlockedCompareExchange (&info->thread_state, build_thread_state (STATE_RUNNING, suspend_count), raw_state) != raw_state)
@@ -540,6 +535,8 @@ retry_state_change:
                }
 
 /*
+STATE_RUNNING: //Blocking was aborted and not properly restored
+STATE_ASYNC_SUSPEND_REQUESTED: //Blocking was aborted, not properly restored and now there's a pending suspend
 STATE_ASYNC_SUSPENDED
 STATE_SELF_SUSPENDED: Code should not be running while suspended.
 STATE_SELF_SUSPEND_REQUESTED: A blocking operation must not be done while trying to self suspend
index 1919a00bc965d421efb0042e02ddfc4bd98ffb40..a92d250b290448698ece831e6809b4c99a8f3cdd 100644 (file)
@@ -28,6 +28,7 @@
 #include <mono/utils/mono-lazy-init.h>
 #include <mono/utils/mono-coop-mutex.h>
 #include <mono/utils/mono-coop-semaphore.h>
+#include <mono/utils/mono-threads-coop.h>
 
 #include <errno.h>
 
@@ -46,8 +47,15 @@ harder for an operation that is hardly performance critical.
 The GC has to acquire this lock before starting a STW to make sure
 a runtime suspend won't make it wronly see a thread in a safepoint
 when it is in fact not.
+
+This has to be a naked locking primitive, and not a coop aware one, as
+it needs to be usable when destroying thread_info_key, the TLS key for
+the current MonoThreadInfo. In this case, mono_thread_info_current_unchecked,
+(which is used inside MONO_ENTER_GC_SAFE), would return NULL, leading
+to an assertion error. We then simply switch state manually in
+mono_thread_info_suspend_lock_with_info.
 */
-static MonoCoopSem global_suspend_semaphore;
+static MonoSemType global_suspend_semaphore;
 
 static size_t thread_info_size;
 static MonoThreadInfoCallbacks threads_callbacks;
@@ -378,13 +386,25 @@ register_thread (MonoThreadInfo *info, gpointer baseptr)
        return info;
 }
 
+static void
+mono_thread_info_suspend_lock_with_info (MonoThreadInfo *info);
+
 static void
 unregister_thread (void *arg)
 {
-       MonoThreadInfo *info = (MonoThreadInfo *) arg;
-       int small_id = info->small_id;
+       gpointer gc_unsafe_stackdata;
+       MonoThreadInfo *info;
+       int small_id;
+
+       info = (MonoThreadInfo *) arg;
        g_assert (info);
 
+       small_id = info->small_id;
+
+       /* We only enter the GC unsafe region, as when exiting this function, the thread
+        * will be detached, and the current MonoThreadInfo* will be destroyed. */
+       mono_threads_enter_gc_unsafe_region_unbalanced_with_info (info, &gc_unsafe_stackdata);
+
        THREADS_DEBUG ("unregistering info %p\n", info);
 
        mono_native_tls_set_value (thread_exited_key, GUINT_TO_POINTER (1));
@@ -407,7 +427,7 @@ unregister_thread (void *arg)
        if (threads_callbacks.thread_detach)
                threads_callbacks.thread_detach (info);
 
-       mono_thread_info_suspend_lock ();
+       mono_thread_info_suspend_lock_with_info (info);
 
        /*
        Now perform the callback that must be done under locks.
@@ -636,7 +656,7 @@ mono_threads_init (MonoThreadInfoCallbacks *callbacks, size_t info_size)
 
        unified_suspend_enabled = g_getenv ("MONO_ENABLE_UNIFIED_SUSPEND") != NULL || mono_threads_is_coop_enabled ();
 
-       mono_coop_sem_init (&global_suspend_semaphore, 1);
+       mono_os_sem_init (&global_suspend_semaphore, 1);
        mono_os_sem_init (&suspend_semaphore, 0);
 
        mono_lls_init (&thread_list, NULL, HAZARD_FREE_NO_LOCK);
@@ -985,17 +1005,30 @@ The suspend lock is held during any suspend in progress.
 A GC that has safepoints must take this lock as part of its
 STW to make sure no unsafe pending suspend is in progress.   
 */
+
+static void
+mono_thread_info_suspend_lock_with_info (MonoThreadInfo *info)
+{
+       g_assert (info);
+
+       MONO_ENTER_GC_SAFE_WITH_INFO(info);
+
+       int res = mono_os_sem_wait (&global_suspend_semaphore, MONO_SEM_FLAGS_NONE);
+       g_assert (res != -1);
+
+       MONO_EXIT_GC_SAFE_WITH_INFO;
+}
+
 void
 mono_thread_info_suspend_lock (void)
 {
-       int res = mono_coop_sem_wait (&global_suspend_semaphore, MONO_SEM_FLAGS_NONE);
-       g_assert (res != -1);
+       mono_thread_info_suspend_lock_with_info (mono_thread_info_current_unchecked ());
 }
 
 void
 mono_thread_info_suspend_unlock (void)
 {
-       mono_coop_sem_post (&global_suspend_semaphore);
+       mono_os_sem_post (&global_suspend_semaphore);
 }
 
 /*
@@ -1509,3 +1542,9 @@ mono_thread_info_describe_interrupt_token (MonoThreadInfo *info, GString *text)
        else
                g_string_append_printf (text, "waiting");
 }
+
+gboolean
+mono_thread_info_is_current (MonoThreadInfo *info)
+{
+       return mono_thread_info_get_tid (info) == mono_native_thread_id_get ();
+}
index 5eea9d0b56e15aa73d6686403acf054868e74522..da88f34e35b6ae32d1fc30bdfacf06d1406d5709 100644 (file)
@@ -14,8 +14,6 @@
 #include <mono/utils/mono-stack-unwinding.h>
 #include <mono/utils/mono-linked-list-set.h>
 #include <mono/utils/mono-tls.h>
-#include <mono/utils/mono-threads-coop.h>
-#include <mono/utils/mono-threads-api.h>
 #include <mono/utils/mono-coop-semaphore.h>
 
 #include <mono/io-layer/io-layer.h>
@@ -580,7 +578,6 @@ typedef enum {
 } MonoDoBlockingResult;
 
 typedef enum {
-       DoneBlockingAborted, //blocking was aborted and not properly restored, poll the state
        DoneBlockingOk, //exited blocking fine
        DoneBlockingWait, //thread should end suspended
 } MonoDoneBlockingResult;
@@ -608,7 +605,7 @@ MonoAbortBlockingResult mono_threads_transition_abort_blocking (THREAD_INFO_TYPE
 MonoThreadUnwindState* mono_thread_info_get_suspend_state (THREAD_INFO_TYPE *info);
 
 gpointer
-mono_threads_enter_gc_unsafe_region_cookie (THREAD_INFO_TYPE *info);
+mono_threads_enter_gc_unsafe_region_cookie (void);
 
 
 void mono_thread_info_wait_for_resume (THREAD_INFO_TYPE *info);
@@ -628,4 +625,7 @@ gboolean mono_threads_wait_pending_operations (void);
 void mono_threads_begin_global_suspend (void);
 void mono_threads_end_global_suspend (void);
 
+gboolean
+mono_thread_info_is_current (THREAD_INFO_TYPE *info);
+
 #endif /* __MONO_THREADS_H__ */
index 565b3fe593b6a89fd9908f88e8b3d71424f05da8..2c3ed31df4539c5aa6813646d062bfb03fbdef9f 100644 (file)
@@ -27,7 +27,8 @@ typedef enum {
        TLS_KEY_SGEN_TLAB_TEMP_END = 6,
        TLS_KEY_BOEHM_GC_THREAD = 7,
        TLS_KEY_LMF_ADDR = 8,
-       TLS_KEY_NUM = 9
+       TLS_KEY_SGEN_IN_CRITICAL_REGION_ADDR = 9,
+       TLS_KEY_NUM = 10
 } MonoTlsKey;
 
 #ifdef HOST_WIN32
index 487513f2c369be8282e3c4a4be25b3af208c821e..cec505f17e543309c627d69b5c159137a5471a5e 100644 (file)
@@ -15,6 +15,7 @@ mono_array_new_full
 mono_array_new_specific
 mono_assemblies_cleanup
 mono_assemblies_init
+mono_assembly_addref
 mono_assembly_close
 mono_assembly_fill_assembly_name
 mono_assembly_foreach
@@ -471,6 +472,7 @@ mono_install_assembly_preload_hook
 mono_install_assembly_refonly_preload_hook
 mono_install_assembly_refonly_search_hook
 mono_install_assembly_search_hook
+mono_install_ftnptr_eh_callback
 mono_install_load_aot_data_hook
 mono_install_runtime_cleanup
 mono_install_unhandled_exception_hook
@@ -486,18 +488,23 @@ mono_jit_init_version
 mono_jit_parse_options
 mono_jit_set_aot_mode
 mono_jit_set_aot_only
+mono_jit_set_domain
 mono_jit_set_trace_options
 mono_jit_thread_attach
-mono_jit_thread_detach
 mono_ldstr
 mono_ldtoken
 mono_load_remote_field
 mono_load_remote_field_new
+mono_lock_free_alloc
+mono_lock_free_allocator_check_consistency
+mono_lock_free_allocator_init_allocator
+mono_lock_free_allocator_init_size_class
+mono_lock_free_free
 mono_lock_free_queue_dequeue
 mono_lock_free_queue_enqueue
 mono_lock_free_queue_init
-mono_lock_free_queue_node_unpoison
 mono_lock_free_queue_node_init
+mono_lock_free_queue_node_unpoison
 mono_locks_dump
 mono_lookup_icall_symbol
 mono_lookup_internal_call
@@ -635,6 +642,8 @@ mono_monitor_enter_v4
 mono_monitor_exit
 mono_monitor_try_enter
 mono_mprotect
+mono_native_thread_id_get
+mono_native_thread_set_name
 mono_object_castclass_mbyref
 mono_object_clone
 mono_object_describe
@@ -829,6 +838,8 @@ mono_thread_get_main
 mono_thread_get_managed_id
 mono_thread_get_name_utf8
 mono_thread_get_undeniable_exception
+mono_thread_hazardous_try_free
+mono_thread_info_detach
 mono_thread_init
 mono_thread_is_foreign
 mono_thread_manage
@@ -838,7 +849,9 @@ mono_thread_set_manage_callback
 mono_thread_stop
 mono_threads_assert_gc_safe_region
 mono_threads_assert_gc_unsafe_region
+mono_threads_attach_coop
 mono_threads_attach_tools_thread
+mono_threads_detach_coop
 mono_threads_enter_gc_safe_region
 mono_threads_enter_gc_unsafe_region
 mono_threads_exit_gc_safe_region
index d686ca0d90942115580eb285e3023703273a11f9..246785ccb6bb385ffafa5bf4fae289ee2d46361b 100644 (file)
@@ -15,6 +15,7 @@ mono_array_new_full
 mono_array_new_specific
 mono_assemblies_cleanup
 mono_assemblies_init
+mono_assembly_addref
 mono_assembly_close
 mono_assembly_fill_assembly_name
 mono_assembly_foreach
@@ -473,6 +474,7 @@ mono_install_assembly_preload_hook
 mono_install_assembly_refonly_preload_hook
 mono_install_assembly_refonly_search_hook
 mono_install_assembly_search_hook
+mono_install_ftnptr_eh_callback
 mono_install_load_aot_data_hook
 mono_install_runtime_cleanup
 mono_install_unhandled_exception_hook
@@ -488,18 +490,23 @@ mono_jit_init_version
 mono_jit_parse_options
 mono_jit_set_aot_mode
 mono_jit_set_aot_only
+mono_jit_set_domain
 mono_jit_set_trace_options
 mono_jit_thread_attach
-mono_jit_thread_detach
 mono_ldstr
 mono_ldtoken
 mono_load_remote_field
 mono_load_remote_field_new
+mono_lock_free_alloc
+mono_lock_free_allocator_check_consistency
+mono_lock_free_allocator_init_allocator
+mono_lock_free_allocator_init_size_class
+mono_lock_free_free
 mono_lock_free_queue_dequeue
 mono_lock_free_queue_enqueue
 mono_lock_free_queue_init
-mono_lock_free_queue_node_unpoison
 mono_lock_free_queue_node_init
+mono_lock_free_queue_node_unpoison
 mono_locks_dump
 mono_lookup_icall_symbol
 mono_lookup_internal_call
@@ -637,6 +644,8 @@ mono_monitor_enter_v4
 mono_monitor_exit
 mono_monitor_try_enter
 mono_mprotect
+mono_native_thread_id_get
+mono_native_thread_set_name
 mono_object_castclass_mbyref
 mono_object_clone
 mono_object_describe
@@ -831,6 +840,8 @@ mono_thread_get_main
 mono_thread_get_managed_id
 mono_thread_get_name_utf8
 mono_thread_get_undeniable_exception
+mono_thread_hazardous_try_free
+mono_thread_info_detach
 mono_thread_init
 mono_thread_is_foreign
 mono_thread_manage
@@ -840,7 +851,9 @@ mono_thread_set_manage_callback
 mono_thread_stop
 mono_threads_assert_gc_safe_region
 mono_threads_assert_gc_unsafe_region
+mono_threads_attach_coop
 mono_threads_attach_tools_thread
+mono_threads_detach_coop
 mono_threads_enter_gc_safe_region
 mono_threads_enter_gc_unsafe_region
 mono_threads_exit_gc_safe_region
diff --git a/msvc/scripts/Commons.Xml.Relaxng.pre b/msvc/scripts/Commons.Xml.Relaxng.pre
new file mode 100644 (file)
index 0000000..55520b7
--- /dev/null
@@ -0,0 +1 @@
+$(ProjectDir)\..\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Commons.Xml.Relaxng.Rnc\RncParser.jay > $(ProjectDir)\Commons.Xml.Relaxng.Rnc\RncParser.cs
diff --git a/msvc/scripts/Microsoft.Build.pre b/msvc/scripts/Microsoft.Build.pre
new file mode 100644 (file)
index 0000000..7d981d5
--- /dev/null
@@ -0,0 +1 @@
+$(ProjectDir)\..\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Microsoft.Build.Internal\ExpressionParser.jay > $(ProjectDir)\Microsoft.Build.Internal\ExpressionParser.cs
diff --git a/msvc/scripts/RabbitMQ.Client.Apigen.post b/msvc/scripts/RabbitMQ.Client.Apigen.post
new file mode 100644 (file)
index 0000000..675c09b
--- /dev/null
@@ -0,0 +1,6 @@
+@MONO@ RabbitMQ.Client.Apigen.exe /n:v0_9 "/apiName:AMQP_0_9" $(ProjectDir)..\..\docs\specs\amqp0-9.stripped.xml $(ProjectDir)..\..\docs\specs\net_4_x-api-0-9.cs
+@MONO@ RabbitMQ.Client.Apigen.exe /n:v0_8 "/apiName:AMQP_0_8" $(ProjectDir)..\..\docs\specs\amqp0-8.stripped.xml $(ProjectDir)..\..\docs\specs\net_4_x-api-0-8.cs
+@MONO@ RabbitMQ.Client.Apigen.exe /n:v0_8qpid "/apiName:AMQP_0_8_QPID" $(ProjectDir)..\..\docs\specs\qpid-amqp.0-8.stripped.xml $(ProjectDir)..\..\docs\specs\net_4_x-api-qpid-0-8.cs
+
+
+
diff --git a/msvc/scripts/System.ComponentModel.Composition.pre b/msvc/scripts/System.ComponentModel.Composition.pre
new file mode 100644 (file)
index 0000000..70fe6d0
--- /dev/null
@@ -0,0 +1 @@
+resgen $(ProjectDir)\src\ComponentModel\Strings.resx $(ProjectDir)\Microsoft.Internal.Strings.resx
\ No newline at end of file
diff --git a/msvc/scripts/System.Data.Services.Client.pre b/msvc/scripts/System.Data.Services.Client.pre
new file mode 100644 (file)
index 0000000..a8709db
--- /dev/null
@@ -0,0 +1 @@
+resgen $(ProjectDir)\Client\System.Data.Services.Client.txt $(ProjectDir)\Client\System.Data.Services.Client.resx
\ No newline at end of file
diff --git a/msvc/scripts/System.Json.Microsoft.pre b/msvc/scripts/System.Json.Microsoft.pre
new file mode 100644 (file)
index 0000000..3938879
--- /dev/null
@@ -0,0 +1 @@
+cp $(ProjectDir)\System.Json\Properties\Resources.resx System.Json.Properties.Resources.resx
\ No newline at end of file
diff --git a/msvc/scripts/System.Net.Http.Formatting.pre b/msvc/scripts/System.Net.Http.Formatting.pre
new file mode 100644 (file)
index 0000000..0324a81
--- /dev/null
@@ -0,0 +1,2 @@
+@COPY@ $(ProjectDir)/../../../external/aspnetwebstack/src/Common/CommonWebApiResources.resx $(ProjectDir)/System.Net.Http.Properties.CommonWebApiResources.resx
+@COPY@ $(ProjectDir)/../../../external/aspnetwebstack/src/System.Net.Http.Formatting/Properties/Resources.resx $(ProjectDir)/System.Net.Http.Properties.Resources.resx
diff --git a/msvc/scripts/System.Web.Razor.pre b/msvc/scripts/System.Web.Razor.pre
new file mode 100644 (file)
index 0000000..a33b050
--- /dev/null
@@ -0,0 +1,2 @@
+resgen $(ProjectDir)\..\..\..\external\aspnetwebstack\src\CommonResources.resx $(ProjectDir)\System.Web.Razor.Common.CommonResources.resx
+resgen $(ProjectDir)\..\..\..\external\aspnetwebstack\src\System.Web.Razor\Resources\RazorResources.resx $(ProjectDir)\System.Web.Razor.Resources.RazorResources.resx
\ No newline at end of file
diff --git a/msvc/scripts/System.Web.pre b/msvc/scripts/System.Web.pre
new file mode 100644 (file)
index 0000000..c071bf4
--- /dev/null
@@ -0,0 +1 @@
+@MONO@ $(ProjectDir)\..\lib\net_4_x\culevel.exe -o $(ProjectDir)\System.Web\UplevelHelper.cs $(ProjectDir)\UplevelHelperDefinitions.xml
diff --git a/msvc/scripts/TODO.md b/msvc/scripts/TODO.md
new file mode 100644 (file)
index 0000000..7d195a3
--- /dev/null
@@ -0,0 +1,11 @@
+These are the tasks that are pending in the MSVC scripts to fully roll it out:
+
+[ ] Validate that all generated assemblies are identical
+[ ] Add support for listing CLEAN_FILES in the `csproj` file
+[ ] Adding an "install" target
+[ ] On Windows- have a solution that builds both runtime and libraries all in one
+[ ] Add the other profiles (mobile, iOS, etc)
+[ ] Generate the dependency files
+[ ] Eliminate the need for "build-libs.sh/build-libs.bat" at the toplevel with proper MSBuild idioms
+[ ] Integrate the "update-solution-files" with each build, so we auto-update the files on commits
+[ ] Make it work with MSBuild instead of xbuild
index c3edc87ba374ab29ae10e31c7ed4883bd30d5460..02ef2e45743d279ddbe795a9c3cb20ce3334647c 100644 (file)
@@ -9,6 +9,7 @@
     <OutputType>@OUTPUTTYPE@</OutputType>\r
     <NoWarn>@DISABLEDWARNINGS@</NoWarn>\r
     <OutputPath>@OUTPUTDIR@</OutputPath>\r
+    <IntermediateOutputPath>obj-@OUTPUTSUFFIX@</IntermediateOutputPath>\r
     <GenerateTargetFrameworkAttribute>false</GenerateTargetFrameworkAttribute>\r
     @NOSTDLIB@\r
     @STARTUPOBJECT@\r
index 1d15e761eb3e453233b918d6469f5da888e38fd7..d442697c3ce92389f3396c4cd502b66b0bc57126 100644 (file)
@@ -654,7 +654,7 @@ class MsbuildGenerator {
 
        public VsCsproj Csproj;
 
-       public VsCsproj Generate (Dictionary<string,MsbuildGenerator> projects, bool showWarnings = false)
+       public VsCsproj Generate (string library_output, Dictionary<string,MsbuildGenerator> projects, bool showWarnings = false)
        {
                var generatedProjFile = NativeName (Csproj.csProjFilename);
                //Console.WriteLine ("Generating: {0}", generatedProjFile);
@@ -696,29 +696,10 @@ class MsbuildGenerator {
                }
                //
                // Prebuild code, might be in inputs, check:
-               //  inputs/LIBRARY-PROFILE.pre
                //  inputs/LIBRARY.pre
                //
-               string prebuild = Load (library + ".pre");
-               string prebuild_windows, prebuild_unix;
-               
-               int q = library.IndexOf ("-");
-               if (q != -1)
-                       prebuild = prebuild + Load (library.Substring (0, q) + ".pre");
-
-               if (prebuild.IndexOf ("@MONO@") != -1){
-                       prebuild_unix = prebuild.Replace ("@MONO@", "mono").Replace ("@CAT@", "cat");
-                       prebuild_windows = prebuild.Replace ("@MONO@", "").Replace ("@CAT@", "type");
-               } else {
-                       prebuild_unix = prebuild.Replace ("jay.exe", "jay");
-                       prebuild_windows = prebuild;
-               }
-               
-               const string condition_unix    = "Condition=\" '$(OS)' != 'Windows_NT' \"";
-               const string condition_windows = "Condition=\" '$(OS)' == 'Windows_NT' \"";
-               prebuild =
-                       "    <PreBuildEvent " + condition_unix + ">" + NewLine + prebuild_unix + NewLine + "    </PreBuildEvent>" + NewLine +
-                       "    <PreBuildEvent " + condition_windows + ">" + NewLine + prebuild_windows + NewLine + "    </PreBuildEvent>" + NewLine;
+               string prebuild = GenerateStep (library, ".pre", "PreBuildEvent");
+               string postbuild = GenerateStep (library, ".post", "PostBuildEvent");
 
                var all_args = new Queue<string []> ();
                all_args.Enqueue (flags.Split ());
@@ -736,7 +717,7 @@ class MsbuildGenerator {
                                        var resp_file_full = Path.Combine (base_dir, response_file);
                                        extra_args = LoadArgs (resp_file_full);
                                        if (extra_args == null) {
-                                               Console.WriteLine ("Unable to open response file: " + resp_file_full);
+                                               Console.WriteLine ($"{library_output}: Unable to open response file: {resp_file_full}");
                                                Environment.Exit (1);
                                        }
 
@@ -746,13 +727,12 @@ class MsbuildGenerator {
 
                                if (CSCParseOption (f [i], ref f))
                                        continue;
-                               Console.WriteLine ("Failure with {0}", f [i]);
+                               Console.WriteLine ("{library_output}: Failure with {0}", f [i]);
                                Environment.Exit (1);
                        }
                }
 
                string [] source_files;
-               //Console.WriteLine ("Base: {0} res: {1}", base_dir, response);
                using (var reader = new StreamReader (NativeName (base_dir + "\\" + response))) {
                        source_files = reader.ReadToEnd ().Split ();
                }
@@ -812,7 +792,19 @@ class MsbuildGenerator {
                if (embedded_resources.Count > 0) {
                        resources.AppendFormat ("  <ItemGroup>" + NewLine);
                        foreach (var dk in embedded_resources) {
-                               resources.AppendFormat ("    <EmbeddedResource Include=\"{0}\">" + NewLine, dk.Key);
+                               var source = dk.Key;
+                               if (source.EndsWith (".resources"))
+                                       source = source.Replace (".resources", ".resx");
+
+                               // try to find a pre-built resource, and use that instead of trying to build it
+                               if (source.EndsWith (".resx")) {
+                                       var probe_prebuilt = Path.Combine (base_dir, source.Replace (".resx", ".resources.prebuilt"));
+                                       if (File.Exists (probe_prebuilt)) {
+                                               
+                                               source = GetRelativePath (base_dir + "/", probe_prebuilt);
+                                       }
+                               }
+                               resources.AppendFormat ("    <EmbeddedResource Include=\"{0}\">" + NewLine, source);
                                resources.AppendFormat ("      <LogicalName>{0}</LogicalName>" + NewLine, dk.Value);
                                resources.AppendFormat ("    </EmbeddedResource>" + NewLine);
                        }
@@ -833,7 +825,7 @@ class MsbuildGenerator {
                        var refdistinct = references.Distinct ();
                        foreach (string reference in refdistinct) {
                                
-                               var match = GetMatchingCsproj (reference, projects);
+                               var match = GetMatchingCsproj (library_output, reference, projects);
                                if (match != null) {
                                        AddProjectReference (refs, Csproj, match, reference, null);
                                } else {
@@ -853,7 +845,7 @@ class MsbuildGenerator {
                                int index = r.IndexOf ('=');
                                string alias = r.Substring (0, index);
                                string assembly = r.Substring (index + 1);
-                               var match = GetMatchingCsproj (assembly, projects, explicitPath: true);
+                               var match = GetMatchingCsproj (library_output, assembly, projects, explicitPath: true);
                                if (match != null) {
                                        AddProjectReference (refs, Csproj, match, r, alias);
                                } else {
@@ -877,15 +869,6 @@ class MsbuildGenerator {
                        build_output_dir = Path.GetDirectoryName (LibraryOutput);
                else
                        build_output_dir = "bin\\Debug\\" + library;
-               
-
-               string postbuild_unix = string.Empty;
-               string postbuild_windows = string.Empty;
-
-               var postbuild =  
-                       "    <PostBuildEvent " + condition_unix + ">" + NewLine + postbuild_unix + NewLine + "    </PostBuildEvent>" + NewLine +
-                       "    <PostBuildEvent " + condition_windows + ">" + NewLine + postbuild_windows + NewLine + "    </PostBuildEvent>";
-                       
 
                bool basic_or_build = (library.Contains ("-basic") || library.Contains ("-build"));
 
@@ -917,13 +900,14 @@ class MsbuildGenerator {
                        Replace ("@FX_VERSION", fx_version).
                        Replace ("@ASSEMBLYNAME@", Path.GetFileNameWithoutExtension (output_name)).
                        Replace ("@OUTPUTDIR@", build_output_dir).
+                       Replace ("@OUTPUTSUFFIX@", Path.GetFileName (build_output_dir)).
                        Replace ("@DEFINECONSTANTS@", defines.ToString ()).
                        Replace ("@DEBUG@", want_debugging_support ? "true" : "false").
                        Replace ("@DEBUGTYPE@", want_debugging_support ? "full" : "pdbonly").
                        Replace ("@REFERENCES@", refs.ToString ()).
                        Replace ("@PREBUILD@", prebuild).
-                       Replace ("@STARTUPOBJECT@", main == null ? "" : $"<StartupObject>{main}</StartupObject>").
                        Replace ("@POSTBUILD@", postbuild).
+                       Replace ("@STARTUPOBJECT@", main == null ? "" : $"<StartupObject>{main}</StartupObject>").
                        //Replace ("@ADDITIONALLIBPATHS@", String.Format ("<AdditionalLibPaths>{0}</AdditionalLibPaths>", string.Join (",", libs.ToArray ()))).
                        Replace ("@ADDITIONALLIBPATHS@", String.Empty).
                        Replace ("@RESOURCES@", resources.ToString ()).
@@ -938,6 +922,34 @@ class MsbuildGenerator {
                return Csproj;
        }
 
+       string GenerateStep (string library, string suffix, string eventKey)
+       {
+               string target = Load (library + suffix);
+               string target_windows, target_unix;
+
+               int q = library.IndexOf ("-");
+               if (q != -1)
+                       target = target + Load (library.Substring (0, q) + suffix);
+
+               if (target.IndexOf ("@MONO@") != -1){
+                       target_unix = target.Replace ("@MONO@", "mono").Replace ("@CAT@", "cat");
+                       target_windows = target.Replace ("@MONO@", "").Replace ("@CAT@", "type");
+               } else {
+                       target_unix = target.Replace ("jay.exe", "jay");
+                       target_windows = target;
+               }
+               target_unix = target_unix.Replace ("@COPY@", "cp");
+               target_windows = target_unix.Replace ("@COPY@", "copy");
+
+               target_unix = target_unix.Replace ("\r", "");
+               const string condition_unix    = "Condition=\" '$(OS)' != 'Windows_NT' \"";
+               const string condition_windows = "Condition=\" '$(OS)' == 'Windows_NT' \"";
+               var result =
+                       $"    <{eventKey} {condition_unix}>\n{target_unix}\n    </{eventKey}>{NewLine}" +
+                       $"    <{eventKey} {condition_windows}>{NewLine}{target_windows}{NewLine}    </{eventKey}>";
+               return result;
+       }
+       
        void AddProjectReference (StringBuilder refs, VsCsproj result, MsbuildGenerator match, string r, string alias)
        {
                refs.AppendFormat ("    <ProjectReference Include=\"{0}\">{1}", GetRelativePath (result.csProjFilename, match.CsprojFilename), NewLine);
@@ -961,7 +973,7 @@ class MsbuildGenerator {
                return ret;
        }
 
-       MsbuildGenerator GetMatchingCsproj (string dllReferenceName, Dictionary<string,MsbuildGenerator> projects, bool explicitPath = false)
+       MsbuildGenerator GetMatchingCsproj (string library_output, string dllReferenceName, Dictionary<string,MsbuildGenerator> projects, bool explicitPath = false)
        {
                // libDir would be "./../../class/lib/net_4_x for example
                // project 
@@ -992,9 +1004,10 @@ class MsbuildGenerator {
                                return project.Value;
 
                }
-               Console.WriteLine ("Did not find referenced {0} with libs={1}", dllReferenceName, String.Join (", ", libs));
+               var ljoined = String.Join (", ", libs);
+               Console.WriteLine ($"{library_output}: did not find referenced {dllReferenceName} with libs={ljoined}");
                foreach (var p in projects) {
-               //      Console.WriteLine ("{0}", p.Value.AbsoluteLibraryOutput);
+                       Console.WriteLine ("{0}", p.Value.AbsoluteLibraryOutput);
                }
                return null;
        }
@@ -1011,7 +1024,7 @@ public class Driver {
                        string library = project.Attribute ("library").Value;
                        var profile = project.Element ("profile").Value;
 
-#if true
+#if false
                        // Skip facades for now, the tool doesn't know how to deal with them yet.
                        if (dir.Contains ("Facades"))
                                continue;
@@ -1042,8 +1055,14 @@ public class Driver {
                        // The next ones are to make debugging easier for now
                        if (profile == "basic")
                                continue;
+
+                       // For now -- problem is, our resolver currently only considers the assembly name, and we ahve
+                       // conflicing 2.0 and 2.4 versions so for now, we just skip the nunit20 versions
+                       if (dir.Contains ("nunit20"))
+                               continue;
+                       
 #if true
-                       if (profile != "net_4_x" || library.Contains ("tests"))
+                       if (profile != "net_4_x" || library.Contains ("tests")) 
                                continue;
 #endif
                        //Console.WriteLine ("Going to handle {0}", library);
@@ -1088,10 +1107,10 @@ public class Driver {
                }
                foreach (var project in GetProjects (makefileDeps)){
                        var library_output = project.Element ("library_output").Value;
-                       Console.WriteLine ("=== {0} ===", library_output);
+                       //Console.WriteLine ("=== {0} ===", library_output);
                        var gen = projects [library_output];
                        try {
-                               var csproj = gen.Generate (projects);
+                               var csproj = gen.Generate (library_output, projects);
                                var csprojFilename = csproj.csProjFilename;
                                if (!sln_gen.ContainsProjectIdentifier (csproj.library)) {
                                        sln_gen.Add (csproj);
diff --git a/msvc/scripts/ilasm.pre b/msvc/scripts/ilasm.pre
new file mode 100644 (file)
index 0000000..fec25b7
--- /dev/null
@@ -0,0 +1,2 @@
+$(ProjectDir)\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\parser\ILParser.jay > $(ProjectDir)\ILParser.cs
+
index 0c19d3a7dc627f5bc4ff09e30aafa38670e73ff7..2126ebd7731d83ee32adb2f8868648e4874e7468 100644 (file)
@@ -1 +1,2 @@
 $(ProjectDir)\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\jay\skeleton.cs $(ProjectDir)\cs-parser.jay > $(ProjectDir)\cs-parser.cs\r
+\r
diff --git a/msvc/scripts/monodoc.pre b/msvc/scripts/monodoc.pre
new file mode 100644 (file)
index 0000000..f1b34e1
--- /dev/null
@@ -0,0 +1,2 @@
+$(ProjectDir)\..\..\jay\jay.exe -ct &lt; $(ProjectDir)\..\..\jay\skeleton.cs $(ProjectDir)\Monodoc.Ecma\EcmaUrlParser.jay > $(ProjectDir)\Monodoc.Ecma\EcmaUrlParser.cs
+
index 6999bdb4a403b8ee6bef2fafbe94d81847c1b31b..23dd86f22fe137d20502dace7927448ae5f00acc 100644 (file)
@@ -32,7 +32,7 @@
     </project>
     <project dir="class/System" library="System-basic">
       <boot>true</boot>
-      <flags>/codepage:65001 -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 -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -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 -d:MONO_SECURITY_ALIAS -d:CONFIGURATION_DEP -r:./../../class/lib/basic/System.Xml.dll -r:./../../class/lib/basic/System.Configuration.dll -r:MonoSecurity=./../../class/lib/basic/Mono.Security.dll</flags>
+      <flags>/codepage:65001 -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 -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav -d:SECURITY_DEP -d:XML_DEP -d:MONO_SECURITY_ALIAS -d:CONFIGURATION_DEP -r:./../../class/lib/basic/System.Xml.dll -r:./../../class/lib/basic/System.Configuration.dll -r:MonoSecurity=./../../class/lib/basic/Mono.Security.dll</flags>
       <output>System.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/basic/System.dll</library_output>
@@ -82,7 +82,7 @@
     </project>
     <project dir="class/System" library="System-build">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/build/mscorlib.dll -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -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 -d:MONO_SECURITY_ALIAS -d:CONFIGURATION_DEP -r:./../../class/lib/build/System.Xml.dll -r:./../../class/lib/build/System.Configuration.dll -r:MonoSecurity=./../../class/lib/build/Mono.Security.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/build/mscorlib.dll -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav -d:SECURITY_DEP -d:XML_DEP -d:MONO_SECURITY_ALIAS -d:CONFIGURATION_DEP -r:./../../class/lib/build/System.Xml.dll -r:./../../class/lib/build/System.Configuration.dll -r:MonoSecurity=./../../class/lib/build/Mono.Security.dll</flags>
       <output>System.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/build/System.dll</library_output>
@@ -92,7 +92,7 @@
     </project>
     <project dir="class/System" library="System-bare-build">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/build/mscorlib.dll -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -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:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/build/mscorlib.dll -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav</flags>
       <output>System.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/build/bare/System.dll</library_output>
     </project>
     <project dir="class/System" library="System-secxml-build">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/build/mscorlib.dll -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -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 -d:MONO_SECURITY_ALIAS -r:./../../class/lib/build/bare/System.Xml.dll -r:MonoSecurity=./../../class/lib/build/Mono.Security.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/build/mscorlib.dll -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav -d:SECURITY_DEP -d:XML_DEP -d:MONO_SECURITY_ALIAS -r:./../../class/lib/build/bare/System.Xml.dll -r:MonoSecurity=./../../class/lib/build/Mono.Security.dll</flags>
       <output>System.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/build/secxml/System.dll</library_output>
     </project>
     <project dir="class/System" library="System-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 -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -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 -d:MONO_SECURITY_ALIAS -d:CONFIGURATION_DEP -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:MonoSecurity=./../../class/lib/net_4_x/Mono.Security.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav -d:SECURITY_DEP -d:XML_DEP -d:MONO_SECURITY_ALIAS -d:CONFIGURATION_DEP -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Configuration.dll -r:MonoSecurity=./../../class/lib/net_4_x/Mono.Security.dll</flags>
       <output>System.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.dll</library_output>
     </project>
     <project dir="class/System" library="System-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/secxml/System.dll -nowarn:618,672,219,67,169,612 -resource:Test/System/test-uri-props.txt,test-uri-props.txt -resource:Test/System/test-uri-props-manual.txt,test-uri-props-manual.txt -resource:Test/System/test-uri-relative-props.txt,test-uri-relative-props.txt -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME</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 -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/secxml/System.dll -nowarn:618,672,219,67,169,612 -resource:Test/System/test-uri-props.txt,test-uri-props.txt -resource:Test/System/test-uri-props-manual.txt,test-uri-props-manual.txt -resource:Test/System/test-uri-relative-props.txt,test-uri-relative-props.txt -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS</flags>
       <output>net_4_x_System_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System_test.dll</library_output>
     </project>
     <project dir="class/System" library="System-bare-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -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 -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav</flags>
       <output>System.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/bare/System.dll</library_output>
     </project>
     <project dir="class/System" library="System-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/secxml/System.dll -nowarn:618,672,219,67,169,612 -resource:Test/System/test-uri-props.txt,test-uri-props.txt -resource:Test/System/test-uri-props-manual.txt,test-uri-props-manual.txt -resource:Test/System/test-uri-relative-props.txt,test-uri-relative-props.txt -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME</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 -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/secxml/System.dll -nowarn:618,672,219,67,169,612 -resource:Test/System/test-uri-props.txt,test-uri-props.txt -resource:Test/System/test-uri-props-manual.txt,test-uri-props-manual.txt -resource:Test/System/test-uri-relative-props.txt,test-uri-relative-props.txt -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS</flags>
       <output>net_4_x_System_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System_test.dll</library_output>
     </project>
     <project dir="class/System" library="System-secxml-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -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 -d:MONO_SECURITY_ALIAS -r:./../../class/lib/net_4_x/bare/System.Xml.dll -r:MonoSecurity=./../../class/lib/net_4_x/Mono.Security.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize /noconfig -nowarn:618 -d:CONFIGURATION_2_0 -d:FEATURE_PAL,SYSTEM_NAMESPACE,MONO,PLATFORM_UNIX -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS -unsafe -resource:resources/Asterisk.wav -resource:resources/Beep.wav -resource:resources/Exclamation.wav -resource:resources/Hand.wav -resource:resources/Question.wav -d:SECURITY_DEP -d:XML_DEP -d:MONO_SECURITY_ALIAS -r:./../../class/lib/net_4_x/bare/System.Xml.dll -r:MonoSecurity=./../../class/lib/net_4_x/Mono.Security.dll</flags>
       <output>System.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/secxml/System.dll</library_output>
     </project>
     <project dir="class/System" library="System-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/secxml/System.dll -nowarn:618,672,219,67,169,612 -resource:Test/System/test-uri-props.txt,test-uri-props.txt -resource:Test/System/test-uri-props-manual.txt,test-uri-props-manual.txt -resource:Test/System/test-uri-relative-props.txt,test-uri-relative-props.txt -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME</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 -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize -r:./../../class/lib/net_4_x/secxml/System.dll -nowarn:618,672,219,67,169,612 -resource:Test/System/test-uri-props.txt,test-uri-props.txt -resource:Test/System/test-uri-props-manual.txt,test-uri-props-manual.txt -resource:Test/System/test-uri-relative-props.txt,test-uri-relative-props.txt -d:MONO_FEATURE_PROCESS_START -d:MONO_FEATURE_THREAD_ABORT -d:MONO_FEATURE_THREAD_SUSPEND_RESUME -d:MONO_FEATURE_MULTIPLE_APPDOMAINS</flags>
       <output>net_4_x_System_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System_test.dll</library_output>
     </project>
     <project dir="class/System.Json.Microsoft" library="System.Json.Microsoft-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 -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize /noconfig /d:ASPNETMVC -keyfile:../winfx.pub -delaysign /resource:System.Json.Properties.Resources.resources -d:FEATURE_DYNAMIC -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/Microsoft.CSharp.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize /noconfig /d:ASPNETMVC -keyfile:../winfx.pub -delaysign /resource:System.Json/Properties/Resources.resources,System.Json.Properties.Resources.resources -d:FEATURE_DYNAMIC -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/Microsoft.CSharp.dll</flags>
       <output>System.Json.Microsoft.dll</output>
       <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/System.Json.Microsoft.dll</library_output>
     </project>
     <project dir="class/System.Json.Microsoft" library="System.Json.Microsoft-tests-net_4_x">
       <boot>false</boot>
-      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/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:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/Microsoft.CSharp.dll</flags>
+      <flags>/codepage:65001 -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../class/lib/net_4_x/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,System.Json.Properties.Resources.resources -d:FEATURE_DYNAMIC -r:./../../class/lib/net_4_x/System.dll -r:./../../class/lib/net_4_x/System.Xml.dll -r:./../../class/lib/net_4_x/System.Core.dll -r:./../../class/lib/net_4_x/System.Runtime.Serialization.dll -r:./../../class/lib/net_4_x/Microsoft.CSharp.dll</flags>
       <output>net_4_x_System.Json.Microsoft_test.dll</output>
       <built_sources></built_sources>
       <library_output>net_4_x_System.Json.Microsoft_test.dll</library_output>
       <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">
+    <project dir="nunit24/NUnitFramework/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 -r:./../../../class/lib/net_4_x/mscorlib.dll -debug -optimize /noconfig /d:StronglyNamedAssembly -warn:1 /publicsign -r:./../../../class/lib/net_4_x/System.Xml.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>nunit.framework.dll</output>
       <profile>net_4_x</profile>
       <response>nunit.core.interfaces.dll.sources</response>
     </project>
-    <project dir="nunit20/NUnitCore/core" library="nunit.core-net_4_x">
+    <project dir="nunit24/NUnitCore/core" library="nunit.core-net_4_x">
       <boot>false</boot>
       <flags>/codepage:65001 /d:StronglyNamedAssembly -warn:1 /publicsign -d:NET_4_0 -d:NET_4_5 -d:NET_4_6 -d:MONO -d:DISABLE_CAS_USE -nowarn:1699 -nostdlib -r:./../../../class/lib/net_4_x/mscorlib.dll -debug -optimize /noconfig -r:./../../../class/lib/net_4_x/nunit.framework.dll -r:./../../../class/lib/net_4_x/nunit.core.interfaces.dll -r:./../../../class/lib/net_4_x/System.dll</flags>
       <output>nunit.core.dll</output>
       <boot></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 -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize /noconfig -r:System.Xml -r:System</flags>
       <output>mconfig.exe</output>
-      <built_sources>Mono.MonoConfig/consts.cs</built_sources>
+      <built_sources></built_sources>
       <library_output>./../../class/lib/net_4_x/mconfig.exe</library_output>
       <fx_version>4.5</fx_version>
       <profile>net_4_x</profile>
       <profile>net_4_x</profile>
       <response>cccheck.exe.sources</response>
     </project>
-    <project dir="tools/mdb-rebase" library="mdbrebase-net_4_x">
+    <project dir="tools/mdbrebase" library="mdbrebase-net_4_x">
       <boot></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 -r:./../../class/lib/net_4_x/mscorlib.dll -debug -optimize /noconfig -r:System -r:Mono.CompilerServices.SymbolWriter</flags>
       <output>mdbrebase.exe</output>
index 1d220e23fac778114dc662ab284b6103385f7bbe..20f78e5cf85b836bfc219964fc9d1a7f6af2cdbb 100644 (file)
@@ -17,6 +17,46 @@ class Prepare {
                        }
                }
        }
+
+       static void SystemDataConnectionReplace (string srcdir, string targetdir, string target, string ns, string factory, string conn)
+       {
+               var t = File.ReadAllText (Path.Combine (srcdir, "DbConnectionHelper.cs"));
+
+               File.WriteAllText (Path.Combine (targetdir, target), t.Replace ("NAMESPACE", ns).Replace ("CONNECTIONFACTORYOBJECTNAME", factory).Replace ("CONNECTIONOBJECTNAME", conn));
+       }
+
+       static void SystemDataParameterReplace (string srcdir, string targetdir, string target, string resns, string ns, string parname)
+       {
+               var t = File.ReadAllText (Path.Combine (srcdir, "DbParameterHelper.cs"));
+
+               File.WriteAllText (Path.Combine (targetdir, target), t.Replace ("RESNAMESPACE", resns).Replace ("NAMESPACE", ns).Replace ("PARAMETEROBJECTNAME", parname));
+       }
+
+       static void SystemDataParameterCollReplace (string srcdir, string targetdir, string target, string resns, string ns, string parname)
+       {
+               var t = File.ReadAllText (Path.Combine (srcdir, "DbParameterCollectionHelper.cs"));
+
+               Console.WriteLine ("Creating " + Path.Combine (targetdir, target));
+               File.WriteAllText (Path.Combine (targetdir, target), t.Replace ("RESNAMESPACE", resns).Replace ("PARAMETERCOLLECTIONOBJECTNAME", parname + "Collection").Replace ("NAMESPACE", ns).Replace ("PARAMETEROBJECTNAME", parname));
+       }
+       
+       static void GenerateSystemData (string bdir)
+       {
+               var rs = Path.Combine (bdir, "class", "referencesource", "System.Data", "System", "Data", "ProviderBase");
+               var sd = Path.Combine (bdir, "class", "System.Data");
+
+               SystemDataConnectionReplace (rs, sd, "gen_OdbcConnection.cs", "System.Data.Odbc", "OdbcConnectionFactory.SingletonInstance", "OdbcConnection");
+               SystemDataConnectionReplace (rs, sd, "gen_OleDbConnection.cs", "System.Data.OleDb", "OleDbConnectionFactory.SingletonInstance", "OleDbConnection");
+               SystemDataConnectionReplace (rs, sd, "gen_SqlConnection.cs", "System.Data.SqlClient", "SqlConnectionFactory.SingletonInstance", "SqlConnection");
+
+               SystemDataParameterReplace (rs, sd, "gen_OdbcParameter.cs", "System.Data", "System.Data.Odbc", "OdbcParameter");
+               SystemDataParameterReplace (rs, sd, "gen_OleDbParameter.cs", "System.Data", "System.Data.OleDb", "OleDbParameter");
+               SystemDataParameterReplace (rs, sd, "gen_SqlParameter.cs", "System.Data", "System.Data.SqlClient", "SqlParameter");
+
+               SystemDataParameterCollReplace (rs, sd, "gen_OdbcParameterCollection.cs", "System.Data", "System.Data.Odbc", "OdbcParameter");
+               SystemDataParameterCollReplace (rs, sd, "gen_OleDbParameterCollection.cs", "System.Data", "System.Data.OleDb", "OleDbParameter");
+               SystemDataParameterCollReplace (rs, sd, "gen_SqlParameterCollection.cs", "System.Data", "System.Data.SqlClient", "SqlParameter");
+       }
        
        static void Main (string [] args)
        {
@@ -28,16 +68,12 @@ class Prepare {
                }
 
                switch (args [1]){
-               case "xml":
-                       Filter (bdir + "/class/System.XML/System.Xml.XPath/Parser.jay",
-                               bdir + "/class/System.XML/Mono.Xml.Xsl/PatternParser.jay",
-                               (i, o) => o.Write (i.ReadToEnd ().Replace ("%start Expr", "%start Pattern")));
-                       break;
-
                case "core":
                        Filter (bdir + "/build/common/Consts.cs.in",
                                bdir + "/build/common/Consts.cs",
                                (i, o) => o.Write (i.ReadToEnd ().Replace ("@MONO_VERSION@", "2.5.0")));
+
+                       GenerateSystemData (bdir);
                        break;
                        
                default:
index 5f37f4614ad54d2571aa63f7e78dc250b65cdd0c..ba17c5e4e215857005ff74c9b74f17746742998a 100644 (file)
@@ -1,11 +1,9 @@
 
 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}") = "Mono.Security-net_4_x", "mcs/class/Mono.Security/Mono.Security-net_4_x.csproj", "{42D59DE7-586F-4ACF-BDD5-E7869E39E3EF}"
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mcs-net_4_x", "mcs/mcs/mcs-net_4_x.csproj", "{322A755A-ED38-4295-979D-E49EBAFA2852}"
 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}"
+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
@@ -15,18 +13,24 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System-secxml-net_4_x", "mc
 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.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.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}") = "Mono.CompilerServices.SymbolWriter-net_4_x", "mcs/class/Mono.CompilerServices.SymbolWriter/Mono.CompilerServices.SymbolWriter-net_4_x.csproj", "{88177C4B-894F-485D-B95A-44199C06BE9F}"
+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}") = "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}"
+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}") = "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}") = "resgen-net_4_x", "mcs/tools/resgen/resgen-net_4_x.csproj", "{647DC12E-A4EE-424A-9EC7-CE6643EE2EF7}"
+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}"
@@ -233,6 +237,8 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Parallel-net_4_x", "mc
 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}"
@@ -305,24 +311,384 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Workflow.ComponentMo
 EndProject
 Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Workflow.Runtime-net_4_x", "mcs/class/System.Workflow.Runtime/System.Workflow.Runtime-net_4_x.csproj", "{E4180397-83B3-4F7B-9878-6891698F7C52}"
 EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Collections.Concurrent-net_4_x", "mcs/class/Facades/System.Collections.Concurrent/Facades_System.Collections.Concurrent-net_4_x.csproj", "{EFD0287C-3651-4D42-B8CA-430776CB1E6D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Collections-net_4_x", "mcs/class/Facades/System.Collections/Facades_System.Collections-net_4_x.csproj", "{2597261D-EC05-4333-928D-1CA44AB1A5D2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.ComponentModel.Annotations-net_4_x", "mcs/class/Facades/System.ComponentModel.Annotations/Facades_System.ComponentModel.Annotations-net_4_x.csproj", "{B26700A5-4A9A-4358-8C84-51AD67C706BA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.ComponentModel.EventBasedAsync-net_4_x", "mcs/class/Facades/System.ComponentModel.EventBasedAsync/Facades_System.ComponentModel.EventBasedAsync-net_4_x.csproj", "{6871A822-F21C-4C0E-B97B-178FF6C3DB46}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.ComponentModel-net_4_x", "mcs/class/Facades/System.ComponentModel/Facades_System.ComponentModel-net_4_x.csproj", "{3FA73846-3666-4769-B431-1A7538B08F39}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Diagnostics.Contracts-net_4_x", "mcs/class/Facades/System.Diagnostics.Contracts/Facades_System.Diagnostics.Contracts-net_4_x.csproj", "{8892480E-A4C6-4C4C-8722-21C5483F8851}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Diagnostics.Debug-net_4_x", "mcs/class/Facades/System.Diagnostics.Debug/Facades_System.Diagnostics.Debug-net_4_x.csproj", "{7221EF5D-7340-4E8C-99F0-9EE9C55AA189}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Diagnostics.Tracing-net_4_x", "mcs/class/Facades/System.Diagnostics.Tracing/Facades_System.Diagnostics.Tracing-net_4_x.csproj", "{B33966AB-7211-43B4-B5C0-3F818869CB08}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Diagnostics.Tools-net_4_x", "mcs/class/Facades/System.Diagnostics.Tools/Facades_System.Diagnostics.Tools-net_4_x.csproj", "{5B299463-3E19-48C1-8625-31E12E1CC146}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Dynamic.Runtime-net_4_x", "mcs/class/Facades/System.Dynamic.Runtime/Facades_System.Dynamic.Runtime-net_4_x.csproj", "{E48CEF36-3218-477B-A8B5-014519207FF2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Globalization-net_4_x", "mcs/class/Facades/System.Globalization/Facades_System.Globalization-net_4_x.csproj", "{5F313CA5-F0FC-4EA3-AC8D-8EF1C7FC8ABE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.IO-net_4_x", "mcs/class/Facades/System.IO/Facades_System.IO-net_4_x.csproj", "{6C8B94F6-E589-472C-80CA-BD55DAFAC523}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Linq.Expressions-net_4_x", "mcs/class/Facades/System.Linq.Expressions/Facades_System.Linq.Expressions-net_4_x.csproj", "{24ADB02E-2E84-4EF4-BDD4-F20C87AEA6A3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Linq.Parallel-net_4_x", "mcs/class/Facades/System.Linq.Parallel/Facades_System.Linq.Parallel-net_4_x.csproj", "{CFF3822F-E829-4AEF-899A-963C4EAF6941}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Linq.Queryable-net_4_x", "mcs/class/Facades/System.Linq.Queryable/Facades_System.Linq.Queryable-net_4_x.csproj", "{49E80FC1-1707-4715-8D94-CBDC79B007E9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Linq-net_4_x", "mcs/class/Facades/System.Linq/Facades_System.Linq-net_4_x.csproj", "{9F1C9D98-4C32-4698-B26F-10A38B5073B0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.NetworkInformation-net_4_x", "mcs/class/Facades/System.Net.NetworkInformation/Facades_System.Net.NetworkInformation-net_4_x.csproj", "{B6AE3A72-1756-46BF-9105-C4D815A5C044}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.Primitives-net_4_x", "mcs/class/Facades/System.Net.Primitives/Facades_System.Net.Primitives-net_4_x.csproj", "{79BB52C8-198A-4238-B2F6-62CEEBD7D228}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.Requests-net_4_x", "mcs/class/Facades/System.Net.Requests/Facades_System.Net.Requests-net_4_x.csproj", "{538C60BD-0652-4780-AA7C-338C2DD82448}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.ObjectModel-net_4_x", "mcs/class/Facades/System.ObjectModel/Facades_System.ObjectModel-net_4_x.csproj", "{D14B21CE-AC35-445E-930F-9C7F6E032EE8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Reflection.Extensions-net_4_x", "mcs/class/Facades/System.Reflection.Extensions/Facades_System.Reflection.Extensions-net_4_x.csproj", "{B6D0F01A-1585-464E-850A-502EB4BBA8A2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Reflection.Primitives-net_4_x", "mcs/class/Facades/System.Reflection.Primitives/Facades_System.Reflection.Primitives-net_4_x.csproj", "{D60D1AB4-D664-4B1F-9724-962A2D205B07}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Reflection-net_4_x", "mcs/class/Facades/System.Reflection/Facades_System.Reflection-net_4_x.csproj", "{BE1CD06E-F08E-46EE-9DFD-91E1557F4121}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Resources.ResourceManager-net_4_x", "mcs/class/Facades/System.Resources.ResourceManager/Facades_System.Resources.ResourceManager-net_4_x.csproj", "{9F980E30-92CE-466A-BCB1-2C2F1E8FC09D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Runtime.Extensions-net_4_x", "mcs/class/Facades/System.Runtime.Extensions/Facades_System.Runtime.Extensions-net_4_x.csproj", "{1215B717-BE9D-4D53-AEB9-35522519BC75}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Runtime.InteropServices-net_4_x", "mcs/class/Facades/System.Runtime.InteropServices/Facades_System.Runtime.InteropServices-net_4_x.csproj", "{71A8C7C9-ED84-44E5-8814-F5FA5DA6EC5A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Runtime.InteropServices.WindowsRuntime-net_4_x", "mcs/class/Facades/System.Runtime.InteropServices.WindowsRuntime/Facades_System.Runtime.InteropServices.WindowsRuntime-net_4_x.csproj", "{521A60CF-50DF-4EF1-88B2-418BD39BDEC4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Runtime.Numerics-net_4_x", "mcs/class/Facades/System.Runtime.Numerics/Facades_System.Runtime.Numerics-net_4_x.csproj", "{AEB47FF6-C50D-4985-A57F-17F71F63694A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Runtime.Serialization.Json-net_4_x", "mcs/class/Facades/System.Runtime.Serialization.Json/Facades_System.Runtime.Serialization.Json-net_4_x.csproj", "{88B512E6-3E9D-4F87-A9E4-5F9239848665}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Runtime.Serialization.Primitives-net_4_x", "mcs/class/Facades/System.Runtime.Serialization.Primitives/Facades_System.Runtime.Serialization.Primitives-net_4_x.csproj", "{49BB9015-6989-4BD0-AF82-9184BE637D57}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Runtime.Serialization.Xml-net_4_x", "mcs/class/Facades/System.Runtime.Serialization.Xml/Facades_System.Runtime.Serialization.Xml-net_4_x.csproj", "{C948B3D4-0BEE-4363-B4A7-635A169C8D63}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Runtime-net_4_x", "mcs/class/Facades/System.Runtime/Facades_System.Runtime-net_4_x.csproj", "{CFB32425-69C5-425B-BF9A-66CB3AC52D71}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.Principal-net_4_x", "mcs/class/Facades/System.Security.Principal/Facades_System.Security.Principal-net_4_x.csproj", "{9040CA8B-4352-4621-A2B3-5C32A383DE15}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.ServiceModel.Http-net_4_x", "mcs/class/Facades/System.ServiceModel.Http/Facades_System.ServiceModel.Http-net_4_x.csproj", "{4EE0B25C-F7D7-40A9-AE37-5B874791D3C1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.ServiceModel.Primitives-net_4_x", "mcs/class/Facades/System.ServiceModel.Primitives/Facades_System.ServiceModel.Primitives-net_4_x.csproj", "{524B10FC-880D-4131-8CAE-027BC3A68B6F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.ServiceModel.Security-net_4_x", "mcs/class/Facades/System.ServiceModel.Security/Facades_System.ServiceModel.Security-net_4_x.csproj", "{F937A550-0A4A-4A10-9FD9-E8DE7696671F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Text.Encoding.Extensions-net_4_x", "mcs/class/Facades/System.Text.Encoding.Extensions/Facades_System.Text.Encoding.Extensions-net_4_x.csproj", "{28CEA696-8466-4826-9128-B83318184EF4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Text.Encoding-net_4_x", "mcs/class/Facades/System.Text.Encoding/Facades_System.Text.Encoding-net_4_x.csproj", "{0CD67EE4-42D8-43A6-880F-2C038E368C98}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Text.RegularExpressions-net_4_x", "mcs/class/Facades/System.Text.RegularExpressions/Facades_System.Text.RegularExpressions-net_4_x.csproj", "{490EF039-5913-4181-84CD-1F882968FC8C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Threading.Tasks.Parallel-net_4_x", "mcs/class/Facades/System.Threading.Tasks.Parallel/Facades_System.Threading.Tasks.Parallel-net_4_x.csproj", "{0F8CA9A9-62A4-4829-925E-002F0B93EE79}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Threading.Tasks-net_4_x", "mcs/class/Facades/System.Threading.Tasks/Facades_System.Threading.Tasks-net_4_x.csproj", "{F322318E-D053-45C9-AFDF-2AEEE1E0E006}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Threading.Timer-net_4_x", "mcs/class/Facades/System.Threading.Timer/Facades_System.Threading.Timer-net_4_x.csproj", "{30F7C900-122A-42A6-9669-D5606B9105A5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Threading-net_4_x", "mcs/class/Facades/System.Threading/Facades_System.Threading-net_4_x.csproj", "{35258CFB-0308-493D-B2BD-B044EAFD5AD1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Xml.ReaderWriter-net_4_x", "mcs/class/Facades/System.Xml.ReaderWriter/Facades_System.Xml.ReaderWriter-net_4_x.csproj", "{2C447238-E7CE-4AF2-9A6C-EDC8E02E554B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Xml.XDocument-net_4_x", "mcs/class/Facades/System.Xml.XDocument/Facades_System.Xml.XDocument-net_4_x.csproj", "{D8643E47-F2D5-447B-840B-25FEB84C9EEC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Xml.XmlSerializer-net_4_x", "mcs/class/Facades/System.Xml.XmlSerializer/Facades_System.Xml.XmlSerializer-net_4_x.csproj", "{E95FA58F-8086-45FF-8BD3-5A1FAF776709}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Runtime.Handles-net_4_x", "mcs/class/Facades/System.Runtime.Handles/Facades_System.Runtime.Handles-net_4_x.csproj", "{87C01EDD-05AF-4E1A-8EEE-27D7B83689EC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.ServiceModel.Duplex-net_4_x", "mcs/class/Facades/System.ServiceModel.Duplex/Facades_System.ServiceModel.Duplex-net_4_x.csproj", "{DE25A333-91AE-4F33-B483-A01D1D3D1675}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.ServiceModel.NetTcp-net_4_x", "mcs/class/Facades/System.ServiceModel.NetTcp/Facades_System.ServiceModel.NetTcp-net_4_x.csproj", "{0F83D60D-5AAA-425C-BC4E-01CA2018905C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_Microsoft.Win32.Primitives-net_4_x", "mcs/class/Facades/Microsoft.Win32.Primitives/Facades_Microsoft.Win32.Primitives-net_4_x.csproj", "{699E0DB5-EDD0-4E6A-87C9-D396DCDAF620}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_Microsoft.Win32.Registry-net_4_x", "mcs/class/Facades/Microsoft.Win32.Registry/Facades_Microsoft.Win32.Registry-net_4_x.csproj", "{160B5B14-7A25-458E-B83F-35632C832866}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.AppContext-net_4_x", "mcs/class/Facades/System.AppContext/Facades_System.AppContext-net_4_x.csproj", "{B6B7A903-D696-43CF-AC42-39DCAAB00B9D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Collections.NonGeneric-net_4_x", "mcs/class/Facades/System.Collections.NonGeneric/Facades_System.Collections.NonGeneric-net_4_x.csproj", "{5F686C07-72CE-4A42-93B1-52B31227C3BB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Collections.Specialized-net_4_x", "mcs/class/Facades/System.Collections.Specialized/Facades_System.Collections.Specialized-net_4_x.csproj", "{5A238E60-587C-4C5C-8CA4-0443B1DBF1F6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.ComponentModel.Primitives-net_4_x", "mcs/class/Facades/System.ComponentModel.Primitives/Facades_System.ComponentModel.Primitives-net_4_x.csproj", "{1DF9021C-DC67-4D7B-BEC9-10D7FBC12972}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.ComponentModel.TypeConverter-net_4_x", "mcs/class/Facades/System.ComponentModel.TypeConverter/Facades_System.ComponentModel.TypeConverter-net_4_x.csproj", "{FC19760B-00FF-4242-9760-9C8E9C87CCFB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Console-net_4_x", "mcs/class/Facades/System.Console/Facades_System.Console-net_4_x.csproj", "{6207AADB-0592-4B52-B71E-3565196EE893}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Data.Common-net_4_x", "mcs/class/Facades/System.Data.Common/Facades_System.Data.Common-net_4_x.csproj", "{360CDD70-6108-4406-9433-7BB178B0C3E3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Data.SqlClient-net_4_x", "mcs/class/Facades/System.Data.SqlClient/Facades_System.Data.SqlClient-net_4_x.csproj", "{575873BD-22DA-4A36-ABBD-B074EFEAB3AD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Diagnostics.FileVersionInfo-net_4_x", "mcs/class/Facades/System.Diagnostics.FileVersionInfo/Facades_System.Diagnostics.FileVersionInfo-net_4_x.csproj", "{D81BCBD3-415D-4309-A116-0B475D8A2FA8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Diagnostics.Process-net_4_x", "mcs/class/Facades/System.Diagnostics.Process/Facades_System.Diagnostics.Process-net_4_x.csproj", "{BFE6F5CE-725C-4F96-8AC6-F66B7C56E972}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Diagnostics.TextWriterTraceListener-net_4_x", "mcs/class/Facades/System.Diagnostics.TextWriterTraceListener/Facades_System.Diagnostics.TextWriterTraceListener-net_4_x.csproj", "{EE8443AB-125D-4055-981A-143FB827C23C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Diagnostics.TraceEvent-net_4_x", "mcs/class/Facades/System.Diagnostics.TraceEvent/Facades_System.Diagnostics.TraceEvent-net_4_x.csproj", "{6460F8E8-775E-46B6-99E5-B48390591515}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Diagnostics.TraceSource-net_4_x", "mcs/class/Facades/System.Diagnostics.TraceSource/Facades_System.Diagnostics.TraceSource-net_4_x.csproj", "{530F1E68-3237-49E6-8D3B-06332F5AC055}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Globalization.Calendars-net_4_x", "mcs/class/Facades/System.Globalization.Calendars/Facades_System.Globalization.Calendars-net_4_x.csproj", "{BC71DA11-382F-459A-B3C3-F2F4267974FB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.IO.Compression.ZipFile-net_4_x", "mcs/class/Facades/System.IO.Compression.ZipFile/Facades_System.IO.Compression.ZipFile-net_4_x.csproj", "{A8EB5499-FA67-4049-AA0A-241D82DA975C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.IO.FileSystem-net_4_x", "mcs/class/Facades/System.IO.FileSystem/Facades_System.IO.FileSystem-net_4_x.csproj", "{3CBF9A55-86B6-4E0B-A73E-E352C79D85E8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.IO.FileSystem.DriveInfo-net_4_x", "mcs/class/Facades/System.IO.FileSystem.DriveInfo/Facades_System.IO.FileSystem.DriveInfo-net_4_x.csproj", "{121F835D-CD32-4C19-ABA7-25EF4B84773F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.IO.FileSystem.Primitives-net_4_x", "mcs/class/Facades/System.IO.FileSystem.Primitives/Facades_System.IO.FileSystem.Primitives-net_4_x.csproj", "{5DF20007-FD1D-4BD8-A492-D1C4F7CAD2BF}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.IO.IsolatedStorage-net_4_x", "mcs/class/Facades/System.IO.IsolatedStorage/Facades_System.IO.IsolatedStorage-net_4_x.csproj", "{A9B2D389-B9E5-4B0F-8115-2AADF285D217}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.IO.MemoryMappedFiles-net_4_x", "mcs/class/Facades/System.IO.MemoryMappedFiles/Facades_System.IO.MemoryMappedFiles-net_4_x.csproj", "{18639F0F-74F1-4B61-81BF-D60B651F542A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.IO.UnmanagedMemoryStream-net_4_x", "mcs/class/Facades/System.IO.UnmanagedMemoryStream/Facades_System.IO.UnmanagedMemoryStream-net_4_x.csproj", "{981E765A-9D68-4653-9079-69BFCD97F086}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.AuthenticationManager-net_4_x", "mcs/class/Facades/System.Net.AuthenticationManager/Facades_System.Net.AuthenticationManager-net_4_x.csproj", "{B6DBC302-E9DB-4464-979C-6D714B436A7E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.Cache-net_4_x", "mcs/class/Facades/System.Net.Cache/Facades_System.Net.Cache-net_4_x.csproj", "{101D931B-24CE-44CE-8140-8B183D5CC46E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.HttpListener-net_4_x", "mcs/class/Facades/System.Net.HttpListener/Facades_System.Net.HttpListener-net_4_x.csproj", "{CC7A11AC-ACAA-4707-BEF1-1106938F19C7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.Mail-net_4_x", "mcs/class/Facades/System.Net.Mail/Facades_System.Net.Mail-net_4_x.csproj", "{074DF29D-D38E-4FB9-86A0-18F47615CE72}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.NameResolution-net_4_x", "mcs/class/Facades/System.Net.NameResolution/Facades_System.Net.NameResolution-net_4_x.csproj", "{1219DA91-575A-45EA-9CC9-1471648A025F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.Security-net_4_x", "mcs/class/Facades/System.Net.Security/Facades_System.Net.Security-net_4_x.csproj", "{601F297E-1242-4BC4-BD06-1111CE65D658}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.ServicePoint-net_4_x", "mcs/class/Facades/System.Net.ServicePoint/Facades_System.Net.ServicePoint-net_4_x.csproj", "{B0CF71F6-DCD4-4C7B-BE36-BF9CB0CB366C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.Sockets-net_4_x", "mcs/class/Facades/System.Net.Sockets/Facades_System.Net.Sockets-net_4_x.csproj", "{FC7570DA-CAE1-40AF-9EB4-9C9566746023}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.Utilities-net_4_x", "mcs/class/Facades/System.Net.Utilities/Facades_System.Net.Utilities-net_4_x.csproj", "{6413D947-5660-473A-8C2C-9DF40BF8AEE1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.WebHeaderCollection-net_4_x", "mcs/class/Facades/System.Net.WebHeaderCollection/Facades_System.Net.WebHeaderCollection-net_4_x.csproj", "{A1B6CFFB-432C-4CB1-9A60-97B3CC859583}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.WebSockets-net_4_x", "mcs/class/Facades/System.Net.WebSockets/Facades_System.Net.WebSockets-net_4_x.csproj", "{C46AD937-B0E8-4AB6-B98C-C8C37A746ED7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.WebSockets.Client-net_4_x", "mcs/class/Facades/System.Net.WebSockets.Client/Facades_System.Net.WebSockets.Client-net_4_x.csproj", "{5B58ED88-02A5-469A-82A0-DF97F3A5FBB0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Resources.ReaderWriter-net_4_x", "mcs/class/Facades/System.Resources.ReaderWriter/Facades_System.Resources.ReaderWriter-net_4_x.csproj", "{2D720AF7-7104-46EF-93BC-B8BA133B6BF6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Runtime.CompilerServices.VisualC-net_4_x", "mcs/class/Facades/System.Runtime.CompilerServices.VisualC/Facades_System.Runtime.CompilerServices.VisualC-net_4_x.csproj", "{C1D26AE7-071A-4092-9866-0EE2D09CF342}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.AccessControl-net_4_x", "mcs/class/Facades/System.Security.AccessControl/Facades_System.Security.AccessControl-net_4_x.csproj", "{4867DFE7-C028-4518-B420-27C3E4582D0C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.Claims-net_4_x", "mcs/class/Facades/System.Security.Claims/Facades_System.Security.Claims-net_4_x.csproj", "{4874E167-6B23-4FD6-B51D-048417A8054B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.Cryptography.DeriveBytes-net_4_x", "mcs/class/Facades/System.Security.Cryptography.DeriveBytes/Facades_System.Security.Cryptography.DeriveBytes-net_4_x.csproj", "{DB39DD76-4609-45D1-9615-57D4E436D7F1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.Cryptography.Encoding-net_4_x", "mcs/class/Facades/System.Security.Cryptography.Encoding/Facades_System.Security.Cryptography.Encoding-net_4_x.csproj", "{8B19E0DB-E0EA-4BED-B4E7-AED8A4ED0C62}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.Cryptography.Encryption-net_4_x", "mcs/class/Facades/System.Security.Cryptography.Encryption/Facades_System.Security.Cryptography.Encryption-net_4_x.csproj", "{EDF9D7E8-5BAC-4264-BB98-1AE586B0A889}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.Cryptography.Encryption.Aes-net_4_x", "mcs/class/Facades/System.Security.Cryptography.Encryption.Aes/Facades_System.Security.Cryptography.Encryption.Aes-net_4_x.csproj", "{38BA78A4-9614-4000-80A7-DFCE31F10721}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.Cryptography.Encryption.ECDiffieHellman-net_4_x", "mcs/class/Facades/System.Security.Cryptography.Encryption.ECDiffieHellman/Facades_System.Security.Cryptography.Encryption.ECDiffieHellman-net_4_x.csproj", "{6499F7E3-64F3-495B-9900-E2D0AD47414F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.Cryptography.Encryption.ECDsa-net_4_x", "mcs/class/Facades/System.Security.Cryptography.Encryption.ECDsa/Facades_System.Security.Cryptography.Encryption.ECDsa-net_4_x.csproj", "{EFA0AABF-7830-4804-A92D-F6F31F86B826}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.Cryptography.Hashing-net_4_x", "mcs/class/Facades/System.Security.Cryptography.Hashing/Facades_System.Security.Cryptography.Hashing-net_4_x.csproj", "{C48B1038-4774-4D49-9D34-79DBBA725AA0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.Cryptography.Hashing.Algorithms-net_4_x", "mcs/class/Facades/System.Security.Cryptography.Hashing.Algorithms/Facades_System.Security.Cryptography.Hashing.Algorithms-net_4_x.csproj", "{0DBEDE3A-F06D-4C61-89DF-193C13393F7A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.Cryptography.RSA-net_4_x", "mcs/class/Facades/System.Security.Cryptography.RSA/Facades_System.Security.Cryptography.RSA-net_4_x.csproj", "{18EE2788-AC59-4A0C-A902-C6B64D285BB6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.Cryptography.RandomNumberGenerator-net_4_x", "mcs/class/Facades/System.Security.Cryptography.RandomNumberGenerator/Facades_System.Security.Cryptography.RandomNumberGenerator-net_4_x.csproj", "{C87878D2-CDEF-4EC9-8C94-C1381144F4EC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.Cryptography.X509Certificates-net_4_x", "mcs/class/Facades/System.Security.Cryptography.X509Certificates/Facades_System.Security.Cryptography.X509Certificates-net_4_x.csproj", "{C2E71C2B-A806-4FEB-AE2D-A5BE884E3BA7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.Principal.Windows-net_4_x", "mcs/class/Facades/System.Security.Principal.Windows/Facades_System.Security.Principal.Windows-net_4_x.csproj", "{47977802-4193-48DC-AA0F-58D18AEDA405}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Threading.Thread-net_4_x", "mcs/class/Facades/System.Threading.Thread/Facades_System.Threading.Thread-net_4_x.csproj", "{4D9EF694-5260-432D-BA34-503FFBE43B6C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Threading.ThreadPool-net_4_x", "mcs/class/Facades/System.Threading.ThreadPool/Facades_System.Threading.ThreadPool-net_4_x.csproj", "{95B411AA-B13F-4621-B020-7F797E1F39F0}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Xml.XPath-net_4_x", "mcs/class/Facades/System.Xml.XPath/Facades_System.Xml.XPath-net_4_x.csproj", "{5C3F0B44-E169-4441-91F9-7285048F4946}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Xml.XmlDocument-net_4_x", "mcs/class/Facades/System.Xml.XmlDocument/Facades_System.Xml.XmlDocument-net_4_x.csproj", "{D7F840DE-EDFD-4DB5-ACDB-9328AB7E6C6C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Xml.Xsl.Primitives-net_4_x", "mcs/class/Facades/System.Xml.Xsl.Primitives/Facades_System.Xml.Xsl.Primitives-net_4_x.csproj", "{653C4BDE-F194-4A4F-A1CE-1FF955DE43D6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_Microsoft.Win32.Registry.AccessControl-net_4_x", "mcs/class/Facades/Microsoft.Win32.Registry.AccessControl/Facades_Microsoft.Win32.Registry.AccessControl-net_4_x.csproj", "{7B15C4D7-8C02-408E-9EFB-5E9E9FB4410D}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Diagnostics.StackTrace-net_4_x", "mcs/class/Facades/System.Diagnostics.StackTrace/Facades_System.Diagnostics.StackTrace-net_4_x.csproj", "{871BE2C6-2F56-4E05-93E8-9B3FDD4711DB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Globalization.Extensions-net_4_x", "mcs/class/Facades/System.Globalization.Extensions/Facades_System.Globalization.Extensions-net_4_x.csproj", "{B875622B-BEA2-4D1C-8242-3A1FCECF5890}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.IO.FileSystem.AccessControl-net_4_x", "mcs/class/Facades/System.IO.FileSystem.AccessControl/Facades_System.IO.FileSystem.AccessControl-net_4_x.csproj", "{321A53F3-A681-4CA5-A093-1C6650243F6A}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Private.CoreLib.InteropServices-net_4_x", "mcs/class/Facades/System.Private.CoreLib.InteropServices/Facades_System.Private.CoreLib.InteropServices-net_4_x.csproj", "{5D05F5E2-7378-4A35-B1A3-76ABEB4A71C3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Private.CoreLib.Threading-net_4_x", "mcs/class/Facades/System.Private.CoreLib.Threading/Facades_System.Private.CoreLib.Threading-net_4_x.csproj", "{642A1B9E-1A2F-4C55-B184-E22F8C2E95B5}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Reflection.TypeExtensions-net_4_x", "mcs/class/Facades/System.Reflection.TypeExtensions/Facades_System.Reflection.TypeExtensions-net_4_x.csproj", "{C315A617-25A4-447F-AA4F-0E0E7E35F919}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.SecureString-net_4_x", "mcs/class/Facades/System.Security.SecureString/Facades_System.Security.SecureString-net_4_x.csproj", "{57C02AD3-1118-4982-BCE3-53158D30F4E9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Threading.AccessControl-net_4_x", "mcs/class/Facades/System.Threading.AccessControl/Facades_System.Threading.AccessControl-net_4_x.csproj", "{FB663BC8-162E-43E7-9674-ECD2BEE82CC1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Threading.Overlapped-net_4_x", "mcs/class/Facades/System.Threading.Overlapped/Facades_System.Threading.Overlapped-net_4_x.csproj", "{E8BFEFD2-AAB9-45E6-8523-1F6AEB1918A2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Xml.XPath.XDocument-net_4_x", "mcs/class/Facades/System.Xml.XPath.XDocument/Facades_System.Xml.XPath.XDocument-net_4_x.csproj", "{38F046A2-EEBD-4FE7-B70E-636F5DB4BBF3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Reflection.Emit.ILGeneration-net_4_x", "mcs/class/Facades/System.Reflection.Emit.ILGeneration/Facades_System.Reflection.Emit.ILGeneration-net_4_x.csproj", "{ACF5E339-FB52-48E0-A859-2CE75756DFE8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Reflection.Emit.Lightweight-net_4_x", "mcs/class/Facades/System.Reflection.Emit.Lightweight/Facades_System.Reflection.Emit.Lightweight-net_4_x.csproj", "{03B29131-9D1A-4446-92F2-237F9EF70C5C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Reflection.Emit-net_4_x", "mcs/class/Facades/System.Reflection.Emit/Facades_System.Reflection.Emit-net_4_x.csproj", "{5327CF02-204D-45CD-A68D-3D836470E439}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Diagnostics.PerformanceCounter-net_4_x", "mcs/class/Facades/System.Diagnostics.PerformanceCounter/Facades_System.Diagnostics.PerformanceCounter-net_4_x.csproj", "{BA0C64F1-3762-437D-8B58-75F68A5B4E7E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.IO.FileSystem.Watcher-net_4_x", "mcs/class/Facades/System.IO.FileSystem.Watcher/Facades_System.IO.FileSystem.Watcher-net_4_x.csproj", "{44647FAA-F785-44DE-B6B2-ABC2B9768233}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.IO.Pipes-net_4_x", "mcs/class/Facades/System.IO.Pipes/Facades_System.IO.Pipes-net_4_x.csproj", "{D835F3A9-C4FE-4162-8AB5-DC26D06AC81F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Security.Cryptography.ProtectedData-net_4_x", "mcs/class/Facades/System.Security.Cryptography.ProtectedData/Facades_System.Security.Cryptography.ProtectedData-net_4_x.csproj", "{66B88E44-F7DA-4C83-B028-A49D4D3EBD16}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.ServiceProcess.ServiceController-net_4_x", "mcs/class/Facades/System.ServiceProcess.ServiceController/Facades_System.ServiceProcess.ServiceController-net_4_x.csproj", "{8C71A924-2561-434B-A792-2F84ABA1C0C2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Facades_System.Net.Http.WebRequestHandler-net_4_x", "mcs/class/Facades/System.Net.Http.WebRequestHandler/Facades_System.Net.Http.WebRequestHandler-net_4_x.csproj", "{ACA10642-1D5B-443D-99BE-65C31491C54F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "NUnit.Framework-net_4_x", "mcs/nunit24/NUnitFramework/framework/NUnit.Framework-net_4_x.csproj", "{B2272696-96AA-4638-B17C-60A4BA37CA0E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.core.interfaces-net_4_x", "mcs/nunit24/NUnitCore/interfaces/nunit.core.interfaces-net_4_x.csproj", "{A950C3AB-D62D-4B20-BFB8-5671DE20E535}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.core-net_4_x", "mcs/nunit24/NUnitCore/core/nunit.core-net_4_x.csproj", "{257D35DE-7F06-42BA-B82E-734991FFE949}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.util-net_4_x", "mcs/nunit24/ClientUtilities/util/nunit.util-net_4_x.csproj", "{52B1E1ED-1F77-4AEC-9CB2-141B8795949F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.mocks-net_4_x", "mcs/nunit24/NUnitMocks/mocks/nunit.mocks-net_4_x.csproj", "{E072B33B-F3C5-4B2F-ABAA-1339CF716143}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.framework.extensions-net_4_x", "mcs/nunit24/NUnitExtensions/framework/nunit.framework.extensions-net_4_x.csproj", "{59253F15-7E2A-483D-8214-58F03681A3B6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit.core.extensions-net_4_x", "mcs/nunit24/NUnitExtensions/core/nunit.core.extensions-net_4_x.csproj", "{7DEADBAC-1F4D-4799-8174-01E175C869FC}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit-console-runner-net_4_x", "mcs/nunit24/ConsoleRunner/nunit-console/nunit-console-runner-net_4_x.csproj", "{B0078000-EF01-4AA3-B5DD-47145B4527EE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunit-console-net_4_x", "mcs/nunit24/ConsoleRunner/nunit-console-exe/nunit-console-net_4_x.csproj", "{4FB9199D-D57E-4007-AA72-0200296AE55F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ilasm-net_4_x", "mcs/ilasm/ilasm-net_4_x.csproj", "{D32B01EF-8E8D-41C1-848D-6DAEAA3FCA6C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "gacutil-net_4_x", "mcs/tools/gacutil/gacutil-net_4_x.csproj", "{6B9993FC-E28D-4D55-8F96-C8A35B2BC6E7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "culevel-net_4_x", "mcs/tools/culevel/culevel-net_4_x.csproj", "{ED867AC1-079C-4B5E-ADF9-E7722053B360}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cil-stringreplacer-net_4_x", "mcs/tools/cil-stringreplacer/cil-stringreplacer-net_4_x.csproj", "{FD725431-CB26-466D-BD55-C739485A50C9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "commoncryptogenerator-net_4_x", "mcs/tools/commoncryptogenerator/commoncryptogenerator-net_4_x.csproj", "{12527E95-60D3-4A66-91C6-7F8031519299}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "al-net_4_x", "mcs/tools/al/al-net_4_x.csproj", "{D237CE6E-EA8F-4E8E-8413-295B27714AC6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "monolinker-net_4_x", "mcs/tools/linker/monolinker-net_4_x.csproj", "{FA920637-C202-4E75-AC0F-1A8DBD631DF1}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Tuner-net_4_x", "mcs/tools/tuner/Mono.Tuner-net_4_x.csproj", "{8CCE7044-3466-4599-B09E-9F8E0C2F4614}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "genxs-net_4_x", "mcs/tools/genxs/genxs-net_4_x.csproj", "{DCD2613C-B1A0-489B-BCA1-79BEBB9B9541}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mkbundle-net_4_x", "mcs/tools/mkbundle/mkbundle-net_4_x.csproj", "{3A3DAEC2-3DF4-4968-A191-8D6F207ABA5E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "monop-net_4_x", "mcs/tools/monop/monop-net_4_x.csproj", "{78B1A752-432B-4764-9E63-E95CCB23554F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mono-service-net_4_x", "mcs/tools/mono-service/mono-service-net_4_x.csproj", "{612FEFDB-12FA-4441-9094-236B05D645A4}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "xsd-net_4_x", "mcs/tools/mono-xsd/xsd-net_4_x.csproj", "{3CB8E3C0-0EFA-4AB3-9F60-02DC274F77F8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "wsdl-net_4_x", "mcs/tools/wsdl/wsdl-net_4_x.csproj", "{69D00FEC-59AA-43A0-90AD-87F400B8613C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "csharp-net_4_x", "mcs/tools/csharp/csharp-net_4_x.csproj", "{3E3DE804-DF6C-43D0-9DFC-13C7FFD949CA}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mono-api-info-net_4_x", "mcs/tools/corcompare/mono-api-info-net_4_x.csproj", "{4391CB6E-F09B-4D13-BA34-547E15FA7847}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mono-api-html-net_4_x", "mcs/tools/mono-api-html/mono-api-html-net_4_x.csproj", "{76A06DA3-F3B5-498C-9D75-72F325BB6656}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "compiler-tester-net_4_x", "mcs/tools/compiler-tester/compiler-tester-net_4_x.csproj", "{93602011-38AA-46AC-8203-571D620A228C}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mono-xmltool-net_4_x", "mcs/tools/mono-xmltool/mono-xmltool-net_4_x.csproj", "{25CAFA51-9FE0-43AD-A642-B3D59BE2B377}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mono-shlib-cop-net_4_x", "mcs/tools/mono-shlib-cop/mono-shlib-cop-net_4_x.csproj", "{7E28A830-EB3C-48E3-B0FB-6DDAAF698115}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sgen-net_4_x", "mcs/tools/sgen/sgen-net_4_x.csproj", "{8A516908-7CA0-40A7-86DD-0BEE1F4496C6}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mconfig-net_4_x", "mcs/tools/mconfig/mconfig-net_4_x.csproj", "{8B85F71C-81E2-4732-8A85-CBBFA8E09FF3}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "installutil-net_4_x", "mcs/tools/installutil/installutil-net_4_x.csproj", "{503D43D5-65AF-401A-9D50-53B514724152}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "nunitreport-net_4_x", "mcs/tools/nunitreport/nunitreport-net_4_x.csproj", "{DAE62F67-EE88-4192-8CB8-314E9E955BE9}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "pdb2mdb-net_4_x", "mcs/tools/pdb2mdb/pdb2mdb-net_4_x.csproj", "{F7C83E4F-C1C4-4939-8BA3-3EF6E3631E08}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sqlsharp-net_4_x", "mcs/tools/SqlSharp/sqlsharp-net_4_x.csproj", "{DCCC3618-803B-4492-A968-010E2C0851E8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "sqlmetal-net_4_x", "mcs/tools/sqlmetal/sqlmetal-net_4_x.csproj", "{71A04260-D8F6-4E97-898D-5F3D5A2F3D94}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "svcutil-net_4_x", "mcs/tools/svcutil/svcutil-net_4_x.csproj", "{496CFCD3-5F5A-46D1-BD8F-6642BD4E61D2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ictool-net_4_x", "mcs/tools/ictool/ictool-net_4_x.csproj", "{92EBF79E-AB94-4543-B130-6FEE6D0B3526}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "disco-net_4_x", "mcs/tools/disco/disco-net_4_x.csproj", "{49D19955-330A-4FF2-BE94-4AEAE6745EBE}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "soapsuds-net_4_x", "mcs/tools/soapsuds/soapsuds-net_4_x.csproj", "{84ABC688-04BE-4F0B-9FD0-0332437C435F}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "browsercaps-updater-net_4_x", "mcs/tools/browsercaps-updater/browsercaps-updater-net_4_x.csproj", "{01D2746E-CB83-4FE7-981D-DF9B0CE33EFB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mono-cil-strip-net_4_x", "mcs/tools/cil-strip/mono-cil-strip-net_4_x.csproj", "{2AEAE157-B22D-480F-B7B9-F6DF0773EF0B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "macpack-net_4_x", "mcs/tools/macpack/macpack-net_4_x.csproj", "{420CBB84-F8F6-4F77-8AE1-6B886D5DEDAB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dtd2rng-net_4_x", "mcs/tools/dtd2rng/dtd2rng-net_4_x.csproj", "{60674A50-F2E0-4BC7-A917-8976821888ED}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "dtd2xsd-net_4_x", "mcs/tools/dtd2xsd/dtd2xsd-net_4_x.csproj", "{D22ABC86-1275-431C-911C-D14EE2A20FD7}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mdoc-net_4_x", "mcs/tools/mdoc/mdoc-net_4_x.csproj", "{15871CCA-A500-4AE3-89D7-1F3429614403}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mod-net_4_x", "mcs/tools/mod/mod-net_4_x.csproj", "{135520B4-D83D-4726-B043-3B4FBF306F94}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "installvst-net_4_x", "mcs/tools/installvst/installvst-net_4_x.csproj", "{DC8E3822-546F-4D5F-BEAF-61C9855FF50B}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "lc-net_4_x", "mcs/tools/lc/lc-net_4_x.csproj", "{427F59C0-5770-4C73-83B0-F445303C26CB}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Mono.Configuration.Crypto-net_4_x", "mcs/tools/mono-configuration-crypto/lib/Mono.Configuration.Crypto-net_4_x.csproj", "{19AC03F2-0198-4512-BCFD-7CBB3129F9D2}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mono-configuration-crypto-net_4_x", "mcs/tools/mono-configuration-crypto/cli/mono-configuration-crypto-net_4_x.csproj", "{462A56EE-6371-46F8-9B83-18AFDEEF4BAD}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ccrewrite-net_4_x", "mcs/tools/ccrewrite/ccrewrite-net_4_x.csproj", "{3A2CEA44-B631-40CB-B1B5-001AEC0C825E}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "cccheck-net_4_x", "mcs/tools/cccheck/cccheck-net_4_x.csproj", "{BA3136DD-E843-4F57-8FBB-1782D3D08BC8}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mdbrebase-net_4_x", "mcs/tools/mdbrebase/mdbrebase-net_4_x.csproj", "{01B02BFF-0DC3-4265-BFAA-EDE405950796}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "ikdasm-net_4_x", "mcs/tools/ikdasm/ikdasm-net_4_x.csproj", "{921F19B8-7276-446C-B096-A29AAAB83E12}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "mono-symbolicate-net_4_x", "mcs/tools/mono-symbolicate/mono-symbolicate-net_4_x.csproj", "{63E373FB-CE4B-4F7B-A421-5CE8ED7BD851}"
+EndProject
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "linkeranalyzer-net_4_x", "mcs/tools/linker-analyzer/linkeranalyzer-net_4_x.csproj", "{D7789C48-C33A-4FE5-BD42-4DBAB2850796}"
+EndProject
 Global
        GlobalSection(SolutionConfigurationPlatforms) = preSolution
                Debug|Any CPU = Debug|Any CPU
                Release|Any CPU = Release|Any CPU
        EndGlobalSection
        GlobalSection(ProjectConfigurationPlatforms) = postSolution
+               {322A755A-ED38-4295-979D-E49EBAFA2852}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {322A755A-ED38-4295-979D-E49EBAFA2852}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {322A755A-ED38-4295-979D-E49EBAFA2852}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {322A755A-ED38-4295-979D-E49EBAFA2852}.Release|Any CPU.Build.0 = Release|Any CPU
                {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
-               {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
-               {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
                {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
@@ -339,6 +705,14 @@ Global
                {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
                {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
@@ -347,22 +721,26 @@ Global
                {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
-               {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
+               {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
+               {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
                {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
+               {647DC12E-A4EE-424A-9EC7-CE6643EE2EF7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {647DC12E-A4EE-424A-9EC7-CE6643EE2EF7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {647DC12E-A4EE-424A-9EC7-CE6643EE2EF7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {647DC12E-A4EE-424A-9EC7-CE6643EE2EF7}.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
@@ -775,6 +1153,10 @@ Global
                {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
@@ -919,6 +1301,734 @@ Global
                {E4180397-83B3-4F7B-9878-6891698F7C52}.Debug|Any CPU.Build.0 = Debug|Any CPU
                {E4180397-83B3-4F7B-9878-6891698F7C52}.Release|Any CPU.ActiveCfg = Release|Any CPU
                {E4180397-83B3-4F7B-9878-6891698F7C52}.Release|Any CPU.Build.0 = Release|Any CPU
+               {EFD0287C-3651-4D42-B8CA-430776CB1E6D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {EFD0287C-3651-4D42-B8CA-430776CB1E6D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {EFD0287C-3651-4D42-B8CA-430776CB1E6D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {EFD0287C-3651-4D42-B8CA-430776CB1E6D}.Release|Any CPU.Build.0 = Release|Any CPU
+               {2597261D-EC05-4333-928D-1CA44AB1A5D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {2597261D-EC05-4333-928D-1CA44AB1A5D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {2597261D-EC05-4333-928D-1CA44AB1A5D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {2597261D-EC05-4333-928D-1CA44AB1A5D2}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B26700A5-4A9A-4358-8C84-51AD67C706BA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B26700A5-4A9A-4358-8C84-51AD67C706BA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B26700A5-4A9A-4358-8C84-51AD67C706BA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B26700A5-4A9A-4358-8C84-51AD67C706BA}.Release|Any CPU.Build.0 = Release|Any CPU
+               {6871A822-F21C-4C0E-B97B-178FF6C3DB46}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {6871A822-F21C-4C0E-B97B-178FF6C3DB46}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {6871A822-F21C-4C0E-B97B-178FF6C3DB46}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {6871A822-F21C-4C0E-B97B-178FF6C3DB46}.Release|Any CPU.Build.0 = Release|Any CPU
+               {3FA73846-3666-4769-B431-1A7538B08F39}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {3FA73846-3666-4769-B431-1A7538B08F39}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {3FA73846-3666-4769-B431-1A7538B08F39}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {3FA73846-3666-4769-B431-1A7538B08F39}.Release|Any CPU.Build.0 = Release|Any CPU
+               {8892480E-A4C6-4C4C-8722-21C5483F8851}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {8892480E-A4C6-4C4C-8722-21C5483F8851}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {8892480E-A4C6-4C4C-8722-21C5483F8851}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {8892480E-A4C6-4C4C-8722-21C5483F8851}.Release|Any CPU.Build.0 = Release|Any CPU
+               {7221EF5D-7340-4E8C-99F0-9EE9C55AA189}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {7221EF5D-7340-4E8C-99F0-9EE9C55AA189}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {7221EF5D-7340-4E8C-99F0-9EE9C55AA189}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {7221EF5D-7340-4E8C-99F0-9EE9C55AA189}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B33966AB-7211-43B4-B5C0-3F818869CB08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B33966AB-7211-43B4-B5C0-3F818869CB08}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B33966AB-7211-43B4-B5C0-3F818869CB08}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B33966AB-7211-43B4-B5C0-3F818869CB08}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5B299463-3E19-48C1-8625-31E12E1CC146}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5B299463-3E19-48C1-8625-31E12E1CC146}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5B299463-3E19-48C1-8625-31E12E1CC146}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5B299463-3E19-48C1-8625-31E12E1CC146}.Release|Any CPU.Build.0 = Release|Any CPU
+               {E48CEF36-3218-477B-A8B5-014519207FF2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {E48CEF36-3218-477B-A8B5-014519207FF2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {E48CEF36-3218-477B-A8B5-014519207FF2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {E48CEF36-3218-477B-A8B5-014519207FF2}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5F313CA5-F0FC-4EA3-AC8D-8EF1C7FC8ABE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5F313CA5-F0FC-4EA3-AC8D-8EF1C7FC8ABE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5F313CA5-F0FC-4EA3-AC8D-8EF1C7FC8ABE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5F313CA5-F0FC-4EA3-AC8D-8EF1C7FC8ABE}.Release|Any CPU.Build.0 = Release|Any CPU
+               {6C8B94F6-E589-472C-80CA-BD55DAFAC523}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {6C8B94F6-E589-472C-80CA-BD55DAFAC523}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {6C8B94F6-E589-472C-80CA-BD55DAFAC523}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {6C8B94F6-E589-472C-80CA-BD55DAFAC523}.Release|Any CPU.Build.0 = Release|Any CPU
+               {24ADB02E-2E84-4EF4-BDD4-F20C87AEA6A3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {24ADB02E-2E84-4EF4-BDD4-F20C87AEA6A3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {24ADB02E-2E84-4EF4-BDD4-F20C87AEA6A3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {24ADB02E-2E84-4EF4-BDD4-F20C87AEA6A3}.Release|Any CPU.Build.0 = Release|Any CPU
+               {CFF3822F-E829-4AEF-899A-963C4EAF6941}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {CFF3822F-E829-4AEF-899A-963C4EAF6941}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {CFF3822F-E829-4AEF-899A-963C4EAF6941}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {CFF3822F-E829-4AEF-899A-963C4EAF6941}.Release|Any CPU.Build.0 = Release|Any CPU
+               {49E80FC1-1707-4715-8D94-CBDC79B007E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {49E80FC1-1707-4715-8D94-CBDC79B007E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {49E80FC1-1707-4715-8D94-CBDC79B007E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {49E80FC1-1707-4715-8D94-CBDC79B007E9}.Release|Any CPU.Build.0 = Release|Any CPU
+               {9F1C9D98-4C32-4698-B26F-10A38B5073B0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {9F1C9D98-4C32-4698-B26F-10A38B5073B0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {9F1C9D98-4C32-4698-B26F-10A38B5073B0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {9F1C9D98-4C32-4698-B26F-10A38B5073B0}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B6AE3A72-1756-46BF-9105-C4D815A5C044}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B6AE3A72-1756-46BF-9105-C4D815A5C044}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B6AE3A72-1756-46BF-9105-C4D815A5C044}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B6AE3A72-1756-46BF-9105-C4D815A5C044}.Release|Any CPU.Build.0 = Release|Any CPU
+               {79BB52C8-198A-4238-B2F6-62CEEBD7D228}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {79BB52C8-198A-4238-B2F6-62CEEBD7D228}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {79BB52C8-198A-4238-B2F6-62CEEBD7D228}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {79BB52C8-198A-4238-B2F6-62CEEBD7D228}.Release|Any CPU.Build.0 = Release|Any CPU
+               {538C60BD-0652-4780-AA7C-338C2DD82448}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {538C60BD-0652-4780-AA7C-338C2DD82448}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {538C60BD-0652-4780-AA7C-338C2DD82448}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {538C60BD-0652-4780-AA7C-338C2DD82448}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D14B21CE-AC35-445E-930F-9C7F6E032EE8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D14B21CE-AC35-445E-930F-9C7F6E032EE8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D14B21CE-AC35-445E-930F-9C7F6E032EE8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D14B21CE-AC35-445E-930F-9C7F6E032EE8}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B6D0F01A-1585-464E-850A-502EB4BBA8A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B6D0F01A-1585-464E-850A-502EB4BBA8A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B6D0F01A-1585-464E-850A-502EB4BBA8A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B6D0F01A-1585-464E-850A-502EB4BBA8A2}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D60D1AB4-D664-4B1F-9724-962A2D205B07}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D60D1AB4-D664-4B1F-9724-962A2D205B07}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D60D1AB4-D664-4B1F-9724-962A2D205B07}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D60D1AB4-D664-4B1F-9724-962A2D205B07}.Release|Any CPU.Build.0 = Release|Any CPU
+               {BE1CD06E-F08E-46EE-9DFD-91E1557F4121}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {BE1CD06E-F08E-46EE-9DFD-91E1557F4121}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {BE1CD06E-F08E-46EE-9DFD-91E1557F4121}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {BE1CD06E-F08E-46EE-9DFD-91E1557F4121}.Release|Any CPU.Build.0 = Release|Any CPU
+               {9F980E30-92CE-466A-BCB1-2C2F1E8FC09D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {9F980E30-92CE-466A-BCB1-2C2F1E8FC09D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {9F980E30-92CE-466A-BCB1-2C2F1E8FC09D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {9F980E30-92CE-466A-BCB1-2C2F1E8FC09D}.Release|Any CPU.Build.0 = Release|Any CPU
+               {1215B717-BE9D-4D53-AEB9-35522519BC75}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {1215B717-BE9D-4D53-AEB9-35522519BC75}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {1215B717-BE9D-4D53-AEB9-35522519BC75}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {1215B717-BE9D-4D53-AEB9-35522519BC75}.Release|Any CPU.Build.0 = Release|Any CPU
+               {71A8C7C9-ED84-44E5-8814-F5FA5DA6EC5A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {71A8C7C9-ED84-44E5-8814-F5FA5DA6EC5A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {71A8C7C9-ED84-44E5-8814-F5FA5DA6EC5A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {71A8C7C9-ED84-44E5-8814-F5FA5DA6EC5A}.Release|Any CPU.Build.0 = Release|Any CPU
+               {521A60CF-50DF-4EF1-88B2-418BD39BDEC4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {521A60CF-50DF-4EF1-88B2-418BD39BDEC4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {521A60CF-50DF-4EF1-88B2-418BD39BDEC4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {521A60CF-50DF-4EF1-88B2-418BD39BDEC4}.Release|Any CPU.Build.0 = Release|Any CPU
+               {AEB47FF6-C50D-4985-A57F-17F71F63694A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {AEB47FF6-C50D-4985-A57F-17F71F63694A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {AEB47FF6-C50D-4985-A57F-17F71F63694A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {AEB47FF6-C50D-4985-A57F-17F71F63694A}.Release|Any CPU.Build.0 = Release|Any CPU
+               {88B512E6-3E9D-4F87-A9E4-5F9239848665}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {88B512E6-3E9D-4F87-A9E4-5F9239848665}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {88B512E6-3E9D-4F87-A9E4-5F9239848665}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {88B512E6-3E9D-4F87-A9E4-5F9239848665}.Release|Any CPU.Build.0 = Release|Any CPU
+               {49BB9015-6989-4BD0-AF82-9184BE637D57}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {49BB9015-6989-4BD0-AF82-9184BE637D57}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {49BB9015-6989-4BD0-AF82-9184BE637D57}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {49BB9015-6989-4BD0-AF82-9184BE637D57}.Release|Any CPU.Build.0 = Release|Any CPU
+               {C948B3D4-0BEE-4363-B4A7-635A169C8D63}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {C948B3D4-0BEE-4363-B4A7-635A169C8D63}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {C948B3D4-0BEE-4363-B4A7-635A169C8D63}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {C948B3D4-0BEE-4363-B4A7-635A169C8D63}.Release|Any CPU.Build.0 = Release|Any CPU
+               {CFB32425-69C5-425B-BF9A-66CB3AC52D71}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {CFB32425-69C5-425B-BF9A-66CB3AC52D71}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {CFB32425-69C5-425B-BF9A-66CB3AC52D71}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {CFB32425-69C5-425B-BF9A-66CB3AC52D71}.Release|Any CPU.Build.0 = Release|Any CPU
+               {9040CA8B-4352-4621-A2B3-5C32A383DE15}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {9040CA8B-4352-4621-A2B3-5C32A383DE15}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {9040CA8B-4352-4621-A2B3-5C32A383DE15}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {9040CA8B-4352-4621-A2B3-5C32A383DE15}.Release|Any CPU.Build.0 = Release|Any CPU
+               {4EE0B25C-F7D7-40A9-AE37-5B874791D3C1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {4EE0B25C-F7D7-40A9-AE37-5B874791D3C1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {4EE0B25C-F7D7-40A9-AE37-5B874791D3C1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {4EE0B25C-F7D7-40A9-AE37-5B874791D3C1}.Release|Any CPU.Build.0 = Release|Any CPU
+               {524B10FC-880D-4131-8CAE-027BC3A68B6F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {524B10FC-880D-4131-8CAE-027BC3A68B6F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {524B10FC-880D-4131-8CAE-027BC3A68B6F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {524B10FC-880D-4131-8CAE-027BC3A68B6F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {F937A550-0A4A-4A10-9FD9-E8DE7696671F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {F937A550-0A4A-4A10-9FD9-E8DE7696671F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {F937A550-0A4A-4A10-9FD9-E8DE7696671F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {F937A550-0A4A-4A10-9FD9-E8DE7696671F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {28CEA696-8466-4826-9128-B83318184EF4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {28CEA696-8466-4826-9128-B83318184EF4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {28CEA696-8466-4826-9128-B83318184EF4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {28CEA696-8466-4826-9128-B83318184EF4}.Release|Any CPU.Build.0 = Release|Any CPU
+               {0CD67EE4-42D8-43A6-880F-2C038E368C98}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {0CD67EE4-42D8-43A6-880F-2C038E368C98}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {0CD67EE4-42D8-43A6-880F-2C038E368C98}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {0CD67EE4-42D8-43A6-880F-2C038E368C98}.Release|Any CPU.Build.0 = Release|Any CPU
+               {490EF039-5913-4181-84CD-1F882968FC8C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {490EF039-5913-4181-84CD-1F882968FC8C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {490EF039-5913-4181-84CD-1F882968FC8C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {490EF039-5913-4181-84CD-1F882968FC8C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {0F8CA9A9-62A4-4829-925E-002F0B93EE79}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {0F8CA9A9-62A4-4829-925E-002F0B93EE79}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {0F8CA9A9-62A4-4829-925E-002F0B93EE79}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {0F8CA9A9-62A4-4829-925E-002F0B93EE79}.Release|Any CPU.Build.0 = Release|Any CPU
+               {F322318E-D053-45C9-AFDF-2AEEE1E0E006}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {F322318E-D053-45C9-AFDF-2AEEE1E0E006}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {F322318E-D053-45C9-AFDF-2AEEE1E0E006}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {F322318E-D053-45C9-AFDF-2AEEE1E0E006}.Release|Any CPU.Build.0 = Release|Any CPU
+               {30F7C900-122A-42A6-9669-D5606B9105A5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {30F7C900-122A-42A6-9669-D5606B9105A5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {30F7C900-122A-42A6-9669-D5606B9105A5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {30F7C900-122A-42A6-9669-D5606B9105A5}.Release|Any CPU.Build.0 = Release|Any CPU
+               {35258CFB-0308-493D-B2BD-B044EAFD5AD1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {35258CFB-0308-493D-B2BD-B044EAFD5AD1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {35258CFB-0308-493D-B2BD-B044EAFD5AD1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {35258CFB-0308-493D-B2BD-B044EAFD5AD1}.Release|Any CPU.Build.0 = Release|Any CPU
+               {2C447238-E7CE-4AF2-9A6C-EDC8E02E554B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {2C447238-E7CE-4AF2-9A6C-EDC8E02E554B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {2C447238-E7CE-4AF2-9A6C-EDC8E02E554B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {2C447238-E7CE-4AF2-9A6C-EDC8E02E554B}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D8643E47-F2D5-447B-840B-25FEB84C9EEC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D8643E47-F2D5-447B-840B-25FEB84C9EEC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D8643E47-F2D5-447B-840B-25FEB84C9EEC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D8643E47-F2D5-447B-840B-25FEB84C9EEC}.Release|Any CPU.Build.0 = Release|Any CPU
+               {E95FA58F-8086-45FF-8BD3-5A1FAF776709}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {E95FA58F-8086-45FF-8BD3-5A1FAF776709}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {E95FA58F-8086-45FF-8BD3-5A1FAF776709}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {E95FA58F-8086-45FF-8BD3-5A1FAF776709}.Release|Any CPU.Build.0 = Release|Any CPU
+               {87C01EDD-05AF-4E1A-8EEE-27D7B83689EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {87C01EDD-05AF-4E1A-8EEE-27D7B83689EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {87C01EDD-05AF-4E1A-8EEE-27D7B83689EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {87C01EDD-05AF-4E1A-8EEE-27D7B83689EC}.Release|Any CPU.Build.0 = Release|Any CPU
+               {DE25A333-91AE-4F33-B483-A01D1D3D1675}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {DE25A333-91AE-4F33-B483-A01D1D3D1675}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {DE25A333-91AE-4F33-B483-A01D1D3D1675}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {DE25A333-91AE-4F33-B483-A01D1D3D1675}.Release|Any CPU.Build.0 = Release|Any CPU
+               {0F83D60D-5AAA-425C-BC4E-01CA2018905C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {0F83D60D-5AAA-425C-BC4E-01CA2018905C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {0F83D60D-5AAA-425C-BC4E-01CA2018905C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {0F83D60D-5AAA-425C-BC4E-01CA2018905C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {699E0DB5-EDD0-4E6A-87C9-D396DCDAF620}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {699E0DB5-EDD0-4E6A-87C9-D396DCDAF620}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {699E0DB5-EDD0-4E6A-87C9-D396DCDAF620}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {699E0DB5-EDD0-4E6A-87C9-D396DCDAF620}.Release|Any CPU.Build.0 = Release|Any CPU
+               {160B5B14-7A25-458E-B83F-35632C832866}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {160B5B14-7A25-458E-B83F-35632C832866}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {160B5B14-7A25-458E-B83F-35632C832866}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {160B5B14-7A25-458E-B83F-35632C832866}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B6B7A903-D696-43CF-AC42-39DCAAB00B9D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B6B7A903-D696-43CF-AC42-39DCAAB00B9D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B6B7A903-D696-43CF-AC42-39DCAAB00B9D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B6B7A903-D696-43CF-AC42-39DCAAB00B9D}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5F686C07-72CE-4A42-93B1-52B31227C3BB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5F686C07-72CE-4A42-93B1-52B31227C3BB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5F686C07-72CE-4A42-93B1-52B31227C3BB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5F686C07-72CE-4A42-93B1-52B31227C3BB}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5A238E60-587C-4C5C-8CA4-0443B1DBF1F6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5A238E60-587C-4C5C-8CA4-0443B1DBF1F6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5A238E60-587C-4C5C-8CA4-0443B1DBF1F6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5A238E60-587C-4C5C-8CA4-0443B1DBF1F6}.Release|Any CPU.Build.0 = Release|Any CPU
+               {1DF9021C-DC67-4D7B-BEC9-10D7FBC12972}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {1DF9021C-DC67-4D7B-BEC9-10D7FBC12972}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {1DF9021C-DC67-4D7B-BEC9-10D7FBC12972}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {1DF9021C-DC67-4D7B-BEC9-10D7FBC12972}.Release|Any CPU.Build.0 = Release|Any CPU
+               {FC19760B-00FF-4242-9760-9C8E9C87CCFB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {FC19760B-00FF-4242-9760-9C8E9C87CCFB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {FC19760B-00FF-4242-9760-9C8E9C87CCFB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {FC19760B-00FF-4242-9760-9C8E9C87CCFB}.Release|Any CPU.Build.0 = Release|Any CPU
+               {6207AADB-0592-4B52-B71E-3565196EE893}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {6207AADB-0592-4B52-B71E-3565196EE893}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {6207AADB-0592-4B52-B71E-3565196EE893}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {6207AADB-0592-4B52-B71E-3565196EE893}.Release|Any CPU.Build.0 = Release|Any CPU
+               {360CDD70-6108-4406-9433-7BB178B0C3E3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {360CDD70-6108-4406-9433-7BB178B0C3E3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {360CDD70-6108-4406-9433-7BB178B0C3E3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {360CDD70-6108-4406-9433-7BB178B0C3E3}.Release|Any CPU.Build.0 = Release|Any CPU
+               {575873BD-22DA-4A36-ABBD-B074EFEAB3AD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {575873BD-22DA-4A36-ABBD-B074EFEAB3AD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {575873BD-22DA-4A36-ABBD-B074EFEAB3AD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {575873BD-22DA-4A36-ABBD-B074EFEAB3AD}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D81BCBD3-415D-4309-A116-0B475D8A2FA8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D81BCBD3-415D-4309-A116-0B475D8A2FA8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D81BCBD3-415D-4309-A116-0B475D8A2FA8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D81BCBD3-415D-4309-A116-0B475D8A2FA8}.Release|Any CPU.Build.0 = Release|Any CPU
+               {BFE6F5CE-725C-4F96-8AC6-F66B7C56E972}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {BFE6F5CE-725C-4F96-8AC6-F66B7C56E972}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {BFE6F5CE-725C-4F96-8AC6-F66B7C56E972}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {BFE6F5CE-725C-4F96-8AC6-F66B7C56E972}.Release|Any CPU.Build.0 = Release|Any CPU
+               {EE8443AB-125D-4055-981A-143FB827C23C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {EE8443AB-125D-4055-981A-143FB827C23C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {EE8443AB-125D-4055-981A-143FB827C23C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {EE8443AB-125D-4055-981A-143FB827C23C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {6460F8E8-775E-46B6-99E5-B48390591515}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {6460F8E8-775E-46B6-99E5-B48390591515}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {6460F8E8-775E-46B6-99E5-B48390591515}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {6460F8E8-775E-46B6-99E5-B48390591515}.Release|Any CPU.Build.0 = Release|Any CPU
+               {530F1E68-3237-49E6-8D3B-06332F5AC055}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {530F1E68-3237-49E6-8D3B-06332F5AC055}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {530F1E68-3237-49E6-8D3B-06332F5AC055}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {530F1E68-3237-49E6-8D3B-06332F5AC055}.Release|Any CPU.Build.0 = Release|Any CPU
+               {BC71DA11-382F-459A-B3C3-F2F4267974FB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {BC71DA11-382F-459A-B3C3-F2F4267974FB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {BC71DA11-382F-459A-B3C3-F2F4267974FB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {BC71DA11-382F-459A-B3C3-F2F4267974FB}.Release|Any CPU.Build.0 = Release|Any CPU
+               {A8EB5499-FA67-4049-AA0A-241D82DA975C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {A8EB5499-FA67-4049-AA0A-241D82DA975C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {A8EB5499-FA67-4049-AA0A-241D82DA975C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {A8EB5499-FA67-4049-AA0A-241D82DA975C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {3CBF9A55-86B6-4E0B-A73E-E352C79D85E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {3CBF9A55-86B6-4E0B-A73E-E352C79D85E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {3CBF9A55-86B6-4E0B-A73E-E352C79D85E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {3CBF9A55-86B6-4E0B-A73E-E352C79D85E8}.Release|Any CPU.Build.0 = Release|Any CPU
+               {121F835D-CD32-4C19-ABA7-25EF4B84773F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {121F835D-CD32-4C19-ABA7-25EF4B84773F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {121F835D-CD32-4C19-ABA7-25EF4B84773F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {121F835D-CD32-4C19-ABA7-25EF4B84773F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5DF20007-FD1D-4BD8-A492-D1C4F7CAD2BF}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5DF20007-FD1D-4BD8-A492-D1C4F7CAD2BF}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5DF20007-FD1D-4BD8-A492-D1C4F7CAD2BF}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5DF20007-FD1D-4BD8-A492-D1C4F7CAD2BF}.Release|Any CPU.Build.0 = Release|Any CPU
+               {A9B2D389-B9E5-4B0F-8115-2AADF285D217}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {A9B2D389-B9E5-4B0F-8115-2AADF285D217}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {A9B2D389-B9E5-4B0F-8115-2AADF285D217}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {A9B2D389-B9E5-4B0F-8115-2AADF285D217}.Release|Any CPU.Build.0 = Release|Any CPU
+               {18639F0F-74F1-4B61-81BF-D60B651F542A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {18639F0F-74F1-4B61-81BF-D60B651F542A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {18639F0F-74F1-4B61-81BF-D60B651F542A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {18639F0F-74F1-4B61-81BF-D60B651F542A}.Release|Any CPU.Build.0 = Release|Any CPU
+               {981E765A-9D68-4653-9079-69BFCD97F086}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {981E765A-9D68-4653-9079-69BFCD97F086}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {981E765A-9D68-4653-9079-69BFCD97F086}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {981E765A-9D68-4653-9079-69BFCD97F086}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B6DBC302-E9DB-4464-979C-6D714B436A7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B6DBC302-E9DB-4464-979C-6D714B436A7E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B6DBC302-E9DB-4464-979C-6D714B436A7E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B6DBC302-E9DB-4464-979C-6D714B436A7E}.Release|Any CPU.Build.0 = Release|Any CPU
+               {101D931B-24CE-44CE-8140-8B183D5CC46E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {101D931B-24CE-44CE-8140-8B183D5CC46E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {101D931B-24CE-44CE-8140-8B183D5CC46E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {101D931B-24CE-44CE-8140-8B183D5CC46E}.Release|Any CPU.Build.0 = Release|Any CPU
+               {CC7A11AC-ACAA-4707-BEF1-1106938F19C7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {CC7A11AC-ACAA-4707-BEF1-1106938F19C7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {CC7A11AC-ACAA-4707-BEF1-1106938F19C7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {CC7A11AC-ACAA-4707-BEF1-1106938F19C7}.Release|Any CPU.Build.0 = Release|Any CPU
+               {074DF29D-D38E-4FB9-86A0-18F47615CE72}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {074DF29D-D38E-4FB9-86A0-18F47615CE72}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {074DF29D-D38E-4FB9-86A0-18F47615CE72}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {074DF29D-D38E-4FB9-86A0-18F47615CE72}.Release|Any CPU.Build.0 = Release|Any CPU
+               {1219DA91-575A-45EA-9CC9-1471648A025F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {1219DA91-575A-45EA-9CC9-1471648A025F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {1219DA91-575A-45EA-9CC9-1471648A025F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {1219DA91-575A-45EA-9CC9-1471648A025F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {601F297E-1242-4BC4-BD06-1111CE65D658}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {601F297E-1242-4BC4-BD06-1111CE65D658}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {601F297E-1242-4BC4-BD06-1111CE65D658}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {601F297E-1242-4BC4-BD06-1111CE65D658}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B0CF71F6-DCD4-4C7B-BE36-BF9CB0CB366C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B0CF71F6-DCD4-4C7B-BE36-BF9CB0CB366C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B0CF71F6-DCD4-4C7B-BE36-BF9CB0CB366C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B0CF71F6-DCD4-4C7B-BE36-BF9CB0CB366C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {FC7570DA-CAE1-40AF-9EB4-9C9566746023}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {FC7570DA-CAE1-40AF-9EB4-9C9566746023}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {FC7570DA-CAE1-40AF-9EB4-9C9566746023}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {FC7570DA-CAE1-40AF-9EB4-9C9566746023}.Release|Any CPU.Build.0 = Release|Any CPU
+               {6413D947-5660-473A-8C2C-9DF40BF8AEE1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {6413D947-5660-473A-8C2C-9DF40BF8AEE1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {6413D947-5660-473A-8C2C-9DF40BF8AEE1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {6413D947-5660-473A-8C2C-9DF40BF8AEE1}.Release|Any CPU.Build.0 = Release|Any CPU
+               {A1B6CFFB-432C-4CB1-9A60-97B3CC859583}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {A1B6CFFB-432C-4CB1-9A60-97B3CC859583}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {A1B6CFFB-432C-4CB1-9A60-97B3CC859583}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {A1B6CFFB-432C-4CB1-9A60-97B3CC859583}.Release|Any CPU.Build.0 = Release|Any CPU
+               {C46AD937-B0E8-4AB6-B98C-C8C37A746ED7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {C46AD937-B0E8-4AB6-B98C-C8C37A746ED7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {C46AD937-B0E8-4AB6-B98C-C8C37A746ED7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {C46AD937-B0E8-4AB6-B98C-C8C37A746ED7}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5B58ED88-02A5-469A-82A0-DF97F3A5FBB0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5B58ED88-02A5-469A-82A0-DF97F3A5FBB0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5B58ED88-02A5-469A-82A0-DF97F3A5FBB0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5B58ED88-02A5-469A-82A0-DF97F3A5FBB0}.Release|Any CPU.Build.0 = Release|Any CPU
+               {2D720AF7-7104-46EF-93BC-B8BA133B6BF6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {2D720AF7-7104-46EF-93BC-B8BA133B6BF6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {2D720AF7-7104-46EF-93BC-B8BA133B6BF6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {2D720AF7-7104-46EF-93BC-B8BA133B6BF6}.Release|Any CPU.Build.0 = Release|Any CPU
+               {C1D26AE7-071A-4092-9866-0EE2D09CF342}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {C1D26AE7-071A-4092-9866-0EE2D09CF342}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {C1D26AE7-071A-4092-9866-0EE2D09CF342}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {C1D26AE7-071A-4092-9866-0EE2D09CF342}.Release|Any CPU.Build.0 = Release|Any CPU
+               {4867DFE7-C028-4518-B420-27C3E4582D0C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {4867DFE7-C028-4518-B420-27C3E4582D0C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {4867DFE7-C028-4518-B420-27C3E4582D0C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {4867DFE7-C028-4518-B420-27C3E4582D0C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {4874E167-6B23-4FD6-B51D-048417A8054B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {4874E167-6B23-4FD6-B51D-048417A8054B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {4874E167-6B23-4FD6-B51D-048417A8054B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {4874E167-6B23-4FD6-B51D-048417A8054B}.Release|Any CPU.Build.0 = Release|Any CPU
+               {DB39DD76-4609-45D1-9615-57D4E436D7F1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {DB39DD76-4609-45D1-9615-57D4E436D7F1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {DB39DD76-4609-45D1-9615-57D4E436D7F1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {DB39DD76-4609-45D1-9615-57D4E436D7F1}.Release|Any CPU.Build.0 = Release|Any CPU
+               {8B19E0DB-E0EA-4BED-B4E7-AED8A4ED0C62}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {8B19E0DB-E0EA-4BED-B4E7-AED8A4ED0C62}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {8B19E0DB-E0EA-4BED-B4E7-AED8A4ED0C62}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {8B19E0DB-E0EA-4BED-B4E7-AED8A4ED0C62}.Release|Any CPU.Build.0 = Release|Any CPU
+               {EDF9D7E8-5BAC-4264-BB98-1AE586B0A889}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {EDF9D7E8-5BAC-4264-BB98-1AE586B0A889}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {EDF9D7E8-5BAC-4264-BB98-1AE586B0A889}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {EDF9D7E8-5BAC-4264-BB98-1AE586B0A889}.Release|Any CPU.Build.0 = Release|Any CPU
+               {38BA78A4-9614-4000-80A7-DFCE31F10721}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {38BA78A4-9614-4000-80A7-DFCE31F10721}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {38BA78A4-9614-4000-80A7-DFCE31F10721}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {38BA78A4-9614-4000-80A7-DFCE31F10721}.Release|Any CPU.Build.0 = Release|Any CPU
+               {6499F7E3-64F3-495B-9900-E2D0AD47414F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {6499F7E3-64F3-495B-9900-E2D0AD47414F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {6499F7E3-64F3-495B-9900-E2D0AD47414F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {6499F7E3-64F3-495B-9900-E2D0AD47414F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {EFA0AABF-7830-4804-A92D-F6F31F86B826}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {EFA0AABF-7830-4804-A92D-F6F31F86B826}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {EFA0AABF-7830-4804-A92D-F6F31F86B826}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {EFA0AABF-7830-4804-A92D-F6F31F86B826}.Release|Any CPU.Build.0 = Release|Any CPU
+               {C48B1038-4774-4D49-9D34-79DBBA725AA0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {C48B1038-4774-4D49-9D34-79DBBA725AA0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {C48B1038-4774-4D49-9D34-79DBBA725AA0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {C48B1038-4774-4D49-9D34-79DBBA725AA0}.Release|Any CPU.Build.0 = Release|Any CPU
+               {0DBEDE3A-F06D-4C61-89DF-193C13393F7A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {0DBEDE3A-F06D-4C61-89DF-193C13393F7A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {0DBEDE3A-F06D-4C61-89DF-193C13393F7A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {0DBEDE3A-F06D-4C61-89DF-193C13393F7A}.Release|Any CPU.Build.0 = Release|Any CPU
+               {18EE2788-AC59-4A0C-A902-C6B64D285BB6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {18EE2788-AC59-4A0C-A902-C6B64D285BB6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {18EE2788-AC59-4A0C-A902-C6B64D285BB6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {18EE2788-AC59-4A0C-A902-C6B64D285BB6}.Release|Any CPU.Build.0 = Release|Any CPU
+               {C87878D2-CDEF-4EC9-8C94-C1381144F4EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {C87878D2-CDEF-4EC9-8C94-C1381144F4EC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {C87878D2-CDEF-4EC9-8C94-C1381144F4EC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {C87878D2-CDEF-4EC9-8C94-C1381144F4EC}.Release|Any CPU.Build.0 = Release|Any CPU
+               {C2E71C2B-A806-4FEB-AE2D-A5BE884E3BA7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {C2E71C2B-A806-4FEB-AE2D-A5BE884E3BA7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {C2E71C2B-A806-4FEB-AE2D-A5BE884E3BA7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {C2E71C2B-A806-4FEB-AE2D-A5BE884E3BA7}.Release|Any CPU.Build.0 = Release|Any CPU
+               {47977802-4193-48DC-AA0F-58D18AEDA405}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {47977802-4193-48DC-AA0F-58D18AEDA405}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {47977802-4193-48DC-AA0F-58D18AEDA405}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {47977802-4193-48DC-AA0F-58D18AEDA405}.Release|Any CPU.Build.0 = Release|Any CPU
+               {4D9EF694-5260-432D-BA34-503FFBE43B6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {4D9EF694-5260-432D-BA34-503FFBE43B6C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {4D9EF694-5260-432D-BA34-503FFBE43B6C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {4D9EF694-5260-432D-BA34-503FFBE43B6C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {95B411AA-B13F-4621-B020-7F797E1F39F0}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {95B411AA-B13F-4621-B020-7F797E1F39F0}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {95B411AA-B13F-4621-B020-7F797E1F39F0}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {95B411AA-B13F-4621-B020-7F797E1F39F0}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5C3F0B44-E169-4441-91F9-7285048F4946}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5C3F0B44-E169-4441-91F9-7285048F4946}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5C3F0B44-E169-4441-91F9-7285048F4946}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5C3F0B44-E169-4441-91F9-7285048F4946}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D7F840DE-EDFD-4DB5-ACDB-9328AB7E6C6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D7F840DE-EDFD-4DB5-ACDB-9328AB7E6C6C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D7F840DE-EDFD-4DB5-ACDB-9328AB7E6C6C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D7F840DE-EDFD-4DB5-ACDB-9328AB7E6C6C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {653C4BDE-F194-4A4F-A1CE-1FF955DE43D6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {653C4BDE-F194-4A4F-A1CE-1FF955DE43D6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {653C4BDE-F194-4A4F-A1CE-1FF955DE43D6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {653C4BDE-F194-4A4F-A1CE-1FF955DE43D6}.Release|Any CPU.Build.0 = Release|Any CPU
+               {7B15C4D7-8C02-408E-9EFB-5E9E9FB4410D}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {7B15C4D7-8C02-408E-9EFB-5E9E9FB4410D}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {7B15C4D7-8C02-408E-9EFB-5E9E9FB4410D}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {7B15C4D7-8C02-408E-9EFB-5E9E9FB4410D}.Release|Any CPU.Build.0 = Release|Any CPU
+               {871BE2C6-2F56-4E05-93E8-9B3FDD4711DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {871BE2C6-2F56-4E05-93E8-9B3FDD4711DB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {871BE2C6-2F56-4E05-93E8-9B3FDD4711DB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {871BE2C6-2F56-4E05-93E8-9B3FDD4711DB}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B875622B-BEA2-4D1C-8242-3A1FCECF5890}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B875622B-BEA2-4D1C-8242-3A1FCECF5890}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B875622B-BEA2-4D1C-8242-3A1FCECF5890}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B875622B-BEA2-4D1C-8242-3A1FCECF5890}.Release|Any CPU.Build.0 = Release|Any CPU
+               {321A53F3-A681-4CA5-A093-1C6650243F6A}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {321A53F3-A681-4CA5-A093-1C6650243F6A}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {321A53F3-A681-4CA5-A093-1C6650243F6A}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {321A53F3-A681-4CA5-A093-1C6650243F6A}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5D05F5E2-7378-4A35-B1A3-76ABEB4A71C3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5D05F5E2-7378-4A35-B1A3-76ABEB4A71C3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5D05F5E2-7378-4A35-B1A3-76ABEB4A71C3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5D05F5E2-7378-4A35-B1A3-76ABEB4A71C3}.Release|Any CPU.Build.0 = Release|Any CPU
+               {642A1B9E-1A2F-4C55-B184-E22F8C2E95B5}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {642A1B9E-1A2F-4C55-B184-E22F8C2E95B5}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {642A1B9E-1A2F-4C55-B184-E22F8C2E95B5}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {642A1B9E-1A2F-4C55-B184-E22F8C2E95B5}.Release|Any CPU.Build.0 = Release|Any CPU
+               {C315A617-25A4-447F-AA4F-0E0E7E35F919}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {C315A617-25A4-447F-AA4F-0E0E7E35F919}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {C315A617-25A4-447F-AA4F-0E0E7E35F919}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {C315A617-25A4-447F-AA4F-0E0E7E35F919}.Release|Any CPU.Build.0 = Release|Any CPU
+               {57C02AD3-1118-4982-BCE3-53158D30F4E9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {57C02AD3-1118-4982-BCE3-53158D30F4E9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {57C02AD3-1118-4982-BCE3-53158D30F4E9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {57C02AD3-1118-4982-BCE3-53158D30F4E9}.Release|Any CPU.Build.0 = Release|Any CPU
+               {FB663BC8-162E-43E7-9674-ECD2BEE82CC1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {FB663BC8-162E-43E7-9674-ECD2BEE82CC1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {FB663BC8-162E-43E7-9674-ECD2BEE82CC1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {FB663BC8-162E-43E7-9674-ECD2BEE82CC1}.Release|Any CPU.Build.0 = Release|Any CPU
+               {E8BFEFD2-AAB9-45E6-8523-1F6AEB1918A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {E8BFEFD2-AAB9-45E6-8523-1F6AEB1918A2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {E8BFEFD2-AAB9-45E6-8523-1F6AEB1918A2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {E8BFEFD2-AAB9-45E6-8523-1F6AEB1918A2}.Release|Any CPU.Build.0 = Release|Any CPU
+               {38F046A2-EEBD-4FE7-B70E-636F5DB4BBF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {38F046A2-EEBD-4FE7-B70E-636F5DB4BBF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {38F046A2-EEBD-4FE7-B70E-636F5DB4BBF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {38F046A2-EEBD-4FE7-B70E-636F5DB4BBF3}.Release|Any CPU.Build.0 = Release|Any CPU
+               {ACF5E339-FB52-48E0-A859-2CE75756DFE8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {ACF5E339-FB52-48E0-A859-2CE75756DFE8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {ACF5E339-FB52-48E0-A859-2CE75756DFE8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {ACF5E339-FB52-48E0-A859-2CE75756DFE8}.Release|Any CPU.Build.0 = Release|Any CPU
+               {03B29131-9D1A-4446-92F2-237F9EF70C5C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {03B29131-9D1A-4446-92F2-237F9EF70C5C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {03B29131-9D1A-4446-92F2-237F9EF70C5C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {03B29131-9D1A-4446-92F2-237F9EF70C5C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {5327CF02-204D-45CD-A68D-3D836470E439}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {5327CF02-204D-45CD-A68D-3D836470E439}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {5327CF02-204D-45CD-A68D-3D836470E439}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {5327CF02-204D-45CD-A68D-3D836470E439}.Release|Any CPU.Build.0 = Release|Any CPU
+               {BA0C64F1-3762-437D-8B58-75F68A5B4E7E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {BA0C64F1-3762-437D-8B58-75F68A5B4E7E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {BA0C64F1-3762-437D-8B58-75F68A5B4E7E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {BA0C64F1-3762-437D-8B58-75F68A5B4E7E}.Release|Any CPU.Build.0 = Release|Any CPU
+               {44647FAA-F785-44DE-B6B2-ABC2B9768233}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {44647FAA-F785-44DE-B6B2-ABC2B9768233}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {44647FAA-F785-44DE-B6B2-ABC2B9768233}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {44647FAA-F785-44DE-B6B2-ABC2B9768233}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D835F3A9-C4FE-4162-8AB5-DC26D06AC81F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D835F3A9-C4FE-4162-8AB5-DC26D06AC81F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D835F3A9-C4FE-4162-8AB5-DC26D06AC81F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D835F3A9-C4FE-4162-8AB5-DC26D06AC81F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {66B88E44-F7DA-4C83-B028-A49D4D3EBD16}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {66B88E44-F7DA-4C83-B028-A49D4D3EBD16}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {66B88E44-F7DA-4C83-B028-A49D4D3EBD16}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {66B88E44-F7DA-4C83-B028-A49D4D3EBD16}.Release|Any CPU.Build.0 = Release|Any CPU
+               {8C71A924-2561-434B-A792-2F84ABA1C0C2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {8C71A924-2561-434B-A792-2F84ABA1C0C2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {8C71A924-2561-434B-A792-2F84ABA1C0C2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {8C71A924-2561-434B-A792-2F84ABA1C0C2}.Release|Any CPU.Build.0 = Release|Any CPU
+               {ACA10642-1D5B-443D-99BE-65C31491C54F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {ACA10642-1D5B-443D-99BE-65C31491C54F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {ACA10642-1D5B-443D-99BE-65C31491C54F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {ACA10642-1D5B-443D-99BE-65C31491C54F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B2272696-96AA-4638-B17C-60A4BA37CA0E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B2272696-96AA-4638-B17C-60A4BA37CA0E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B2272696-96AA-4638-B17C-60A4BA37CA0E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B2272696-96AA-4638-B17C-60A4BA37CA0E}.Release|Any CPU.Build.0 = Release|Any CPU
+               {A950C3AB-D62D-4B20-BFB8-5671DE20E535}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {A950C3AB-D62D-4B20-BFB8-5671DE20E535}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {A950C3AB-D62D-4B20-BFB8-5671DE20E535}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {A950C3AB-D62D-4B20-BFB8-5671DE20E535}.Release|Any CPU.Build.0 = Release|Any CPU
+               {257D35DE-7F06-42BA-B82E-734991FFE949}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {257D35DE-7F06-42BA-B82E-734991FFE949}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {257D35DE-7F06-42BA-B82E-734991FFE949}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {257D35DE-7F06-42BA-B82E-734991FFE949}.Release|Any CPU.Build.0 = Release|Any CPU
+               {52B1E1ED-1F77-4AEC-9CB2-141B8795949F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {52B1E1ED-1F77-4AEC-9CB2-141B8795949F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {52B1E1ED-1F77-4AEC-9CB2-141B8795949F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {52B1E1ED-1F77-4AEC-9CB2-141B8795949F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {E072B33B-F3C5-4B2F-ABAA-1339CF716143}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {E072B33B-F3C5-4B2F-ABAA-1339CF716143}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {E072B33B-F3C5-4B2F-ABAA-1339CF716143}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {E072B33B-F3C5-4B2F-ABAA-1339CF716143}.Release|Any CPU.Build.0 = Release|Any CPU
+               {59253F15-7E2A-483D-8214-58F03681A3B6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {59253F15-7E2A-483D-8214-58F03681A3B6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {59253F15-7E2A-483D-8214-58F03681A3B6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {59253F15-7E2A-483D-8214-58F03681A3B6}.Release|Any CPU.Build.0 = Release|Any CPU
+               {7DEADBAC-1F4D-4799-8174-01E175C869FC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {7DEADBAC-1F4D-4799-8174-01E175C869FC}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {7DEADBAC-1F4D-4799-8174-01E175C869FC}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {7DEADBAC-1F4D-4799-8174-01E175C869FC}.Release|Any CPU.Build.0 = Release|Any CPU
+               {B0078000-EF01-4AA3-B5DD-47145B4527EE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {B0078000-EF01-4AA3-B5DD-47145B4527EE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {B0078000-EF01-4AA3-B5DD-47145B4527EE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {B0078000-EF01-4AA3-B5DD-47145B4527EE}.Release|Any CPU.Build.0 = Release|Any CPU
+               {4FB9199D-D57E-4007-AA72-0200296AE55F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {4FB9199D-D57E-4007-AA72-0200296AE55F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {4FB9199D-D57E-4007-AA72-0200296AE55F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {4FB9199D-D57E-4007-AA72-0200296AE55F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D32B01EF-8E8D-41C1-848D-6DAEAA3FCA6C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D32B01EF-8E8D-41C1-848D-6DAEAA3FCA6C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D32B01EF-8E8D-41C1-848D-6DAEAA3FCA6C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D32B01EF-8E8D-41C1-848D-6DAEAA3FCA6C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {6B9993FC-E28D-4D55-8F96-C8A35B2BC6E7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {6B9993FC-E28D-4D55-8F96-C8A35B2BC6E7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {6B9993FC-E28D-4D55-8F96-C8A35B2BC6E7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {6B9993FC-E28D-4D55-8F96-C8A35B2BC6E7}.Release|Any CPU.Build.0 = Release|Any CPU
+               {ED867AC1-079C-4B5E-ADF9-E7722053B360}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {ED867AC1-079C-4B5E-ADF9-E7722053B360}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {ED867AC1-079C-4B5E-ADF9-E7722053B360}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {ED867AC1-079C-4B5E-ADF9-E7722053B360}.Release|Any CPU.Build.0 = Release|Any CPU
+               {FD725431-CB26-466D-BD55-C739485A50C9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {FD725431-CB26-466D-BD55-C739485A50C9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {FD725431-CB26-466D-BD55-C739485A50C9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {FD725431-CB26-466D-BD55-C739485A50C9}.Release|Any CPU.Build.0 = Release|Any CPU
+               {12527E95-60D3-4A66-91C6-7F8031519299}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {12527E95-60D3-4A66-91C6-7F8031519299}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {12527E95-60D3-4A66-91C6-7F8031519299}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {12527E95-60D3-4A66-91C6-7F8031519299}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D237CE6E-EA8F-4E8E-8413-295B27714AC6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D237CE6E-EA8F-4E8E-8413-295B27714AC6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D237CE6E-EA8F-4E8E-8413-295B27714AC6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D237CE6E-EA8F-4E8E-8413-295B27714AC6}.Release|Any CPU.Build.0 = Release|Any CPU
+               {FA920637-C202-4E75-AC0F-1A8DBD631DF1}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {FA920637-C202-4E75-AC0F-1A8DBD631DF1}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {FA920637-C202-4E75-AC0F-1A8DBD631DF1}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {FA920637-C202-4E75-AC0F-1A8DBD631DF1}.Release|Any CPU.Build.0 = Release|Any CPU
+               {8CCE7044-3466-4599-B09E-9F8E0C2F4614}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {8CCE7044-3466-4599-B09E-9F8E0C2F4614}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {8CCE7044-3466-4599-B09E-9F8E0C2F4614}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {8CCE7044-3466-4599-B09E-9F8E0C2F4614}.Release|Any CPU.Build.0 = Release|Any CPU
+               {DCD2613C-B1A0-489B-BCA1-79BEBB9B9541}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {DCD2613C-B1A0-489B-BCA1-79BEBB9B9541}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {DCD2613C-B1A0-489B-BCA1-79BEBB9B9541}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {DCD2613C-B1A0-489B-BCA1-79BEBB9B9541}.Release|Any CPU.Build.0 = Release|Any CPU
+               {3A3DAEC2-3DF4-4968-A191-8D6F207ABA5E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {3A3DAEC2-3DF4-4968-A191-8D6F207ABA5E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {3A3DAEC2-3DF4-4968-A191-8D6F207ABA5E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {3A3DAEC2-3DF4-4968-A191-8D6F207ABA5E}.Release|Any CPU.Build.0 = Release|Any CPU
+               {78B1A752-432B-4764-9E63-E95CCB23554F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {78B1A752-432B-4764-9E63-E95CCB23554F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {78B1A752-432B-4764-9E63-E95CCB23554F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {78B1A752-432B-4764-9E63-E95CCB23554F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {612FEFDB-12FA-4441-9094-236B05D645A4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {612FEFDB-12FA-4441-9094-236B05D645A4}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {612FEFDB-12FA-4441-9094-236B05D645A4}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {612FEFDB-12FA-4441-9094-236B05D645A4}.Release|Any CPU.Build.0 = Release|Any CPU
+               {3CB8E3C0-0EFA-4AB3-9F60-02DC274F77F8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {3CB8E3C0-0EFA-4AB3-9F60-02DC274F77F8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {3CB8E3C0-0EFA-4AB3-9F60-02DC274F77F8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {3CB8E3C0-0EFA-4AB3-9F60-02DC274F77F8}.Release|Any CPU.Build.0 = Release|Any CPU
+               {69D00FEC-59AA-43A0-90AD-87F400B8613C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {69D00FEC-59AA-43A0-90AD-87F400B8613C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {69D00FEC-59AA-43A0-90AD-87F400B8613C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {69D00FEC-59AA-43A0-90AD-87F400B8613C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {3E3DE804-DF6C-43D0-9DFC-13C7FFD949CA}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {3E3DE804-DF6C-43D0-9DFC-13C7FFD949CA}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {3E3DE804-DF6C-43D0-9DFC-13C7FFD949CA}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {3E3DE804-DF6C-43D0-9DFC-13C7FFD949CA}.Release|Any CPU.Build.0 = Release|Any CPU
+               {4391CB6E-F09B-4D13-BA34-547E15FA7847}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {4391CB6E-F09B-4D13-BA34-547E15FA7847}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {4391CB6E-F09B-4D13-BA34-547E15FA7847}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {4391CB6E-F09B-4D13-BA34-547E15FA7847}.Release|Any CPU.Build.0 = Release|Any CPU
+               {76A06DA3-F3B5-498C-9D75-72F325BB6656}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {76A06DA3-F3B5-498C-9D75-72F325BB6656}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {76A06DA3-F3B5-498C-9D75-72F325BB6656}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {76A06DA3-F3B5-498C-9D75-72F325BB6656}.Release|Any CPU.Build.0 = Release|Any CPU
+               {93602011-38AA-46AC-8203-571D620A228C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {93602011-38AA-46AC-8203-571D620A228C}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {93602011-38AA-46AC-8203-571D620A228C}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {93602011-38AA-46AC-8203-571D620A228C}.Release|Any CPU.Build.0 = Release|Any CPU
+               {25CAFA51-9FE0-43AD-A642-B3D59BE2B377}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {25CAFA51-9FE0-43AD-A642-B3D59BE2B377}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {25CAFA51-9FE0-43AD-A642-B3D59BE2B377}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {25CAFA51-9FE0-43AD-A642-B3D59BE2B377}.Release|Any CPU.Build.0 = Release|Any CPU
+               {7E28A830-EB3C-48E3-B0FB-6DDAAF698115}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {7E28A830-EB3C-48E3-B0FB-6DDAAF698115}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {7E28A830-EB3C-48E3-B0FB-6DDAAF698115}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {7E28A830-EB3C-48E3-B0FB-6DDAAF698115}.Release|Any CPU.Build.0 = Release|Any CPU
+               {8A516908-7CA0-40A7-86DD-0BEE1F4496C6}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {8A516908-7CA0-40A7-86DD-0BEE1F4496C6}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {8A516908-7CA0-40A7-86DD-0BEE1F4496C6}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {8A516908-7CA0-40A7-86DD-0BEE1F4496C6}.Release|Any CPU.Build.0 = Release|Any CPU
+               {8B85F71C-81E2-4732-8A85-CBBFA8E09FF3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {8B85F71C-81E2-4732-8A85-CBBFA8E09FF3}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {8B85F71C-81E2-4732-8A85-CBBFA8E09FF3}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {8B85F71C-81E2-4732-8A85-CBBFA8E09FF3}.Release|Any CPU.Build.0 = Release|Any CPU
+               {503D43D5-65AF-401A-9D50-53B514724152}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {503D43D5-65AF-401A-9D50-53B514724152}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {503D43D5-65AF-401A-9D50-53B514724152}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {503D43D5-65AF-401A-9D50-53B514724152}.Release|Any CPU.Build.0 = Release|Any CPU
+               {DAE62F67-EE88-4192-8CB8-314E9E955BE9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {DAE62F67-EE88-4192-8CB8-314E9E955BE9}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {DAE62F67-EE88-4192-8CB8-314E9E955BE9}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {DAE62F67-EE88-4192-8CB8-314E9E955BE9}.Release|Any CPU.Build.0 = Release|Any CPU
+               {F7C83E4F-C1C4-4939-8BA3-3EF6E3631E08}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {F7C83E4F-C1C4-4939-8BA3-3EF6E3631E08}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {F7C83E4F-C1C4-4939-8BA3-3EF6E3631E08}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {F7C83E4F-C1C4-4939-8BA3-3EF6E3631E08}.Release|Any CPU.Build.0 = Release|Any CPU
+               {DCCC3618-803B-4492-A968-010E2C0851E8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {DCCC3618-803B-4492-A968-010E2C0851E8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {DCCC3618-803B-4492-A968-010E2C0851E8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {DCCC3618-803B-4492-A968-010E2C0851E8}.Release|Any CPU.Build.0 = Release|Any CPU
+               {71A04260-D8F6-4E97-898D-5F3D5A2F3D94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {71A04260-D8F6-4E97-898D-5F3D5A2F3D94}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {71A04260-D8F6-4E97-898D-5F3D5A2F3D94}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {71A04260-D8F6-4E97-898D-5F3D5A2F3D94}.Release|Any CPU.Build.0 = Release|Any CPU
+               {496CFCD3-5F5A-46D1-BD8F-6642BD4E61D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {496CFCD3-5F5A-46D1-BD8F-6642BD4E61D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {496CFCD3-5F5A-46D1-BD8F-6642BD4E61D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {496CFCD3-5F5A-46D1-BD8F-6642BD4E61D2}.Release|Any CPU.Build.0 = Release|Any CPU
+               {92EBF79E-AB94-4543-B130-6FEE6D0B3526}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {92EBF79E-AB94-4543-B130-6FEE6D0B3526}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {92EBF79E-AB94-4543-B130-6FEE6D0B3526}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {92EBF79E-AB94-4543-B130-6FEE6D0B3526}.Release|Any CPU.Build.0 = Release|Any CPU
+               {49D19955-330A-4FF2-BE94-4AEAE6745EBE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {49D19955-330A-4FF2-BE94-4AEAE6745EBE}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {49D19955-330A-4FF2-BE94-4AEAE6745EBE}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {49D19955-330A-4FF2-BE94-4AEAE6745EBE}.Release|Any CPU.Build.0 = Release|Any CPU
+               {84ABC688-04BE-4F0B-9FD0-0332437C435F}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {84ABC688-04BE-4F0B-9FD0-0332437C435F}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {84ABC688-04BE-4F0B-9FD0-0332437C435F}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {84ABC688-04BE-4F0B-9FD0-0332437C435F}.Release|Any CPU.Build.0 = Release|Any CPU
+               {01D2746E-CB83-4FE7-981D-DF9B0CE33EFB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {01D2746E-CB83-4FE7-981D-DF9B0CE33EFB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {01D2746E-CB83-4FE7-981D-DF9B0CE33EFB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {01D2746E-CB83-4FE7-981D-DF9B0CE33EFB}.Release|Any CPU.Build.0 = Release|Any CPU
+               {2AEAE157-B22D-480F-B7B9-F6DF0773EF0B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {2AEAE157-B22D-480F-B7B9-F6DF0773EF0B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {2AEAE157-B22D-480F-B7B9-F6DF0773EF0B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {2AEAE157-B22D-480F-B7B9-F6DF0773EF0B}.Release|Any CPU.Build.0 = Release|Any CPU
+               {420CBB84-F8F6-4F77-8AE1-6B886D5DEDAB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {420CBB84-F8F6-4F77-8AE1-6B886D5DEDAB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {420CBB84-F8F6-4F77-8AE1-6B886D5DEDAB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {420CBB84-F8F6-4F77-8AE1-6B886D5DEDAB}.Release|Any CPU.Build.0 = Release|Any CPU
+               {60674A50-F2E0-4BC7-A917-8976821888ED}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {60674A50-F2E0-4BC7-A917-8976821888ED}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {60674A50-F2E0-4BC7-A917-8976821888ED}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {60674A50-F2E0-4BC7-A917-8976821888ED}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D22ABC86-1275-431C-911C-D14EE2A20FD7}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D22ABC86-1275-431C-911C-D14EE2A20FD7}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D22ABC86-1275-431C-911C-D14EE2A20FD7}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D22ABC86-1275-431C-911C-D14EE2A20FD7}.Release|Any CPU.Build.0 = Release|Any CPU
+               {15871CCA-A500-4AE3-89D7-1F3429614403}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {15871CCA-A500-4AE3-89D7-1F3429614403}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {15871CCA-A500-4AE3-89D7-1F3429614403}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {15871CCA-A500-4AE3-89D7-1F3429614403}.Release|Any CPU.Build.0 = Release|Any CPU
+               {135520B4-D83D-4726-B043-3B4FBF306F94}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {135520B4-D83D-4726-B043-3B4FBF306F94}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {135520B4-D83D-4726-B043-3B4FBF306F94}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {135520B4-D83D-4726-B043-3B4FBF306F94}.Release|Any CPU.Build.0 = Release|Any CPU
+               {DC8E3822-546F-4D5F-BEAF-61C9855FF50B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {DC8E3822-546F-4D5F-BEAF-61C9855FF50B}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {DC8E3822-546F-4D5F-BEAF-61C9855FF50B}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {DC8E3822-546F-4D5F-BEAF-61C9855FF50B}.Release|Any CPU.Build.0 = Release|Any CPU
+               {427F59C0-5770-4C73-83B0-F445303C26CB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {427F59C0-5770-4C73-83B0-F445303C26CB}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {427F59C0-5770-4C73-83B0-F445303C26CB}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {427F59C0-5770-4C73-83B0-F445303C26CB}.Release|Any CPU.Build.0 = Release|Any CPU
+               {19AC03F2-0198-4512-BCFD-7CBB3129F9D2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {19AC03F2-0198-4512-BCFD-7CBB3129F9D2}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {19AC03F2-0198-4512-BCFD-7CBB3129F9D2}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {19AC03F2-0198-4512-BCFD-7CBB3129F9D2}.Release|Any CPU.Build.0 = Release|Any CPU
+               {462A56EE-6371-46F8-9B83-18AFDEEF4BAD}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {462A56EE-6371-46F8-9B83-18AFDEEF4BAD}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {462A56EE-6371-46F8-9B83-18AFDEEF4BAD}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {462A56EE-6371-46F8-9B83-18AFDEEF4BAD}.Release|Any CPU.Build.0 = Release|Any CPU
+               {3A2CEA44-B631-40CB-B1B5-001AEC0C825E}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {3A2CEA44-B631-40CB-B1B5-001AEC0C825E}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {3A2CEA44-B631-40CB-B1B5-001AEC0C825E}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {3A2CEA44-B631-40CB-B1B5-001AEC0C825E}.Release|Any CPU.Build.0 = Release|Any CPU
+               {BA3136DD-E843-4F57-8FBB-1782D3D08BC8}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {BA3136DD-E843-4F57-8FBB-1782D3D08BC8}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {BA3136DD-E843-4F57-8FBB-1782D3D08BC8}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {BA3136DD-E843-4F57-8FBB-1782D3D08BC8}.Release|Any CPU.Build.0 = Release|Any CPU
+               {01B02BFF-0DC3-4265-BFAA-EDE405950796}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {01B02BFF-0DC3-4265-BFAA-EDE405950796}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {01B02BFF-0DC3-4265-BFAA-EDE405950796}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {01B02BFF-0DC3-4265-BFAA-EDE405950796}.Release|Any CPU.Build.0 = Release|Any CPU
+               {921F19B8-7276-446C-B096-A29AAAB83E12}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {921F19B8-7276-446C-B096-A29AAAB83E12}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {921F19B8-7276-446C-B096-A29AAAB83E12}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {921F19B8-7276-446C-B096-A29AAAB83E12}.Release|Any CPU.Build.0 = Release|Any CPU
+               {63E373FB-CE4B-4F7B-A421-5CE8ED7BD851}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {63E373FB-CE4B-4F7B-A421-5CE8ED7BD851}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {63E373FB-CE4B-4F7B-A421-5CE8ED7BD851}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {63E373FB-CE4B-4F7B-A421-5CE8ED7BD851}.Release|Any CPU.Build.0 = Release|Any CPU
+               {D7789C48-C33A-4FE5-BD42-4DBAB2850796}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+               {D7789C48-C33A-4FE5-BD42-4DBAB2850796}.Debug|Any CPU.Build.0 = Debug|Any CPU
+               {D7789C48-C33A-4FE5-BD42-4DBAB2850796}.Release|Any CPU.ActiveCfg = Release|Any CPU
+               {D7789C48-C33A-4FE5-BD42-4DBAB2850796}.Release|Any CPU.Build.0 = Release|Any CPU
        EndGlobalSection
        GlobalSection(SolutionProperties) = preSolution
                HideSolutionNode = FALSE
index 92cb59774889432c5e906a25e88f7ac5755f082e..f6d49c64944f4c1ac6027ff62c8cf19a94238f93 100755 (executable)
@@ -37,7 +37,7 @@ if [[ -n "${ghprbPullId}" ]] && [[ ${label} == w* ]];
     # we don't run the test suite on Windows PRs, we just ensure the build succeeds, so end here
 fi
 ${TESTCMD} --label=mini --timeout=5m make -w -C mono/mini -k check
-${TESTCMD} --label=runtime --timeout=120m make -w -C mono/tests -k test-wrench V=1 CI=1
+${TESTCMD} --label=runtime --timeout=160m make -w -C mono/tests -k test-wrench V=1 CI=1
 ${TESTCMD} --label=corlib --timeout=30m make -w -C mcs/class/corlib run-test
 ${TESTCMD} --label=verify --timeout=15m make -w -C runtime mcs-compileall
 ${TESTCMD} --label=profiler --timeout=30m make -w -C mono/profiler -k check
index d4e07fd8965d5796ac61c0cf557c18c12a2e1d11..b4c6b68c22369b55c3ffcb20899241328b3287f5 100644 (file)
@@ -11,7 +11,7 @@ MONO_OPTIONS_SRC = $(SRC_ROOT)/mcs/class/Mono.Options/Mono.Options/Options.cs
 
 .stamp-clone:
        @if [ ! -d $(CPPSHARP_DIR) ]; then \
-               git clone git@github.com:xamarin/CppSharpBinaries.git $(CPPSHARP_DIR) && touch $@; \
+               git clone git://github.com/xamarin/CppSharpBinaries.git $(CPPSHARP_DIR) && touch $@; \
        fi
 
 MonoAotOffsetsDumper.exe: .stamp-clone MonoAotOffsetsDumper.cs $(MONO_OPTIONS_SRC)