diff options
author | Bryan Arant <bryanar@microsoft.com> | 2015-11-15 23:13:48 -0800 |
---|---|---|
committer | Bryan Arant <bryanar@microsoft.com> | 2015-11-15 23:13:48 -0800 |
commit | ea94ba2bae3c3934b1158458dd45f0a93f6eb5dc (patch) | |
tree | b24f38009bc546917db74e72c9384160ca431a96 /tests/src/Loader/classloader | |
parent | f8b864158f4e674791706feda765bb90c9003b22 (diff) | |
download | coreclr-ea94ba2bae3c3934b1158458dd45f0a93f6eb5dc.tar.gz coreclr-ea94ba2bae3c3934b1158458dd45f0a93f6eb5dc.tar.bz2 coreclr-ea94ba2bae3c3934b1158458dd45f0a93f6eb5dc.zip |
Porting loader tests from internal legacy tree.
Diffstat (limited to 'tests/src/Loader/classloader')
130 files changed, 23637 insertions, 0 deletions
diff --git a/tests/src/Loader/classloader/explicitlayout/misc/app.config b/tests/src/Loader/classloader/explicitlayout/misc/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/misc/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/misc/derivedExplicitClass.csproj b/tests/src/Loader/classloader/explicitlayout/misc/derivedExplicitClass.csproj new file mode 100644 index 0000000000..27819bdc90 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/misc/derivedExplicitClass.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="derivedexplicitclass.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/misc/derivedexplicitclass.cs b/tests/src/Loader/classloader/explicitlayout/misc/derivedexplicitclass.cs new file mode 100644 index 0000000000..af5b77c9a7 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/misc/derivedexplicitclass.cs @@ -0,0 +1,40 @@ +using System; +using System.Runtime.InteropServices; + +[StructLayout(LayoutKind.Explicit)] +// non-generic base class +public class Base +{ +} + +// ... AND subclass is explicit +[StructLayout(LayoutKind.Explicit)] +public class Sub : Base +{ + // and field is at offset 8 + [FieldOffset(8)]public object Fld1; +} + +public class Test +{ + public static int Main() + { + try + { + new Sub(); + Console.WriteLine("PASS"); + + return 100; + } + catch (TypeLoadException e) + { + Console.WriteLine("FAIL: Caught TypeLoadException: " + e.Message); + return 101; + } + catch (Exception e) + { + Console.WriteLine("FAIL: Caught unexpected exception: " + e.Message); + return 101; + } + } +} diff --git a/tests/src/Loader/classloader/explicitlayout/misc/project.json b/tests/src/Loader/classloader/explicitlayout/misc/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/misc/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/misc/project.lock.json b/tests/src/Loader/classloader/explicitlayout/misc/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/misc/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/app.config b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case1.cs b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case1.cs new file mode 100644 index 0000000000..aacfbe63b6 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case1.cs @@ -0,0 +1,72 @@ +// struct +// int +// struct +// objref + +using System; +using System.Runtime.InteropServices; + +public class Foo{ + public int i=42; + public int getI(){return i;} +} +public class Bar{ + private int i=1; + public int getI(){return i;} +} + +public struct WrapFoo { public Foo o; } +public struct WrapBar { public Bar o; } + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion1 { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public WrapBar o; +} + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion2 { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public WrapFoo o; +} + +public class Test{ + + public static int Main(string[] args){ + bool caught=false; + try{ + Go(); + } + catch(TypeLoadException e){ + caught=true; + Console.WriteLine(e); + } + if(caught){ + Console.WriteLine("PASS: caught expected exception"); + return 100; + } + else{ + Console.WriteLine("FAIL: was allowed to overlap an objref with a scalar."); + return 101; + } + } + public static void Go(){ + MyUnion2 u2; + MyUnion1 u1; + + u1.i = 0; + u1.o.o = new Bar(); + + Console.WriteLine("BEFORE: u1.o.o.getI(): {0}. (EXPECT 1)",u1.o.o.getI()); + + u2.i = 0; + u2.o.o = new Foo(); + + // write the Foo's objref value now in u2.o into the int field of u1, + // thereby overwriting the Bar objref that had been in u1.o. + u1.i = u2.i; + + // If u1.o.o.getI() returns 42, that means that we were able to write to a private + // member variable of Bar, a huge security problem! + int curI = u1.o.o.getI(); + Console.WriteLine("AFTER: u1.o.o.getI(): {0}. (BUG if 42)",curI); + } +} diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case1.csproj b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case1.csproj new file mode 100644 index 0000000000..e81e448bcf --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case1.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="case1.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case11.cs b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case11.cs new file mode 100644 index 0000000000..22624b8a74 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case11.cs @@ -0,0 +1,85 @@ +// here, the overlapping int only partial overlaps with an objref in the nested struct. +// +// struct +// [1] int (partial overlap) +// [4] struct +// [0] int +// [4] objref + +using System; +using System.Runtime.InteropServices; + +public class Foo{ + public int i=42; + public int getI(){return i;} +} +public class Bar{ + private int i=1; + public int getI(){return i;} +} + +[ StructLayout( LayoutKind.Explicit )] +public struct WrapFoo { + [FieldOffset(1)] public int i; // partial overlap +[FieldOffset(4)] public Foo o; +} + +[ StructLayout( LayoutKind.Explicit )] +public struct WrapBar { + [FieldOffset(1)] public int i; //partial overlap +[FieldOffset(4)] public Bar o; +} + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion1 { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public WrapBar o; +} + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion2 { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public WrapFoo o; +} + +public class Test{ + + public static int Main(string[] args){ + bool caught=false; + try{ + Go(); + } + catch(TypeLoadException e){ + caught=true; + Console.WriteLine(e); + } + + if(caught){ + Console.WriteLine("PASS: caught expected exception"); + return 100; + } + else{ + Console.WriteLine("FAIL: was allowed to overlap an objref with a scalar."); + return 101; + } + } + public static void Go(){ + MyUnion2 u2; + MyUnion1 u1; + + u1.i = 0; + u1.o.o = new Bar(); + + Console.WriteLine("BEFORE: u1.o.o.getI(): {0}. (EXPECT 1)",u1.o.o.getI()); + + u2.i = 0; + u2.o.o = new Foo(); + + // write the Foo's objref value now in u2.o into the int field of u1, + // thereby overwriting the Bar objref that had been in u1.o. + u1.i = u2.i; + + // If u1.o.o.getI() returns 42, that means that we were able to write to a private + // member variable of Bar, a huge security problem! + int curI = u1.o.o.getI(); + Console.WriteLine("AFTER: u1.o.o.getI(): {0}. (BUG if 42)",curI); + } +} diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case11.csproj b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case11.csproj new file mode 100644 index 0000000000..c1b2306c8a --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case11.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="case11.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case12.cs b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case12.cs new file mode 100644 index 0000000000..8d12dc4892 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case12.cs @@ -0,0 +1,37 @@ +// super simple case. forget wrapper structs, just overlap an int and an objref! +using System; +using System.Runtime.InteropServices; + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion1 { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public Object o; +} + +public class Test{ + + public static int Main(string[] args){ + bool caught=false; + try{ + Go(); + } + catch(TypeLoadException e){ + caught=true; + Console.WriteLine(e); + } + if(caught){ + Console.WriteLine("PASS: caught expected exception"); + return 100; + } + else{ + Console.WriteLine("FAIL: was allowed to overlap an objref with a scalar."); + return 101; + } + } + public static void Go(){ + MyUnion1 u1; + + u1.i = 0; + u1.o = new Object(); + // that's enough. if we didn't throw a TypeLoadException, the test case will fail. + } +} diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case12.csproj b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case12.csproj new file mode 100644 index 0000000000..d5e625de4c --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case12.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="case12.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case14.cs b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case14.cs new file mode 100644 index 0000000000..c8411800f3 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case14.cs @@ -0,0 +1,74 @@ +// struct +// enum +// struct +// objref + +using System; +using System.Runtime.InteropServices; + +public enum MyEnum {nil, alpha, beta}; + +public class Foo{ + public MyEnum i=MyEnum.alpha; + public MyEnum getI(){return i;} +} +public class Bar{ + private MyEnum i=MyEnum.beta; + public MyEnum getI(){return i;} +} + +public struct WrapFoo { public Foo o; } +public struct WrapBar { public Bar o; } + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion1 { + [ FieldOffset( 0 )] public MyEnum i; + [ FieldOffset( 0 )] public WrapBar o; +} + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion2 { + [ FieldOffset( 0 )] public MyEnum i; + [ FieldOffset( 0 )] public WrapFoo o; +} + +public class Test{ + + public static int Main(string[] args){ + bool caught=false; + try{ + Go(); + } + catch(TypeLoadException e){ + caught=true; + Console.WriteLine(e); + } + if(caught){ + Console.WriteLine("PASS: caught expected exception"); + return 100; + } + else{ + Console.WriteLine("FAIL: was allowed to overlap an objref with a scalar."); + return 101; + } + } + public static void Go(){ + MyUnion2 u2; + MyUnion1 u1; + + u1.i = MyEnum.nil; + u1.o.o = new Bar(); + + Console.WriteLine("BEFORE: u1.o.o.getI(): {0}. (EXPECT 1)",u1.o.o.getI()); + + u2.i = MyEnum.nil; + u2.o.o = new Foo(); + + // write the Foo's objref value now in u2.o into the int field of u1, + // thereby overwriting the Bar objref that had been in u1.o. + u1.i = u2.i; + + // If u1.o.o.getI() returns 42, that means that we were able to write to a private + // member variable of Bar, a huge security problem! + MyEnum curI = u1.o.o.getI(); + Console.WriteLine("AFTER: u1.o.o.getI(): {0}. (BUG if 42)",curI); + } +} diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case14.csproj b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case14.csproj new file mode 100644 index 0000000000..08289ac444 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case14.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="case14.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case15.cs b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case15.cs new file mode 100644 index 0000000000..e08c3ed462 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case15.cs @@ -0,0 +1,76 @@ +// struct +// int +// struct +// objref (delegate) + +using System; +using System.Runtime.InteropServices; + +public class Foo{ + public int i=42; + public int getI(){return i;} +} +public class Bar{ + private int i=1; + public int getI(){return i;} +} + +public delegate void FooDelegate(Object o); +public delegate void BarDelegate(Object o); + +public struct WrapFoo { public FooDelegate o; } +public struct WrapBar { public BarDelegate o; } + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion1 { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public WrapBar o; +} + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion2 { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public WrapFoo o; +} + +public class Test{ + + public static void MyCallback(Object o){ + return; + } + + public static int Main(string[] args){ + bool caught=false; + try{ + Go(); + } + catch(TypeLoadException e){ + caught=true; + Console.WriteLine(e); + } + if(caught){ + Console.WriteLine("PASS: caught expected exception"); + return 100; + } + else{ + Console.WriteLine("FAIL: was allowed to overlap an objref with a scalar."); + return 101; + } + } + public static void Go(){ + MyUnion2 u2; + MyUnion1 u1; + + u1.i = 0; + u1.o.o = new BarDelegate(MyCallback); + + u2.i = 0; + u2.o.o = new FooDelegate(MyCallback); + + // write the Foo's objref value now in u2.o into the int field of u1, + // thereby overwriting the Bar objref that had been in u1.o. + u1.i = u2.i; + + // Not doing further checks on delegate specific function calls. Unless the bug regresses, + // the test case should never reach this point. Even it does, the lack of TypeLoadException + // and the mere execution and returning of this method will indicate failure for the test. + } +} diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case15.csproj b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case15.csproj new file mode 100644 index 0000000000..7c300cf1bd --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case15.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="case15.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case2.cs b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case2.cs new file mode 100644 index 0000000000..5d7bad7ac5 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case2.cs @@ -0,0 +1,56 @@ +// Same as case1, but exercises a different error path by going ahead and trying to use +// the invalid type. That code path should never be reached, however, because the bug fix +// is "fail-fast". + +// Before this bug was fixed, this test would result in a Fatal Execution Engine error. +// Now, it should produce a TypeLoadException long before it gets to the point where +// the Fatal Execution Engine error would have occurred. +// mwilk 8/15/2003. + +using System; +using System.Runtime.InteropServices; + +public struct Wrapper { public Object o; } + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public Wrapper o; +} + +public class Test{ + + public static int Main(string[] args){ + bool caught=false; + try{ + Go(); + } + catch(TypeLoadException e){ + caught=true; + Console.WriteLine(e); + } + if(caught){ + Console.WriteLine("PASS: caught expected exception"); + return 100; + } + else{ + Console.WriteLine("FAIL: was allowed to overlap an objref with a scalar."); + return 101; + } + } + public static void Go(){ + MyUnion u; + u.i = 1; + u.o.o = null; + + Console.WriteLine("u.i = {0}", u.i); // prints 0, showing the null assigned to the object ref overwrote the 1 assigned to the int. + + u.o.o = new object(); + Console.WriteLine("u.i = {0}", u.i); // prints some large number, now that the object instance has overwritten the int again + + Console.WriteLine("u.o.o = {0}", u.o.o); // prints System.Object + u.i = 1000; + Console.WriteLine("u.i = {0}", u.i); // prints 1000 now that the int have overwritten 1000 + + Console.WriteLine("u.o.o = {0}", u.o.o); // bang! since the object is now invalid, having overwritten the start with 1000. + } +} diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case2.csproj b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case2.csproj new file mode 100644 index 0000000000..e1a418996d --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case2.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="case2.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case3.cs b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case3.cs new file mode 100644 index 0000000000..67f4b1b439 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case3.cs @@ -0,0 +1,75 @@ +// struct +// int +// struct +// struct +// objref +using System; +using System.Runtime.InteropServices; + +public class Foo{ + public int i=42; + public int getI(){return i;} +} +public class Bar{ + private int i=1; + public int getI(){return i;} +} + +public struct WrapFoo { public Foo o; } +public struct WrapBar { public Bar o; } +public struct WrapWrapFoo { public WrapFoo o; } +public struct WrapWrapBar { public WrapBar o; } + + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion1 { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public WrapWrapBar o; +} + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion2 { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public WrapWrapFoo o; +} + +public class Test{ + + public static int Main(string[] args){ + bool caught=false; + try{ + Go(); + } + catch(TypeLoadException e){ + caught=true; + Console.WriteLine(e); + } + if(caught){ + Console.WriteLine("PASS: caught expected exception"); + return 100; + } + else{ + Console.WriteLine("FAIL: was allowed to overlap an objref with a scalar."); + return 101; + } + } + public static void Go(){ + MyUnion1 u1; + MyUnion2 u2; + + u1.i = 0; + u1.o.o.o = new Bar(); + + Console.WriteLine("BEFORE: u1.o.o.o.getI(): {0}. (EXPECT 1)",u1.o.o.o.getI()); + + u2.i = 0; + u2.o.o.o = new Foo(); + + // write the Foo's objref value now in u2.o into the int field of u1, + // thereby overwriting the Bar objref that had been in u1.o. + u1.i = u2.i; + + // If u1.o.o.o.getI() returns 42, that means that we were able to write to a private + // member variable of Bar, a huge security problem! + int curI = u1.o.o.o.getI(); + Console.WriteLine("AFTER: u1.o.o.o.getI(): {0}. (BUG if 42)",curI); + } +} diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case3.csproj b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case3.csproj new file mode 100644 index 0000000000..974443016b --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case3.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="case3.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case4.cs b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case4.cs new file mode 100644 index 0000000000..aaae087b52 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case4.cs @@ -0,0 +1,74 @@ +// like case1, except that the union type is a class rather than a struct. +// +// class +// int +// struct +// objref + +using System; +using System.Runtime.InteropServices; + +public class Foo{ + public int i=42; + public int getI(){return i;} +} +public class Bar{ + private int i=1; + public int getI(){return i;} +} + +public struct WrapFoo { public Foo o; } +public struct WrapBar { public Bar o; } + +[ StructLayout( LayoutKind.Explicit )] public class MyUnion1 { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public WrapBar o; +} + +[ StructLayout( LayoutKind.Explicit )] public class MyUnion2 { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public WrapFoo o; +} + +public class Test{ + + public static int Main(string[] args){ + bool caught=false; + try{ + Go(); + } + catch(TypeLoadException e){ + caught=true; + Console.WriteLine(e); + } + if(caught){ + Console.WriteLine("PASS: caught expected exception"); + return 100; + } + else{ + Console.WriteLine("FAIL: was allowed to overlap an objref with a scalar."); + return 101; + } + } + public static void Go(){ + MyUnion2 u2 = new MyUnion2(); + MyUnion1 u1 = new MyUnion1(); + + u1.i = 0; + u1.o.o = new Bar(); + + Console.WriteLine("BEFORE: u1.o.o.getI(): {0}. (EXPECT 1)",u1.o.o.getI()); + + u2.i = 0; + u2.o.o = new Foo(); + + // write the Foo's objref value now in u2.o into the int field of u1, + // thereby overwriting the Bar objref that had been in u1.o. + u1.i = u2.i; + + // If u1.o.o.getI() returns 42, that means that we were able to write to a private + // member variable of Bar, a huge security problem! + int curI = u1.o.o.getI(); + Console.WriteLine("AFTER: u1.o.o.getI(): {0}. (BUG if 42)",curI); + } +} diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case4.csproj b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case4.csproj new file mode 100644 index 0000000000..b4cfbb70cf --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case4.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="case4.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case5.cs b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case5.cs new file mode 100644 index 0000000000..33881e0cd0 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case5.cs @@ -0,0 +1,74 @@ +// like case1, except that the order of the overlapping fields is +// struct/int, instead of int/struct. +// struct +// struct +// objref +// int + +using System; +using System.Runtime.InteropServices; + +public class Foo{ + public int i=42; + public int getI(){return i;} +} +public class Bar{ + private int i=1; + public int getI(){return i;} +} + +public struct WrapFoo { public Foo o; } +public struct WrapBar { public Bar o; } + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion1 { + [ FieldOffset( 0 )] public WrapBar o; + [ FieldOffset( 0 )] public int i; +} + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion2 { + [ FieldOffset( 0 )] public WrapFoo o; + [ FieldOffset( 0 )] public int i; +} + +public class Test{ + + public static int Main(string[] args){ + bool caught=false; + try{ + Go(); + } + catch(TypeLoadException e){ + caught=true; + Console.WriteLine(e); + } + if(caught){ + Console.WriteLine("PASS: caught expected exception"); + return 100; + } + else{ + Console.WriteLine("FAIL: was allowed to overlap an objref with a scalar."); + return 101; + } + } + public static void Go(){ + MyUnion2 u2; + MyUnion1 u1; + + u1.i = 0; + u1.o.o = new Bar(); + + Console.WriteLine("BEFORE: u1.o.o.getI(): {0}. (EXPECT 1)",u1.o.o.getI()); + + u2.i = 0; + u2.o.o = new Foo(); + + // write the Foo's objref value now in u2.o into the int field of u1, + // thereby overwriting the Bar objref that had been in u1.o. + u1.i = u2.i; + + // If u1.o.o.getI() returns 42, that means that we were able to write to a private + // member variable of Bar, a huge security problem! + int curI = u1.o.o.getI(); + Console.WriteLine("AFTER: u1.o.o.getI(): {0}. (BUG if 42)",curI); + } +} diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case5.csproj b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case5.csproj new file mode 100644 index 0000000000..085e332216 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case5.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="case5.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case6.cs b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case6.cs new file mode 100644 index 0000000000..53580c5497 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case6.cs @@ -0,0 +1,75 @@ +// like case4, except that the order of overlapping fields is reversed. +// it is struct/int instead of int/struct. +// +// class +// int +// struct +// objref + +using System; +using System.Runtime.InteropServices; + +public class Foo{ + public int i=42; + public int getI(){return i;} +} +public class Bar{ + private int i=1; + public int getI(){return i;} +} + +public struct WrapFoo { public Foo o; } +public struct WrapBar { public Bar o; } + +[ StructLayout( LayoutKind.Explicit )] public class MyUnion1 { + [ FieldOffset( 0 )] public WrapBar o; + [ FieldOffset( 0 )] public int i; +} + +[ StructLayout( LayoutKind.Explicit )] public class MyUnion2 { + [ FieldOffset( 0 )] public WrapFoo o; + [ FieldOffset( 0 )] public int i; +} + +public class Test{ + + public static int Main(string[] args){ + bool caught=false; + try{ + Go(); + } + catch(TypeLoadException e){ + caught=true; + Console.WriteLine(e); + } + if(caught){ + Console.WriteLine("PASS: caught expected exception"); + return 100; + } + else{ + Console.WriteLine("FAIL: was allowed to overlap an objref with a scalar."); + return 101; + } + } + public static void Go(){ + MyUnion2 u2 = new MyUnion2(); + MyUnion1 u1 = new MyUnion1(); + + u1.i = 0; + u1.o.o = new Bar(); + + Console.WriteLine("BEFORE: u1.o.o.getI(): {0}. (EXPECT 1)",u1.o.o.getI()); + + u2.i = 0; + u2.o.o = new Foo(); + + // write the Foo's objref value now in u2.o into the int field of u1, + // thereby overwriting the Bar objref that had been in u1.o. + u1.i = u2.i; + + // If u1.o.o.getI() returns 42, that means that we were able to write to a private + // member variable of Bar, a huge security problem! + int curI = u1.o.o.getI(); + Console.WriteLine("AFTER: u1.o.o.getI(): {0}. (BUG if 42)",curI); + } +} diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case6.csproj b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case6.csproj new file mode 100644 index 0000000000..321c2e3daf --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case6.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="case6.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case7.cs b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case7.cs new file mode 100644 index 0000000000..c465da451d --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case7.cs @@ -0,0 +1,78 @@ +// like case1 except that we have multiple instances of structs +// overlapping with the int. +// struct +// int +// struct +// objref +// struct +// objref + +using System; +using System.Runtime.InteropServices; + +public class Foo{ + public int i=42; + public int getI(){return i;} +} +public class Bar{ + private int i=1; + public int getI(){return i;} +} + +public struct WrapFoo { public Foo o; } +public struct WrapBar { public Bar o; } + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion1 { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public WrapBar o; + [ FieldOffset( 0 )] public WrapBar o2; +} + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion2 { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public WrapFoo o; + [ FieldOffset( 0 )] public WrapFoo o2; +} + +public class Test{ + + public static int Main(string[] args){ + bool caught=false; + try{ + Go(); + } + catch(TypeLoadException e){ + caught=true; + Console.WriteLine(e); + } + if(caught){ + Console.WriteLine("PASS: caught expected exception"); + return 100; + } + else{ + Console.WriteLine("FAIL: was allowed to overlap an objref with a scalar."); + return 101; + } + } + public static void Go(){ + MyUnion2 u2; + MyUnion1 u1; + + u1.i = 0; + u1.o.o = new Bar(); + + Console.WriteLine("BEFORE: u1.o.o.getI(): {0}. (EXPECT 1)",u1.o.o.getI()); + + u2.i = 0; + u2.o.o = new Foo(); + + // write the Foo's objref value now in u2.o into the int field of u1, + // thereby overwriting the Bar objref that had been in u1.o. + u1.i = u2.i; + + // If u1.o.o.getI() returns 42, that means that we were able to write to a private + // member variable of Bar, a huge security problem! + int curI = u1.o.o.getI(); + Console.WriteLine("AFTER: u1.o.o.getI(): {0}. (BUG if 42)",curI); + } +} diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case7.csproj b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case7.csproj new file mode 100644 index 0000000000..882f0afa3a --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case7.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="case7.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case8.cs b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case8.cs new file mode 100644 index 0000000000..90e6d3ece2 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case8.cs @@ -0,0 +1,79 @@ +// like case4, except that there are multiple structs overlapping with the int. +// +// class +// int +// struct +// objref +// struct +// objref + + +using System; +using System.Runtime.InteropServices; + +public class Foo{ + public int i=42; + public int getI(){return i;} +} +public class Bar{ + private int i=1; + public int getI(){return i;} +} + +public struct WrapFoo { public Foo o; } +public struct WrapBar { public Bar o; } + +[ StructLayout( LayoutKind.Explicit )] public class MyUnion1 { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public WrapBar o; + [ FieldOffset( 0 )] public WrapBar o2; +} + +[ StructLayout( LayoutKind.Explicit )] public class MyUnion2 { + [ FieldOffset( 0 )] public int i; + [ FieldOffset( 0 )] public WrapFoo o; + [ FieldOffset( 0 )] public WrapFoo o2; +} + +public class Test{ + + public static int Main(string[] args){ + bool caught=false; + try{ + Go(); + } + catch(TypeLoadException e){ + caught=true; + Console.WriteLine(e); + } + if(caught){ + Console.WriteLine("PASS: caught expected exception"); + return 100; + } + else{ + Console.WriteLine("FAIL: was allowed to overlap an objref with a scalar."); + return 101; + } + } + public static void Go(){ + MyUnion2 u2 = new MyUnion2(); + MyUnion1 u1 = new MyUnion1(); + + u1.i = 0; + u1.o.o = new Bar(); + + Console.WriteLine("BEFORE: u1.o.o.getI(): {0}. (EXPECT 1)",u1.o.o.getI()); + + u2.i = 0; + u2.o.o = new Foo(); + + // write the Foo's objref value now in u2.o into the int field of u1, + // thereby overwriting the Bar objref that had been in u1.o. + u1.i = u2.i; + + // If u1.o.o.getI() returns 42, that means that we were able to write to a private + // member variable of Bar, a huge security problem! + int curI = u1.o.o.getI(); + Console.WriteLine("AFTER: u1.o.o.getI(): {0}. (BUG if 42)",curI); + } +} diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case8.csproj b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case8.csproj new file mode 100644 index 0000000000..482b9dd250 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case8.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="case8.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case9.cs b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case9.cs new file mode 100644 index 0000000000..de93a315c3 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case9.cs @@ -0,0 +1,77 @@ +// like case1, except that the overlapping doesn't occur in the first +// "slot" of the union. +// struct +// [0] int +// [4] int +// [4] struct +// objref + +using System; +using System.Runtime.InteropServices; + +public class Foo{ + public int i=42; + public int getI(){return i;} +} +public class Bar{ + private int i=1; + public int getI(){return i;} +} + +public struct WrapFoo { public Foo o; } +public struct WrapBar { public Bar o; } + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion1 { + [ FieldOffset( 0 )] public int i2; + [ FieldOffset( 4 )] public int i; + [ FieldOffset( 4 )] public WrapBar o; +} + +[ StructLayout( LayoutKind.Explicit )] public struct MyUnion2 { + [ FieldOffset( 0 )] public int i2; + [ FieldOffset( 4 )] public int i; + [ FieldOffset( 4 )] public WrapFoo o; +} + +public class Test{ + + public static int Main(string[] args){ + bool caught=false; + try{ + Go(); + } + catch(TypeLoadException e){ + caught=true; + Console.WriteLine(e); + } + if(caught){ + Console.WriteLine("PASS: caught expected exception"); + return 100; + } + else{ + Console.WriteLine("FAIL: was allowed to overlap an objref with a scalar."); + return 101; + } + } + public static void Go(){ + MyUnion2 u2; + MyUnion1 u1; + + u1.i = 0; + u1.o.o = new Bar(); + + Console.WriteLine("BEFORE: u1.o.o.getI(): {0}. (EXPECT 1)",u1.o.o.getI()); + + u2.i = 0; + u2.o.o = new Foo(); + + // write the Foo's objref value now in u2.o into the int field of u1, + // thereby overwriting the Bar objref that had been in u1.o. + u1.i = u2.i; + + // If u1.o.o.getI() returns 42, that means that we were able to write to a private + // member variable of Bar, a huge security problem! + int curI = u1.o.o.getI(); + Console.WriteLine("AFTER: u1.o.o.getI(): {0}. (BUG if 42)",curI); + } +} diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case9.csproj b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case9.csproj new file mode 100644 index 0000000000..3398341d2d --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/case9.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="case9.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/project.json b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/project.lock.json b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/explicitlayout/objrefandnonobjrefoverlap/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/generics/regressions/vsw237932/app.config b/tests/src/Loader/classloader/generics/regressions/vsw237932/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/generics/regressions/vsw237932/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/generics/regressions/vsw237932/project.json b/tests/src/Loader/classloader/generics/regressions/vsw237932/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/generics/regressions/vsw237932/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/generics/regressions/vsw237932/project.lock.json b/tests/src/Loader/classloader/generics/regressions/vsw237932/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/generics/regressions/vsw237932/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/generics/regressions/vsw237932/repro237932.cs b/tests/src/Loader/classloader/generics/regressions/vsw237932/repro237932.cs new file mode 100644 index 0000000000..7b76edc7b7 --- /dev/null +++ b/tests/src/Loader/classloader/generics/regressions/vsw237932/repro237932.cs @@ -0,0 +1,43 @@ +// This is regression test for VSWhidbey 237932 +// The issue here was that the ThreadStatic field was previously shared for all C1<objref> types +// and so when we created C1<System.OverflowException> and C1<System.InvalidCastException> the ThreadStatic +// field got incremented to 2, which is wrong. + + + +using System; +using System.Threading; + + +public class Test +{ + public static int Main() + { + C1<System.OverflowException> cOverflow = new C1<System.OverflowException>(); + C1<System.InvalidCastException> cCast = new C1<System.InvalidCastException>(); + + + if (C1<System.OverflowException>.x == 1 && C1<System.InvalidCastException>.x == 1) + { + Console.WriteLine("PASS"); + return 100; + } + else + { + Console.WriteLine("FAIL: Excpected ThreadStatic field of both objects to be 1"); + return 101; + } + + } +} + +public class C1<T> +{ + public static int x; + + public C1() + { + x +=1; + Console.WriteLine(x); + } +} diff --git a/tests/src/Loader/classloader/generics/regressions/vsw237932/repro237932.csproj b/tests/src/Loader/classloader/generics/regressions/vsw237932/repro237932.csproj new file mode 100644 index 0000000000..3a72bd94f3 --- /dev/null +++ b/tests/src/Loader/classloader/generics/regressions/vsw237932/repro237932.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="repro237932.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/generics/regressions/vsw514968/app.config b/tests/src/Loader/classloader/generics/regressions/vsw514968/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/generics/regressions/vsw514968/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/generics/regressions/vsw514968/project.json b/tests/src/Loader/classloader/generics/regressions/vsw514968/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/generics/regressions/vsw514968/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/generics/regressions/vsw514968/project.lock.json b/tests/src/Loader/classloader/generics/regressions/vsw514968/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/generics/regressions/vsw514968/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/generics/regressions/vsw514968/vsw514968.cs b/tests/src/Loader/classloader/generics/regressions/vsw514968/vsw514968.cs new file mode 100644 index 0000000000..acb7900ab7 --- /dev/null +++ b/tests/src/Loader/classloader/generics/regressions/vsw514968/vsw514968.cs @@ -0,0 +1,42 @@ +using System; + +public class C { } + +public struct S { } + +public class GenType<T> : IComparable<GenType<T>> +#if ADD_STRUCT_CONSTRAINT + where T : struct +#endif +{ + public int CompareTo(GenType<T> to) + { + return -1; + } + + public void foo() + { + Console.WriteLine(typeof(GenType<T>).ToString() + ".foo"); + } +} + +public class cs1 +{ + public int m_i; + + public static int Main(String [] args) + { +#if ADD_STRUCT_CONSTRAINT + GenType<S> g = new GenType<S>(); + Console.WriteLine(Type.GetType("System.IComparable`1[GenType`1[S]]")); +#else + GenType<C> g = new GenType<C>(); + Console.WriteLine(Type.GetType("System.IComparable`1[GenType`1[C]]")); +#endif + g.foo(); + + Console.WriteLine("PASS"); + + return 100; + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/generics/regressions/vsw514968/vsw514968.csproj b/tests/src/Loader/classloader/generics/regressions/vsw514968/vsw514968.csproj new file mode 100644 index 0000000000..06342bf6cd --- /dev/null +++ b/tests/src/Loader/classloader/generics/regressions/vsw514968/vsw514968.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="vsw514968.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/generics/regressions/vsw524571/StaticsProblem5.csproj b/tests/src/Loader/classloader/generics/regressions/vsw524571/StaticsProblem5.csproj new file mode 100644 index 0000000000..35ffab986f --- /dev/null +++ b/tests/src/Loader/classloader/generics/regressions/vsw524571/StaticsProblem5.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="staticsproblem5.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/generics/regressions/vsw524571/app.config b/tests/src/Loader/classloader/generics/regressions/vsw524571/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/generics/regressions/vsw524571/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/generics/regressions/vsw524571/project.json b/tests/src/Loader/classloader/generics/regressions/vsw524571/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/generics/regressions/vsw524571/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/generics/regressions/vsw524571/project.lock.json b/tests/src/Loader/classloader/generics/regressions/vsw524571/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/generics/regressions/vsw524571/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/generics/regressions/vsw524571/staticsproblem5.cs b/tests/src/Loader/classloader/generics/regressions/vsw524571/staticsproblem5.cs new file mode 100644 index 0000000000..541e45dfd5 --- /dev/null +++ b/tests/src/Loader/classloader/generics/regressions/vsw524571/staticsproblem5.cs @@ -0,0 +1,68 @@ + +// the subtype here that contains a Canonical type is Node<NodeStruct<NodeSys<a[]>>> + +using System; + +public class Node<a> +{ + public static Node<a> leaf; + + static Node() + { + leaf = new Node<a>(); + Console.WriteLine("Node<A>'s .cctor ran, where A was {0}.", typeof(a)); + Console.WriteLine("Leaf: {0}", leaf); + } +} + +public struct NodeStruct<a> { } + +public class NodeSys<a> { } + +public class SystemMap<a> +{ + public Node <NodeStruct<NodeSys<a[]>>> root; + + public SystemMap(a x) + { + Console.WriteLine("Accessing a static from Node<NodeStruct<NodeSys<a[]>>>..."); + this.root = Node<NodeStruct<NodeSys<a[]>>>.leaf; + } + public bool Eval() + { + Console.WriteLine("Read a static from Node<NodeStruct<NodeSys<a[]>>>. Got: {0}", + (root == null) ? "<null>" : root.ToString()); + + if (root == null) + return false; + else + return true; + + } +} + + +class Test +{ + static int Main () + { + Console.WriteLine("-------------------------------------------------------------------"); + SystemMap<Int32> y1 = new SystemMap<Int32> (5); + Console.WriteLine("-------------------------------------------------------------------"); + SystemMap<String> y2 = new SystemMap<String> ("S"); + Console.WriteLine("-------------------------------------------------------------------"); + SystemMap<Object> y3 = new SystemMap<Object> ("S"); + Console.WriteLine("-------------------------------------------------------------------"); + + if (y1.Eval() && y2.Eval() && y3.Eval() ) + { + Console.WriteLine("PASS"); + return 100; + } + else + { + Console.WriteLine("FAIL"); + return 101; + } + } +} diff --git a/tests/src/Loader/classloader/methodoverriding/regressions/549411/app.config b/tests/src/Loader/classloader/methodoverriding/regressions/549411/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/methodoverriding/regressions/549411/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/methodoverriding/regressions/549411/exploit.cs b/tests/src/Loader/classloader/methodoverriding/regressions/549411/exploit.cs new file mode 100644 index 0000000000..a0fc3ee7c7 --- /dev/null +++ b/tests/src/Loader/classloader/methodoverriding/regressions/549411/exploit.cs @@ -0,0 +1,91 @@ +// this is regression test for VSWhidbey 549411 +// The exception was not correctly caught, and so cleanup did not happen in the right way. +// we make sure exception is caught exactly once + +using System; + +public interface I +{ + void Foo(); +} + +public class X : I +{ + public void Foo() + { + } +} + +public class Y : I +{ + public void Foo() + { + } +} + +public class TrustedClass +{ + public static int DoWork(I[] arrI) + { + int counter = 0; + + try + { + foreach (I i in arrI) + { + i.Foo(); + } + } + catch (NullReferenceException) + { + counter++; + } + + return counter; + } +} + + +public class Exploit +{ + private static int NUM_ELEM = 1000; + + public static int DoExploit() + { + + I[] arrI = new I[NUM_ELEM]; + + for (int i = 0; i < NUM_ELEM; i++) + { + if (i % 2 == 0) + { + arrI[i] = new X(); + } + else + { + arrI[i] = new Y(); + } + } + arrI[NUM_ELEM-1] = null; + + return TrustedClass.DoWork(arrI); + } +} + +public class CMain +{ + public static int Main() + { + // we should get into the catch block of DoWork() one time + if ( Exploit.DoExploit() == 1) + { + Console.WriteLine("PASS"); + return 100; + } + else + { + Console.WriteLine("FAIL"); + return 101; + } + } +} diff --git a/tests/src/Loader/classloader/methodoverriding/regressions/549411/exploit.csproj b/tests/src/Loader/classloader/methodoverriding/regressions/549411/exploit.csproj new file mode 100644 index 0000000000..f5163b7fef --- /dev/null +++ b/tests/src/Loader/classloader/methodoverriding/regressions/549411/exploit.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="exploit.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/methodoverriding/regressions/549411/project.json b/tests/src/Loader/classloader/methodoverriding/regressions/549411/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/methodoverriding/regressions/549411/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/methodoverriding/regressions/549411/project.lock.json b/tests/src/Loader/classloader/methodoverriding/regressions/549411/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/methodoverriding/regressions/549411/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/methodoverriding/regressions/577403/app.config b/tests/src/Loader/classloader/methodoverriding/regressions/577403/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/methodoverriding/regressions/577403/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/methodoverriding/regressions/577403/project.json b/tests/src/Loader/classloader/methodoverriding/regressions/577403/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/methodoverriding/regressions/577403/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/methodoverriding/regressions/577403/project.lock.json b/tests/src/Loader/classloader/methodoverriding/regressions/577403/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/methodoverriding/regressions/577403/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/methodoverriding/regressions/577403/vsw577403.cs b/tests/src/Loader/classloader/methodoverriding/regressions/577403/vsw577403.cs new file mode 100644 index 0000000000..6f740e4ff0 --- /dev/null +++ b/tests/src/Loader/classloader/methodoverriding/regressions/577403/vsw577403.cs @@ -0,0 +1,91 @@ +/* + +This is regression test for VSW 577403 +We had a breaking change between 1.1 and 2.0 when a class implements an + interface and a base type but doesn't override interface's method. + +When invoking ITest.Test() on an instance of Level3 we got "Level1::Test" printed out instead of "Level2::Test". +On v1.1 we get correctly "Level2::Test" + +After the fix, the Whidbey behavior is correct as well. + + +*/ + +using System; + + +class Program +{ + static int Main(string[] args) + { + ITest test = new Level3(); + ITest gen_test = new GenericLevel4(); + + int ret1 = test.Test; + int ret2 = test.Test2; + + int gen_ret1 = gen_test.Test; + int gen_ret2 = gen_test.Test2; + + if (ret1 != 21 || ret2 != 32) + { + Console.WriteLine("FAIL"); + Console.WriteLine("EXPECTED: '21' and '32' when invoking test.Test and test.Test2 on an instance of Level3"); + Console.WriteLine("ACTUAL: '" + ret1 + "' and '" + ret2 + "'"); + return 101; + } + + if (gen_ret1 != 21 || gen_ret2 != 32) + { + Console.WriteLine("FAIL"); + Console.WriteLine("EXPECTED: '21' and '32' when invoking gen_test.Test and gen_test.Test2 on an instance of GenericLevel4"); + Console.WriteLine("ACTUAL: '" + gen_ret1 + "' and '" + gen_ret2 + "'"); + return 102; + } + + Console.WriteLine("PASS"); + return 100; + + + } +} + +interface ITest +{ + int Test { get; } + int Test2 { get; } +} + +class Level1 : ITest +{ + public int Test { get { return 11; } } + public int Test2 { get { return 12; } } +} + +class Level2 : Level1, ITest +{ + int ITest.Test { get { return 21; } } + int ITest.Test2 { get { return 22; } } +} + +class Level3 : Level2, ITest +{ + int ITest.Test2 { get { return 32; } } +} + +//Generics +class GenericLevel2<T> : Level1, ITest +{ + int ITest.Test { get { return 21; } } + int ITest.Test2 { get { return 22; } } +} + +class GenericLevel3 : GenericLevel2<int> +{ +} + +class GenericLevel4 : GenericLevel3, ITest +{ + int ITest.Test2 { get { return 32; } } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/methodoverriding/regressions/577403/vsw577403.csproj b/tests/src/Loader/classloader/methodoverriding/regressions/577403/vsw577403.csproj new file mode 100644 index 0000000000..b54d2fff0e --- /dev/null +++ b/tests/src/Loader/classloader/methodoverriding/regressions/577403/vsw577403.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="vsw577403.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/methodoverriding/regressions/593884/app.config b/tests/src/Loader/classloader/methodoverriding/regressions/593884/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/methodoverriding/regressions/593884/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/methodoverriding/regressions/593884/project.json b/tests/src/Loader/classloader/methodoverriding/regressions/593884/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/methodoverriding/regressions/593884/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/methodoverriding/regressions/593884/project.lock.json b/tests/src/Loader/classloader/methodoverriding/regressions/593884/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/methodoverriding/regressions/593884/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/methodoverriding/regressions/593884/vsw593884.cs b/tests/src/Loader/classloader/methodoverriding/regressions/593884/vsw593884.cs new file mode 100644 index 0000000000..bc2ebd43c7 --- /dev/null +++ b/tests/src/Loader/classloader/methodoverriding/regressions/593884/vsw593884.cs @@ -0,0 +1,64 @@ +/* + +This is regression test for VSW 593884 +We had a breaking change between 1.1 and 2.0 when a class implements an + interface and a base type but doesn't override interface's method. + +When invoking ITest.Test() on an instance of Level3 we got "Level1::Test" printed out instead of "Level2::Test". +On v1.1 we get correctly "Level2::Test" + +After the fix, the Whidbey behavior is correct as well. + + +*/ + +using System; + + +class Program +{ + static int Main(string[] args) + { + ITest test = new Level3(); + + int ret1 = test.Test; + int ret2 = test.Test2; + + if (ret1 != 21 || ret2 != 32) + { + Console.WriteLine("FAIL"); + Console.WriteLine("EXPECTED: '21' and '32' when invoking test.Test and test.Test2 on an instance of Level3"); + Console.WriteLine("ACTUAL: '" + ret1 + "' and '" + ret2 + "'"); + return 101; + } + + Console.WriteLine("PASS"); + return 100; + + + } +} + +interface ITest +{ + int Test { get; } + int Test2 { get; } +} + +class Level1 : ITest +{ + public int Test { get { return 11; } } + public int Test2 { get { return 12; } } +} + +class Level2 : Level1, ITest +{ + int ITest.Test { get { return 21; } } + int ITest.Test2 { get { return 22; } } +} + +class Level3 : Level2, ITest +{ + int ITest.Test2 { get { return 32; } } +} + diff --git a/tests/src/Loader/classloader/methodoverriding/regressions/593884/vsw593884.csproj b/tests/src/Loader/classloader/methodoverriding/regressions/593884/vsw593884.csproj new file mode 100644 index 0000000000..0ea0e509c3 --- /dev/null +++ b/tests/src/Loader/classloader/methodoverriding/regressions/593884/vsw593884.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="vsw593884.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/nesting/coreclr/VSW491577.csproj b/tests/src/Loader/classloader/nesting/coreclr/VSW491577.csproj new file mode 100644 index 0000000000..c5731b434d --- /dev/null +++ b/tests/src/Loader/classloader/nesting/coreclr/VSW491577.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildOnly</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="vsw491577.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/nesting/coreclr/VSW491577_1.csproj b/tests/src/Loader/classloader/nesting/coreclr/VSW491577_1.csproj new file mode 100644 index 0000000000..345e88de1a --- /dev/null +++ b/tests/src/Loader/classloader/nesting/coreclr/VSW491577_1.csproj @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <CLRTestKind>RunOnly</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + <CLRTestProjectToRun>VSW491577.csproj</CLRTestProjectToRun> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/nesting/coreclr/VSW491577_2.csproj b/tests/src/Loader/classloader/nesting/coreclr/VSW491577_2.csproj new file mode 100644 index 0000000000..345e88de1a --- /dev/null +++ b/tests/src/Loader/classloader/nesting/coreclr/VSW491577_2.csproj @@ -0,0 +1,44 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <CLRTestKind>RunOnly</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + <CLRTestProjectToRun>VSW491577.csproj</CLRTestProjectToRun> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/nesting/coreclr/app.config b/tests/src/Loader/classloader/nesting/coreclr/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/nesting/coreclr/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/nesting/coreclr/project.json b/tests/src/Loader/classloader/nesting/coreclr/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/nesting/coreclr/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/nesting/coreclr/project.lock.json b/tests/src/Loader/classloader/nesting/coreclr/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/nesting/coreclr/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/nesting/coreclr/vsw491577.cs b/tests/src/Loader/classloader/nesting/coreclr/vsw491577.cs new file mode 100644 index 0000000000..cf3ae8579e --- /dev/null +++ b/tests/src/Loader/classloader/nesting/coreclr/vsw491577.cs @@ -0,0 +1,165 @@ +// this is regression test for VSW 491577 +// we have nested types (up to depth 73). +// Loading the 73rd type resulted in AV +// this tests passes as long as we don't AV. + + +using System; + +public class Test +{ + public static int Main() + { + MyClass0.MyClass1.MyClass2.MyClass3.MyClass4.MyClass5.MyClass6.MyClass7.MyClass8.MyClass9.MyClass10.MyClass11.MyClass12.MyClass13.MyClass14.MyClass15.MyClass16.MyClass17.MyClass18.MyClass19.MyClass20.MyClass21.MyClass22.MyClass23.MyClass24.MyClass25.MyClass26.MyClass27.MyClass28.MyClass29.MyClass30.MyClass31.MyClass32.MyClass33.MyClass34.MyClass35.MyClass36.MyClass37.MyClass38.MyClass39.MyClass40.MyClass41.MyClass42.MyClass43.MyClass44.MyClass45.MyClass46.MyClass47.MyClass48.MyClass49.MyClass50.MyClass51.MyClass52.MyClass53.MyClass54.MyClass55.MyClass56.MyClass57.MyClass58.MyClass59.MyClass60.MyClass61.MyClass62.MyClass63.MyClass64.MyClass65.MyClass66.MyClass67.MyClass68.MyClass69.MyClass70.MyClass71.MyClass72 obj = new MyClass0.MyClass1.MyClass2.MyClass3.MyClass4.MyClass5.MyClass6.MyClass7.MyClass8.MyClass9.MyClass10.MyClass11.MyClass12.MyClass13.MyClass14.MyClass15.MyClass16.MyClass17.MyClass18.MyClass19.MyClass20.MyClass21.MyClass22.MyClass23.MyClass24.MyClass25.MyClass26.MyClass27.MyClass28.MyClass29.MyClass30.MyClass31.MyClass32.MyClass33.MyClass34.MyClass35.MyClass36.MyClass37.MyClass38.MyClass39.MyClass40.MyClass41.MyClass42.MyClass43.MyClass44.MyClass45.MyClass46.MyClass47.MyClass48.MyClass49.MyClass50.MyClass51.MyClass52.MyClass53.MyClass54.MyClass55.MyClass56.MyClass57.MyClass58.MyClass59.MyClass60.MyClass61.MyClass62.MyClass63.MyClass64.MyClass65.MyClass66.MyClass67.MyClass68.MyClass69.MyClass70.MyClass71.MyClass72(); + + Console.WriteLine("PASS"); + return 100; + } +} + +public class MyClass0 { +public class MyClass1 { +public class MyClass2 { +public class MyClass3 { +public class MyClass4 { +public class MyClass5 { +public class MyClass6 { +public class MyClass7 { +public class MyClass8 { +public class MyClass9 { +public class MyClass10 { +public class MyClass11 { +public class MyClass12 { +public class MyClass13 { +public class MyClass14 { +public class MyClass15 { +public class MyClass16 { +public class MyClass17 { +public class MyClass18 { +public class MyClass19 { +public class MyClass20 { +public class MyClass21 { +public class MyClass22 { +public class MyClass23 { +public class MyClass24 { +public class MyClass25 { +public class MyClass26 { +public class MyClass27 { +public class MyClass28 { +public class MyClass29 { +public class MyClass30 { +public class MyClass31 { +public class MyClass32 { +public class MyClass33 { +public class MyClass34 { +public class MyClass35 { +public class MyClass36 { +public class MyClass37 { +public class MyClass38 { +public class MyClass39 { +public class MyClass40 { +public class MyClass41 { +public class MyClass42 { +public class MyClass43 { +public class MyClass44 { +public class MyClass45 { +public class MyClass46 { +public class MyClass47 { +public class MyClass48 { +public class MyClass49 { +public class MyClass50 { +public class MyClass51 { +public class MyClass52 { +public class MyClass53 { +public class MyClass54 { +public class MyClass55 { +public class MyClass56 { +public class MyClass57 { +public class MyClass58 { +public class MyClass59 { +public class MyClass60 { +public class MyClass61 { +public class MyClass62 { +public class MyClass63 { +public class MyClass64 { +public class MyClass65 { +public class MyClass66 { +public class MyClass67 { +public class MyClass68 { +public class MyClass69 { +public class MyClass70 { +public class MyClass71 { +public class MyClass72 { +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} +} diff --git a/tests/src/Loader/classloader/regressions/101904/app.config b/tests/src/Loader/classloader/regressions/101904/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/101904/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/101904/project.json b/tests/src/Loader/classloader/regressions/101904/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/101904/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/101904/project.lock.json b/tests/src/Loader/classloader/regressions/101904/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/regressions/101904/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/101904/test.cs b/tests/src/Loader/classloader/regressions/101904/test.cs new file mode 100644 index 0000000000..c49eb60227 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/101904/test.cs @@ -0,0 +1,23 @@ +// This test should be run with verification on: e.g. caspol -m -cg 1.1 Everything +// In this test, we have MyType implementing IFoo<T> twice, first indirectly through MyBaseType +// as IFoo<string>, and second directly as IFoo<int>. +// In the end, a MyType<string,int> should be assignable to an IFoo<string> or an IFoo<int>. +using System; + +public interface IFoo<T>{ +} + +public class MyBaseType<T> : IFoo<T>{ +} + +public class MyType<S,T> : MyBaseType<S>, IFoo<T>{ +} + +public class CMain{ + public static int Main(){ + MyType<string,int> mt = new MyType<string,int>(); + IFoo<int> f = mt; + Console.WriteLine("PASS"); // if we make this far, we passed. + return 100; + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/101904/test.csproj b/tests/src/Loader/classloader/regressions/101904/test.csproj new file mode 100644 index 0000000000..120398a3e2 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/101904/test.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="test.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/123413/app.config b/tests/src/Loader/classloader/regressions/123413/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/123413/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/123413/ilib.cs b/tests/src/Loader/classloader/regressions/123413/ilib.cs new file mode 100644 index 0000000000..b1d11cd4c3 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/123413/ilib.cs @@ -0,0 +1,13 @@ +using System; + +public interface Int<A,B> +{ + void FV(ref MethodsFired pMF); +} + +[Flags] +public enum MethodsFired{ + None = 0x0000, + ExplicitInt = 0x0001, + Public = 0x0004 +} diff --git a/tests/src/Loader/classloader/regressions/123413/ilib.csproj b/tests/src/Loader/classloader/regressions/123413/ilib.csproj new file mode 100644 index 0000000000..c267db5ac1 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/123413/ilib.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>SharedLibrary</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="ilib.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/123413/lib.cs b/tests/src/Loader/classloader/regressions/123413/lib.cs new file mode 100644 index 0000000000..fc91153ea5 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/123413/lib.cs @@ -0,0 +1,17 @@ +using System; + +public class Base<A,B> +{ + public virtual void FV(ref MethodsFired pMF) { + pMF |= MethodsFired.Base; + } +} + +[Flags] +public enum MethodsFired{ + None = 0x0000, + Leaf = 0x0001, + Interior = 0x0002, + Base = 0x0004, + All = Leaf | Interior | Base +} diff --git a/tests/src/Loader/classloader/regressions/123413/lib.csproj b/tests/src/Loader/classloader/regressions/123413/lib.csproj new file mode 100644 index 0000000000..8ba3f1a2c2 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/123413/lib.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Library</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>SharedLibrary</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="lib.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/123413/project.json b/tests/src/Loader/classloader/regressions/123413/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/123413/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/123413/project.lock.json b/tests/src/Loader/classloader/regressions/123413/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/regressions/123413/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/123413/testint.cs b/tests/src/Loader/classloader/regressions/123413/testint.cs new file mode 100644 index 0000000000..686ebe74a5 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/123413/testint.cs @@ -0,0 +1,71 @@ +using System; + +// This test is basically a clone of a regression test +// for bug 106647. The difference is, this uses generic +// interfaces at the root of the inheritance hierarchy. +// +// mwilk. 5/22/2003 + +public class Foo<A> : Int<A,Foo<A>> { + public void FV(ref MethodsFired pMF) { + pMF |= MethodsFired.Public; + } +} + +public class Bar : Foo<Bar>, Int<Bar,Foo<Bar>> { + void Int<Bar,Foo<Bar>>.FV(ref MethodsFired pMF) { + pMF |= MethodsFired.ExplicitInt; + base.FV(ref pMF); + } +} + +public class M { + public static int PASS=100; + public static int FAIL=101; + + public static int Indirect(){ + bool success=true; + + // The generic case. + MethodsFired mfGen = MethodsFired.None; + Bar bar = new Bar(); + bar.FV(ref mfGen); + + if((mfGen ^ (MethodsFired.Public))!=0){ + Console.WriteLine("FAIL!"); + Console.WriteLine("\tExpected: {0}",MethodsFired.Public); + Console.WriteLine("\tGot: {0}",mfGen); + success=false; + } + + mfGen = MethodsFired.None; + Int<Bar,Foo<Bar>> ibar = bar; + ibar.FV(ref mfGen); + if((mfGen ^ (MethodsFired.ExplicitInt|MethodsFired.Public))!=0){ + Console.WriteLine("FAIL!"); + Console.WriteLine("\tExpected: {0}",MethodsFired.ExplicitInt | MethodsFired.Public); + Console.WriteLine("\tGot: {0}",mfGen); + success=false; + } + + if(success){ + Console.WriteLine("PASS"); + return PASS; + } + else return FAIL; + } + public static int Main() { + int rc=FAIL; + try{ + rc=Indirect(); + } + catch(Exception e){ + Console.WriteLine("FAIL!"); + Console.WriteLine("90D50F72-CA6A-8101-FBEE-0066B7E72176"); + Console.WriteLine(e.ToString()); + rc=FAIL; + } + return rc; + } +} + diff --git a/tests/src/Loader/classloader/regressions/123413/testint.csproj b/tests/src/Loader/classloader/regressions/123413/testint.csproj new file mode 100644 index 0000000000..da51c903bd --- /dev/null +++ b/tests/src/Loader/classloader/regressions/123413/testint.csproj @@ -0,0 +1,48 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="testint.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <ItemGroup> + <ProjectReference Include="ilib.csproj" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/144257/app.config b/tests/src/Loader/classloader/regressions/144257/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/144257/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/144257/project.json b/tests/src/Loader/classloader/regressions/144257/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/144257/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/144257/project.lock.json b/tests/src/Loader/classloader/regressions/144257/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/regressions/144257/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/144257/vsw144257.cs b/tests/src/Loader/classloader/regressions/144257/vsw144257.cs new file mode 100644 index 0000000000..7a27a3c887 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/144257/vsw144257.cs @@ -0,0 +1,38 @@ +// this is regression test for VSW1 144257 +// Loading type C resulted in TypeLoadException + +using System; + +interface I +{ + void meth(); +} + +class A +{ + public void meth(){} +} + +class B : A +{ + new private void meth(){} +} + +class C : B, I +{ + public static int Main() + { + try + { + C c = new C(); + Console.WriteLine("PASS"); + return 100; + } + catch (Exception e) + { + Console.WriteLine("Caught unexpected exception: " + e); + return 101; + } + + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/144257/vsw144257.csproj b/tests/src/Loader/classloader/regressions/144257/vsw144257.csproj new file mode 100644 index 0000000000..d3a1b8d02a --- /dev/null +++ b/tests/src/Loader/classloader/regressions/144257/vsw144257.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="vsw144257.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/245191/app.config b/tests/src/Loader/classloader/regressions/245191/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/245191/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/245191/nullenum1000.cs b/tests/src/Loader/classloader/regressions/245191/nullenum1000.cs new file mode 100644 index 0000000000..8848b0db9e --- /dev/null +++ b/tests/src/Loader/classloader/regressions/245191/nullenum1000.cs @@ -0,0 +1,7039 @@ + +using System; +using System.Collections; +using System.Collections.Generic; +using System.IO; +using System.Runtime.CompilerServices; +using System.Threading; + +public enum T0 { } +public enum T1 { } +public enum T2 { } +public enum T3 { } +public enum T4 { } +public enum T5 { } +public enum T6 { } +public enum T7 { } +public enum T8 { } +public enum T9 { } +public enum T10 { } +public enum T11 { } +public enum T12 { } +public enum T13 { } +public enum T14 { } +public enum T15 { } +public enum T16 { } +public enum T17 { } +public enum T18 { } +public enum T19 { } +public enum T20 { } +public enum T21 { } +public enum T22 { } +public enum T23 { } +public enum T24 { } +public enum T25 { } +public enum T26 { } +public enum T27 { } +public enum T28 { } +public enum T29 { } +public enum T30 { } +public enum T31 { } +public enum T32 { } +public enum T33 { } +public enum T34 { } +public enum T35 { } +public enum T36 { } +public enum T37 { } +public enum T38 { } +public enum T39 { } +public enum T40 { } +public enum T41 { } +public enum T42 { } +public enum T43 { } +public enum T44 { } +public enum T45 { } +public enum T46 { } +public enum T47 { } +public enum T48 { } +public enum T49 { } +public enum T50 { } +public enum T51 { } +public enum T52 { } +public enum T53 { } +public enum T54 { } +public enum T55 { } +public enum T56 { } +public enum T57 { } +public enum T58 { } +public enum T59 { } +public enum T60 { } +public enum T61 { } +public enum T62 { } +public enum T63 { } +public enum T64 { } +public enum T65 { } +public enum T66 { } +public enum T67 { } +public enum T68 { } +public enum T69 { } +public enum T70 { } +public enum T71 { } +public enum T72 { } +public enum T73 { } +public enum T74 { } +public enum T75 { } +public enum T76 { } +public enum T77 { } +public enum T78 { } +public enum T79 { } +public enum T80 { } +public enum T81 { } +public enum T82 { } +public enum T83 { } +public enum T84 { } +public enum T85 { } +public enum T86 { } +public enum T87 { } +public enum T88 { } +public enum T89 { } +public enum T90 { } +public enum T91 { } +public enum T92 { } +public enum T93 { } +public enum T94 { } +public enum T95 { } +public enum T96 { } +public enum T97 { } +public enum T98 { } +public enum T99 { } +public enum T100 { } +public enum T101 { } +public enum T102 { } +public enum T103 { } +public enum T104 { } +public enum T105 { } +public enum T106 { } +public enum T107 { } +public enum T108 { } +public enum T109 { } +public enum T110 { } +public enum T111 { } +public enum T112 { } +public enum T113 { } +public enum T114 { } +public enum T115 { } +public enum T116 { } +public enum T117 { } +public enum T118 { } +public enum T119 { } +public enum T120 { } +public enum T121 { } +public enum T122 { } +public enum T123 { } +public enum T124 { } +public enum T125 { } +public enum T126 { } +public enum T127 { } +public enum T128 { } +public enum T129 { } +public enum T130 { } +public enum T131 { } +public enum T132 { } +public enum T133 { } +public enum T134 { } +public enum T135 { } +public enum T136 { } +public enum T137 { } +public enum T138 { } +public enum T139 { } +public enum T140 { } +public enum T141 { } +public enum T142 { } +public enum T143 { } +public enum T144 { } +public enum T145 { } +public enum T146 { } +public enum T147 { } +public enum T148 { } +public enum T149 { } +public enum T150 { } +public enum T151 { } +public enum T152 { } +public enum T153 { } +public enum T154 { } +public enum T155 { } +public enum T156 { } +public enum T157 { } +public enum T158 { } +public enum T159 { } +public enum T160 { } +public enum T161 { } +public enum T162 { } +public enum T163 { } +public enum T164 { } +public enum T165 { } +public enum T166 { } +public enum T167 { } +public enum T168 { } +public enum T169 { } +public enum T170 { } +public enum T171 { } +public enum T172 { } +public enum T173 { } +public enum T174 { } +public enum T175 { } +public enum T176 { } +public enum T177 { } +public enum T178 { } +public enum T179 { } +public enum T180 { } +public enum T181 { } +public enum T182 { } +public enum T183 { } +public enum T184 { } +public enum T185 { } +public enum T186 { } +public enum T187 { } +public enum T188 { } +public enum T189 { } +public enum T190 { } +public enum T191 { } +public enum T192 { } +public enum T193 { } +public enum T194 { } +public enum T195 { } +public enum T196 { } +public enum T197 { } +public enum T198 { } +public enum T199 { } +public enum T200 { } +public enum T201 { } +public enum T202 { } +public enum T203 { } +public enum T204 { } +public enum T205 { } +public enum T206 { } +public enum T207 { } +public enum T208 { } +public enum T209 { } +public enum T210 { } +public enum T211 { } +public enum T212 { } +public enum T213 { } +public enum T214 { } +public enum T215 { } +public enum T216 { } +public enum T217 { } +public enum T218 { } +public enum T219 { } +public enum T220 { } +public enum T221 { } +public enum T222 { } +public enum T223 { } +public enum T224 { } +public enum T225 { } +public enum T226 { } +public enum T227 { } +public enum T228 { } +public enum T229 { } +public enum T230 { } +public enum T231 { } +public enum T232 { } +public enum T233 { } +public enum T234 { } +public enum T235 { } +public enum T236 { } +public enum T237 { } +public enum T238 { } +public enum T239 { } +public enum T240 { } +public enum T241 { } +public enum T242 { } +public enum T243 { } +public enum T244 { } +public enum T245 { } +public enum T246 { } +public enum T247 { } +public enum T248 { } +public enum T249 { } +public enum T250 { } +public enum T251 { } +public enum T252 { } +public enum T253 { } +public enum T254 { } +public enum T255 { } +public enum T256 { } +public enum T257 { } +public enum T258 { } +public enum T259 { } +public enum T260 { } +public enum T261 { } +public enum T262 { } +public enum T263 { } +public enum T264 { } +public enum T265 { } +public enum T266 { } +public enum T267 { } +public enum T268 { } +public enum T269 { } +public enum T270 { } +public enum T271 { } +public enum T272 { } +public enum T273 { } +public enum T274 { } +public enum T275 { } +public enum T276 { } +public enum T277 { } +public enum T278 { } +public enum T279 { } +public enum T280 { } +public enum T281 { } +public enum T282 { } +public enum T283 { } +public enum T284 { } +public enum T285 { } +public enum T286 { } +public enum T287 { } +public enum T288 { } +public enum T289 { } +public enum T290 { } +public enum T291 { } +public enum T292 { } +public enum T293 { } +public enum T294 { } +public enum T295 { } +public enum T296 { } +public enum T297 { } +public enum T298 { } +public enum T299 { } +public enum T300 { } +public enum T301 { } +public enum T302 { } +public enum T303 { } +public enum T304 { } +public enum T305 { } +public enum T306 { } +public enum T307 { } +public enum T308 { } +public enum T309 { } +public enum T310 { } +public enum T311 { } +public enum T312 { } +public enum T313 { } +public enum T314 { } +public enum T315 { } +public enum T316 { } +public enum T317 { } +public enum T318 { } +public enum T319 { } +public enum T320 { } +public enum T321 { } +public enum T322 { } +public enum T323 { } +public enum T324 { } +public enum T325 { } +public enum T326 { } +public enum T327 { } +public enum T328 { } +public enum T329 { } +public enum T330 { } +public enum T331 { } +public enum T332 { } +public enum T333 { } +public enum T334 { } +public enum T335 { } +public enum T336 { } +public enum T337 { } +public enum T338 { } +public enum T339 { } +public enum T340 { } +public enum T341 { } +public enum T342 { } +public enum T343 { } +public enum T344 { } +public enum T345 { } +public enum T346 { } +public enum T347 { } +public enum T348 { } +public enum T349 { } +public enum T350 { } +public enum T351 { } +public enum T352 { } +public enum T353 { } +public enum T354 { } +public enum T355 { } +public enum T356 { } +public enum T357 { } +public enum T358 { } +public enum T359 { } +public enum T360 { } +public enum T361 { } +public enum T362 { } +public enum T363 { } +public enum T364 { } +public enum T365 { } +public enum T366 { } +public enum T367 { } +public enum T368 { } +public enum T369 { } +public enum T370 { } +public enum T371 { } +public enum T372 { } +public enum T373 { } +public enum T374 { } +public enum T375 { } +public enum T376 { } +public enum T377 { } +public enum T378 { } +public enum T379 { } +public enum T380 { } +public enum T381 { } +public enum T382 { } +public enum T383 { } +public enum T384 { } +public enum T385 { } +public enum T386 { } +public enum T387 { } +public enum T388 { } +public enum T389 { } +public enum T390 { } +public enum T391 { } +public enum T392 { } +public enum T393 { } +public enum T394 { } +public enum T395 { } +public enum T396 { } +public enum T397 { } +public enum T398 { } +public enum T399 { } +public enum T400 { } +public enum T401 { } +public enum T402 { } +public enum T403 { } +public enum T404 { } +public enum T405 { } +public enum T406 { } +public enum T407 { } +public enum T408 { } +public enum T409 { } +public enum T410 { } +public enum T411 { } +public enum T412 { } +public enum T413 { } +public enum T414 { } +public enum T415 { } +public enum T416 { } +public enum T417 { } +public enum T418 { } +public enum T419 { } +public enum T420 { } +public enum T421 { } +public enum T422 { } +public enum T423 { } +public enum T424 { } +public enum T425 { } +public enum T426 { } +public enum T427 { } +public enum T428 { } +public enum T429 { } +public enum T430 { } +public enum T431 { } +public enum T432 { } +public enum T433 { } +public enum T434 { } +public enum T435 { } +public enum T436 { } +public enum T437 { } +public enum T438 { } +public enum T439 { } +public enum T440 { } +public enum T441 { } +public enum T442 { } +public enum T443 { } +public enum T444 { } +public enum T445 { } +public enum T446 { } +public enum T447 { } +public enum T448 { } +public enum T449 { } +public enum T450 { } +public enum T451 { } +public enum T452 { } +public enum T453 { } +public enum T454 { } +public enum T455 { } +public enum T456 { } +public enum T457 { } +public enum T458 { } +public enum T459 { } +public enum T460 { } +public enum T461 { } +public enum T462 { } +public enum T463 { } +public enum T464 { } +public enum T465 { } +public enum T466 { } +public enum T467 { } +public enum T468 { } +public enum T469 { } +public enum T470 { } +public enum T471 { } +public enum T472 { } +public enum T473 { } +public enum T474 { } +public enum T475 { } +public enum T476 { } +public enum T477 { } +public enum T478 { } +public enum T479 { } +public enum T480 { } +public enum T481 { } +public enum T482 { } +public enum T483 { } +public enum T484 { } +public enum T485 { } +public enum T486 { } +public enum T487 { } +public enum T488 { } +public enum T489 { } +public enum T490 { } +public enum T491 { } +public enum T492 { } +public enum T493 { } +public enum T494 { } +public enum T495 { } +public enum T496 { } +public enum T497 { } +public enum T498 { } +public enum T499 { } +public enum T500 { } +public enum T501 { } +public enum T502 { } +public enum T503 { } +public enum T504 { } +public enum T505 { } +public enum T506 { } +public enum T507 { } +public enum T508 { } +public enum T509 { } +public enum T510 { } +public enum T511 { } +public enum T512 { } +public enum T513 { } +public enum T514 { } +public enum T515 { } +public enum T516 { } +public enum T517 { } +public enum T518 { } +public enum T519 { } +public enum T520 { } +public enum T521 { } +public enum T522 { } +public enum T523 { } +public enum T524 { } +public enum T525 { } +public enum T526 { } +public enum T527 { } +public enum T528 { } +public enum T529 { } +public enum T530 { } +public enum T531 { } +public enum T532 { } +public enum T533 { } +public enum T534 { } +public enum T535 { } +public enum T536 { } +public enum T537 { } +public enum T538 { } +public enum T539 { } +public enum T540 { } +public enum T541 { } +public enum T542 { } +public enum T543 { } +public enum T544 { } +public enum T545 { } +public enum T546 { } +public enum T547 { } +public enum T548 { } +public enum T549 { } +public enum T550 { } +public enum T551 { } +public enum T552 { } +public enum T553 { } +public enum T554 { } +public enum T555 { } +public enum T556 { } +public enum T557 { } +public enum T558 { } +public enum T559 { } +public enum T560 { } +public enum T561 { } +public enum T562 { } +public enum T563 { } +public enum T564 { } +public enum T565 { } +public enum T566 { } +public enum T567 { } +public enum T568 { } +public enum T569 { } +public enum T570 { } +public enum T571 { } +public enum T572 { } +public enum T573 { } +public enum T574 { } +public enum T575 { } +public enum T576 { } +public enum T577 { } +public enum T578 { } +public enum T579 { } +public enum T580 { } +public enum T581 { } +public enum T582 { } +public enum T583 { } +public enum T584 { } +public enum T585 { } +public enum T586 { } +public enum T587 { } +public enum T588 { } +public enum T589 { } +public enum T590 { } +public enum T591 { } +public enum T592 { } +public enum T593 { } +public enum T594 { } +public enum T595 { } +public enum T596 { } +public enum T597 { } +public enum T598 { } +public enum T599 { } +public enum T600 { } +public enum T601 { } +public enum T602 { } +public enum T603 { } +public enum T604 { } +public enum T605 { } +public enum T606 { } +public enum T607 { } +public enum T608 { } +public enum T609 { } +public enum T610 { } +public enum T611 { } +public enum T612 { } +public enum T613 { } +public enum T614 { } +public enum T615 { } +public enum T616 { } +public enum T617 { } +public enum T618 { } +public enum T619 { } +public enum T620 { } +public enum T621 { } +public enum T622 { } +public enum T623 { } +public enum T624 { } +public enum T625 { } +public enum T626 { } +public enum T627 { } +public enum T628 { } +public enum T629 { } +public enum T630 { } +public enum T631 { } +public enum T632 { } +public enum T633 { } +public enum T634 { } +public enum T635 { } +public enum T636 { } +public enum T637 { } +public enum T638 { } +public enum T639 { } +public enum T640 { } +public enum T641 { } +public enum T642 { } +public enum T643 { } +public enum T644 { } +public enum T645 { } +public enum T646 { } +public enum T647 { } +public enum T648 { } +public enum T649 { } +public enum T650 { } +public enum T651 { } +public enum T652 { } +public enum T653 { } +public enum T654 { } +public enum T655 { } +public enum T656 { } +public enum T657 { } +public enum T658 { } +public enum T659 { } +public enum T660 { } +public enum T661 { } +public enum T662 { } +public enum T663 { } +public enum T664 { } +public enum T665 { } +public enum T666 { } +public enum T667 { } +public enum T668 { } +public enum T669 { } +public enum T670 { } +public enum T671 { } +public enum T672 { } +public enum T673 { } +public enum T674 { } +public enum T675 { } +public enum T676 { } +public enum T677 { } +public enum T678 { } +public enum T679 { } +public enum T680 { } +public enum T681 { } +public enum T682 { } +public enum T683 { } +public enum T684 { } +public enum T685 { } +public enum T686 { } +public enum T687 { } +public enum T688 { } +public enum T689 { } +public enum T690 { } +public enum T691 { } +public enum T692 { } +public enum T693 { } +public enum T694 { } +public enum T695 { } +public enum T696 { } +public enum T697 { } +public enum T698 { } +public enum T699 { } +public enum T700 { } +public enum T701 { } +public enum T702 { } +public enum T703 { } +public enum T704 { } +public enum T705 { } +public enum T706 { } +public enum T707 { } +public enum T708 { } +public enum T709 { } +public enum T710 { } +public enum T711 { } +public enum T712 { } +public enum T713 { } +public enum T714 { } +public enum T715 { } +public enum T716 { } +public enum T717 { } +public enum T718 { } +public enum T719 { } +public enum T720 { } +public enum T721 { } +public enum T722 { } +public enum T723 { } +public enum T724 { } +public enum T725 { } +public enum T726 { } +public enum T727 { } +public enum T728 { } +public enum T729 { } +public enum T730 { } +public enum T731 { } +public enum T732 { } +public enum T733 { } +public enum T734 { } +public enum T735 { } +public enum T736 { } +public enum T737 { } +public enum T738 { } +public enum T739 { } +public enum T740 { } +public enum T741 { } +public enum T742 { } +public enum T743 { } +public enum T744 { } +public enum T745 { } +public enum T746 { } +public enum T747 { } +public enum T748 { } +public enum T749 { } +public enum T750 { } +public enum T751 { } +public enum T752 { } +public enum T753 { } +public enum T754 { } +public enum T755 { } +public enum T756 { } +public enum T757 { } +public enum T758 { } +public enum T759 { } +public enum T760 { } +public enum T761 { } +public enum T762 { } +public enum T763 { } +public enum T764 { } +public enum T765 { } +public enum T766 { } +public enum T767 { } +public enum T768 { } +public enum T769 { } +public enum T770 { } +public enum T771 { } +public enum T772 { } +public enum T773 { } +public enum T774 { } +public enum T775 { } +public enum T776 { } +public enum T777 { } +public enum T778 { } +public enum T779 { } +public enum T780 { } +public enum T781 { } +public enum T782 { } +public enum T783 { } +public enum T784 { } +public enum T785 { } +public enum T786 { } +public enum T787 { } +public enum T788 { } +public enum T789 { } +public enum T790 { } +public enum T791 { } +public enum T792 { } +public enum T793 { } +public enum T794 { } +public enum T795 { } +public enum T796 { } +public enum T797 { } +public enum T798 { } +public enum T799 { } +public enum T800 { } +public enum T801 { } +public enum T802 { } +public enum T803 { } +public enum T804 { } +public enum T805 { } +public enum T806 { } +public enum T807 { } +public enum T808 { } +public enum T809 { } +public enum T810 { } +public enum T811 { } +public enum T812 { } +public enum T813 { } +public enum T814 { } +public enum T815 { } +public enum T816 { } +public enum T817 { } +public enum T818 { } +public enum T819 { } +public enum T820 { } +public enum T821 { } +public enum T822 { } +public enum T823 { } +public enum T824 { } +public enum T825 { } +public enum T826 { } +public enum T827 { } +public enum T828 { } +public enum T829 { } +public enum T830 { } +public enum T831 { } +public enum T832 { } +public enum T833 { } +public enum T834 { } +public enum T835 { } +public enum T836 { } +public enum T837 { } +public enum T838 { } +public enum T839 { } +public enum T840 { } +public enum T841 { } +public enum T842 { } +public enum T843 { } +public enum T844 { } +public enum T845 { } +public enum T846 { } +public enum T847 { } +public enum T848 { } +public enum T849 { } +public enum T850 { } +public enum T851 { } +public enum T852 { } +public enum T853 { } +public enum T854 { } +public enum T855 { } +public enum T856 { } +public enum T857 { } +public enum T858 { } +public enum T859 { } +public enum T860 { } +public enum T861 { } +public enum T862 { } +public enum T863 { } +public enum T864 { } +public enum T865 { } +public enum T866 { } +public enum T867 { } +public enum T868 { } +public enum T869 { } +public enum T870 { } +public enum T871 { } +public enum T872 { } +public enum T873 { } +public enum T874 { } +public enum T875 { } +public enum T876 { } +public enum T877 { } +public enum T878 { } +public enum T879 { } +public enum T880 { } +public enum T881 { } +public enum T882 { } +public enum T883 { } +public enum T884 { } +public enum T885 { } +public enum T886 { } +public enum T887 { } +public enum T888 { } +public enum T889 { } +public enum T890 { } +public enum T891 { } +public enum T892 { } +public enum T893 { } +public enum T894 { } +public enum T895 { } +public enum T896 { } +public enum T897 { } +public enum T898 { } +public enum T899 { } +public enum T900 { } +public enum T901 { } +public enum T902 { } +public enum T903 { } +public enum T904 { } +public enum T905 { } +public enum T906 { } +public enum T907 { } +public enum T908 { } +public enum T909 { } +public enum T910 { } +public enum T911 { } +public enum T912 { } +public enum T913 { } +public enum T914 { } +public enum T915 { } +public enum T916 { } +public enum T917 { } +public enum T918 { } +public enum T919 { } +public enum T920 { } +public enum T921 { } +public enum T922 { } +public enum T923 { } +public enum T924 { } +public enum T925 { } +public enum T926 { } +public enum T927 { } +public enum T928 { } +public enum T929 { } +public enum T930 { } +public enum T931 { } +public enum T932 { } +public enum T933 { } +public enum T934 { } +public enum T935 { } +public enum T936 { } +public enum T937 { } +public enum T938 { } +public enum T939 { } +public enum T940 { } +public enum T941 { } +public enum T942 { } +public enum T943 { } +public enum T944 { } +public enum T945 { } +public enum T946 { } +public enum T947 { } +public enum T948 { } +public enum T949 { } +public enum T950 { } +public enum T951 { } +public enum T952 { } +public enum T953 { } +public enum T954 { } +public enum T955 { } +public enum T956 { } +public enum T957 { } +public enum T958 { } +public enum T959 { } +public enum T960 { } +public enum T961 { } +public enum T962 { } +public enum T963 { } +public enum T964 { } +public enum T965 { } +public enum T966 { } +public enum T967 { } +public enum T968 { } +public enum T969 { } +public enum T970 { } +public enum T971 { } +public enum T972 { } +public enum T973 { } +public enum T974 { } +public enum T975 { } +public enum T976 { } +public enum T977 { } +public enum T978 { } +public enum T979 { } +public enum T980 { } +public enum T981 { } +public enum T982 { } +public enum T983 { } +public enum T984 { } +public enum T985 { } +public enum T986 { } +public enum T987 { } +public enum T988 { } +public enum T989 { } +public enum T990 { } +public enum T991 { } +public enum T992 { } +public enum T993 { } +public enum T994 { } +public enum T995 { } +public enum T996 { } +public enum T997 { } +public enum T998 { } +public enum T999 { } + +public class Test { + public static int Main() + { + try + { + Do0(new T0()); + Do1(new T1()); + Do2(new T2()); + Do3(new T3()); + Do4(new T4()); + Do5(new T5()); + Do6(new T6()); + Do7(new T7()); + Do8(new T8()); + Do9(new T9()); + Do10(new T10()); + Do11(new T11()); + Do12(new T12()); + Do13(new T13()); + Do14(new T14()); + Do15(new T15()); + Do16(new T16()); + Do17(new T17()); + Do18(new T18()); + Do19(new T19()); + Do20(new T20()); + Do21(new T21()); + Do22(new T22()); + Do23(new T23()); + Do24(new T24()); + Do25(new T25()); + Do26(new T26()); + Do27(new T27()); + Do28(new T28()); + Do29(new T29()); + Do30(new T30()); + Do31(new T31()); + Do32(new T32()); + Do33(new T33()); + Do34(new T34()); + Do35(new T35()); + Do36(new T36()); + Do37(new T37()); + Do38(new T38()); + Do39(new T39()); + Do40(new T40()); + Do41(new T41()); + Do42(new T42()); + Do43(new T43()); + Do44(new T44()); + Do45(new T45()); + Do46(new T46()); + Do47(new T47()); + Do48(new T48()); + Do49(new T49()); + Do50(new T50()); + Do51(new T51()); + Do52(new T52()); + Do53(new T53()); + Do54(new T54()); + Do55(new T55()); + Do56(new T56()); + Do57(new T57()); + Do58(new T58()); + Do59(new T59()); + Do60(new T60()); + Do61(new T61()); + Do62(new T62()); + Do63(new T63()); + Do64(new T64()); + Do65(new T65()); + Do66(new T66()); + Do67(new T67()); + Do68(new T68()); + Do69(new T69()); + Do70(new T70()); + Do71(new T71()); + Do72(new T72()); + Do73(new T73()); + Do74(new T74()); + Do75(new T75()); + Do76(new T76()); + Do77(new T77()); + Do78(new T78()); + Do79(new T79()); + Do80(new T80()); + Do81(new T81()); + Do82(new T82()); + Do83(new T83()); + Do84(new T84()); + Do85(new T85()); + Do86(new T86()); + Do87(new T87()); + Do88(new T88()); + Do89(new T89()); + Do90(new T90()); + Do91(new T91()); + Do92(new T92()); + Do93(new T93()); + Do94(new T94()); + Do95(new T95()); + Do96(new T96()); + Do97(new T97()); + Do98(new T98()); + Do99(new T99()); + Do100(new T100()); + Do101(new T101()); + Do102(new T102()); + Do103(new T103()); + Do104(new T104()); + Do105(new T105()); + Do106(new T106()); + Do107(new T107()); + Do108(new T108()); + Do109(new T109()); + Do110(new T110()); + Do111(new T111()); + Do112(new T112()); + Do113(new T113()); + Do114(new T114()); + Do115(new T115()); + Do116(new T116()); + Do117(new T117()); + Do118(new T118()); + Do119(new T119()); + Do120(new T120()); + Do121(new T121()); + Do122(new T122()); + Do123(new T123()); + Do124(new T124()); + Do125(new T125()); + Do126(new T126()); + Do127(new T127()); + Do128(new T128()); + Do129(new T129()); + Do130(new T130()); + Do131(new T131()); + Do132(new T132()); + Do133(new T133()); + Do134(new T134()); + Do135(new T135()); + Do136(new T136()); + Do137(new T137()); + Do138(new T138()); + Do139(new T139()); + Do140(new T140()); + Do141(new T141()); + Do142(new T142()); + Do143(new T143()); + Do144(new T144()); + Do145(new T145()); + Do146(new T146()); + Do147(new T147()); + Do148(new T148()); + Do149(new T149()); + Do150(new T150()); + Do151(new T151()); + Do152(new T152()); + Do153(new T153()); + Do154(new T154()); + Do155(new T155()); + Do156(new T156()); + Do157(new T157()); + Do158(new T158()); + Do159(new T159()); + Do160(new T160()); + Do161(new T161()); + Do162(new T162()); + Do163(new T163()); + Do164(new T164()); + Do165(new T165()); + Do166(new T166()); + Do167(new T167()); + Do168(new T168()); + Do169(new T169()); + Do170(new T170()); + Do171(new T171()); + Do172(new T172()); + Do173(new T173()); + Do174(new T174()); + Do175(new T175()); + Do176(new T176()); + Do177(new T177()); + Do178(new T178()); + Do179(new T179()); + Do180(new T180()); + Do181(new T181()); + Do182(new T182()); + Do183(new T183()); + Do184(new T184()); + Do185(new T185()); + Do186(new T186()); + Do187(new T187()); + Do188(new T188()); + Do189(new T189()); + Do190(new T190()); + Do191(new T191()); + Do192(new T192()); + Do193(new T193()); + Do194(new T194()); + Do195(new T195()); + Do196(new T196()); + Do197(new T197()); + Do198(new T198()); + Do199(new T199()); + Do200(new T200()); + Do201(new T201()); + Do202(new T202()); + Do203(new T203()); + Do204(new T204()); + Do205(new T205()); + Do206(new T206()); + Do207(new T207()); + Do208(new T208()); + Do209(new T209()); + Do210(new T210()); + Do211(new T211()); + Do212(new T212()); + Do213(new T213()); + Do214(new T214()); + Do215(new T215()); + Do216(new T216()); + Do217(new T217()); + Do218(new T218()); + Do219(new T219()); + Do220(new T220()); + Do221(new T221()); + Do222(new T222()); + Do223(new T223()); + Do224(new T224()); + Do225(new T225()); + Do226(new T226()); + Do227(new T227()); + Do228(new T228()); + Do229(new T229()); + Do230(new T230()); + Do231(new T231()); + Do232(new T232()); + Do233(new T233()); + Do234(new T234()); + Do235(new T235()); + Do236(new T236()); + Do237(new T237()); + Do238(new T238()); + Do239(new T239()); + Do240(new T240()); + Do241(new T241()); + Do242(new T242()); + Do243(new T243()); + Do244(new T244()); + Do245(new T245()); + Do246(new T246()); + Do247(new T247()); + Do248(new T248()); + Do249(new T249()); + Do250(new T250()); + Do251(new T251()); + Do252(new T252()); + Do253(new T253()); + Do254(new T254()); + Do255(new T255()); + Do256(new T256()); + Do257(new T257()); + Do258(new T258()); + Do259(new T259()); + Do260(new T260()); + Do261(new T261()); + Do262(new T262()); + Do263(new T263()); + Do264(new T264()); + Do265(new T265()); + Do266(new T266()); + Do267(new T267()); + Do268(new T268()); + Do269(new T269()); + Do270(new T270()); + Do271(new T271()); + Do272(new T272()); + Do273(new T273()); + Do274(new T274()); + Do275(new T275()); + Do276(new T276()); + Do277(new T277()); + Do278(new T278()); + Do279(new T279()); + Do280(new T280()); + Do281(new T281()); + Do282(new T282()); + Do283(new T283()); + Do284(new T284()); + Do285(new T285()); + Do286(new T286()); + Do287(new T287()); + Do288(new T288()); + Do289(new T289()); + Do290(new T290()); + Do291(new T291()); + Do292(new T292()); + Do293(new T293()); + Do294(new T294()); + Do295(new T295()); + Do296(new T296()); + Do297(new T297()); + Do298(new T298()); + Do299(new T299()); + Do300(new T300()); + Do301(new T301()); + Do302(new T302()); + Do303(new T303()); + Do304(new T304()); + Do305(new T305()); + Do306(new T306()); + Do307(new T307()); + Do308(new T308()); + Do309(new T309()); + Do310(new T310()); + Do311(new T311()); + Do312(new T312()); + Do313(new T313()); + Do314(new T314()); + Do315(new T315()); + Do316(new T316()); + Do317(new T317()); + Do318(new T318()); + Do319(new T319()); + Do320(new T320()); + Do321(new T321()); + Do322(new T322()); + Do323(new T323()); + Do324(new T324()); + Do325(new T325()); + Do326(new T326()); + Do327(new T327()); + Do328(new T328()); + Do329(new T329()); + Do330(new T330()); + Do331(new T331()); + Do332(new T332()); + Do333(new T333()); + Do334(new T334()); + Do335(new T335()); + Do336(new T336()); + Do337(new T337()); + Do338(new T338()); + Do339(new T339()); + Do340(new T340()); + Do341(new T341()); + Do342(new T342()); + Do343(new T343()); + Do344(new T344()); + Do345(new T345()); + Do346(new T346()); + Do347(new T347()); + Do348(new T348()); + Do349(new T349()); + Do350(new T350()); + Do351(new T351()); + Do352(new T352()); + Do353(new T353()); + Do354(new T354()); + Do355(new T355()); + Do356(new T356()); + Do357(new T357()); + Do358(new T358()); + Do359(new T359()); + Do360(new T360()); + Do361(new T361()); + Do362(new T362()); + Do363(new T363()); + Do364(new T364()); + Do365(new T365()); + Do366(new T366()); + Do367(new T367()); + Do368(new T368()); + Do369(new T369()); + Do370(new T370()); + Do371(new T371()); + Do372(new T372()); + Do373(new T373()); + Do374(new T374()); + Do375(new T375()); + Do376(new T376()); + Do377(new T377()); + Do378(new T378()); + Do379(new T379()); + Do380(new T380()); + Do381(new T381()); + Do382(new T382()); + Do383(new T383()); + Do384(new T384()); + Do385(new T385()); + Do386(new T386()); + Do387(new T387()); + Do388(new T388()); + Do389(new T389()); + Do390(new T390()); + Do391(new T391()); + Do392(new T392()); + Do393(new T393()); + Do394(new T394()); + Do395(new T395()); + Do396(new T396()); + Do397(new T397()); + Do398(new T398()); + Do399(new T399()); + Do400(new T400()); + Do401(new T401()); + Do402(new T402()); + Do403(new T403()); + Do404(new T404()); + Do405(new T405()); + Do406(new T406()); + Do407(new T407()); + Do408(new T408()); + Do409(new T409()); + Do410(new T410()); + Do411(new T411()); + Do412(new T412()); + Do413(new T413()); + Do414(new T414()); + Do415(new T415()); + Do416(new T416()); + Do417(new T417()); + Do418(new T418()); + Do419(new T419()); + Do420(new T420()); + Do421(new T421()); + Do422(new T422()); + Do423(new T423()); + Do424(new T424()); + Do425(new T425()); + Do426(new T426()); + Do427(new T427()); + Do428(new T428()); + Do429(new T429()); + Do430(new T430()); + Do431(new T431()); + Do432(new T432()); + Do433(new T433()); + Do434(new T434()); + Do435(new T435()); + Do436(new T436()); + Do437(new T437()); + Do438(new T438()); + Do439(new T439()); + Do440(new T440()); + Do441(new T441()); + Do442(new T442()); + Do443(new T443()); + Do444(new T444()); + Do445(new T445()); + Do446(new T446()); + Do447(new T447()); + Do448(new T448()); + Do449(new T449()); + Do450(new T450()); + Do451(new T451()); + Do452(new T452()); + Do453(new T453()); + Do454(new T454()); + Do455(new T455()); + Do456(new T456()); + Do457(new T457()); + Do458(new T458()); + Do459(new T459()); + Do460(new T460()); + Do461(new T461()); + Do462(new T462()); + Do463(new T463()); + Do464(new T464()); + Do465(new T465()); + Do466(new T466()); + Do467(new T467()); + Do468(new T468()); + Do469(new T469()); + Do470(new T470()); + Do471(new T471()); + Do472(new T472()); + Do473(new T473()); + Do474(new T474()); + Do475(new T475()); + Do476(new T476()); + Do477(new T477()); + Do478(new T478()); + Do479(new T479()); + Do480(new T480()); + Do481(new T481()); + Do482(new T482()); + Do483(new T483()); + Do484(new T484()); + Do485(new T485()); + Do486(new T486()); + Do487(new T487()); + Do488(new T488()); + Do489(new T489()); + Do490(new T490()); + Do491(new T491()); + Do492(new T492()); + Do493(new T493()); + Do494(new T494()); + Do495(new T495()); + Do496(new T496()); + Do497(new T497()); + Do498(new T498()); + Do499(new T499()); + Do500(new T500()); + Do501(new T501()); + Do502(new T502()); + Do503(new T503()); + Do504(new T504()); + Do505(new T505()); + Do506(new T506()); + Do507(new T507()); + Do508(new T508()); + Do509(new T509()); + Do510(new T510()); + Do511(new T511()); + Do512(new T512()); + Do513(new T513()); + Do514(new T514()); + Do515(new T515()); + Do516(new T516()); + Do517(new T517()); + Do518(new T518()); + Do519(new T519()); + Do520(new T520()); + Do521(new T521()); + Do522(new T522()); + Do523(new T523()); + Do524(new T524()); + Do525(new T525()); + Do526(new T526()); + Do527(new T527()); + Do528(new T528()); + Do529(new T529()); + Do530(new T530()); + Do531(new T531()); + Do532(new T532()); + Do533(new T533()); + Do534(new T534()); + Do535(new T535()); + Do536(new T536()); + Do537(new T537()); + Do538(new T538()); + Do539(new T539()); + Do540(new T540()); + Do541(new T541()); + Do542(new T542()); + Do543(new T543()); + Do544(new T544()); + Do545(new T545()); + Do546(new T546()); + Do547(new T547()); + Do548(new T548()); + Do549(new T549()); + Do550(new T550()); + Do551(new T551()); + Do552(new T552()); + Do553(new T553()); + Do554(new T554()); + Do555(new T555()); + Do556(new T556()); + Do557(new T557()); + Do558(new T558()); + Do559(new T559()); + Do560(new T560()); + Do561(new T561()); + Do562(new T562()); + Do563(new T563()); + Do564(new T564()); + Do565(new T565()); + Do566(new T566()); + Do567(new T567()); + Do568(new T568()); + Do569(new T569()); + Do570(new T570()); + Do571(new T571()); + Do572(new T572()); + Do573(new T573()); + Do574(new T574()); + Do575(new T575()); + Do576(new T576()); + Do577(new T577()); + Do578(new T578()); + Do579(new T579()); + Do580(new T580()); + Do581(new T581()); + Do582(new T582()); + Do583(new T583()); + Do584(new T584()); + Do585(new T585()); + Do586(new T586()); + Do587(new T587()); + Do588(new T588()); + Do589(new T589()); + Do590(new T590()); + Do591(new T591()); + Do592(new T592()); + Do593(new T593()); + Do594(new T594()); + Do595(new T595()); + Do596(new T596()); + Do597(new T597()); + Do598(new T598()); + Do599(new T599()); + Do600(new T600()); + Do601(new T601()); + Do602(new T602()); + Do603(new T603()); + Do604(new T604()); + Do605(new T605()); + Do606(new T606()); + Do607(new T607()); + Do608(new T608()); + Do609(new T609()); + Do610(new T610()); + Do611(new T611()); + Do612(new T612()); + Do613(new T613()); + Do614(new T614()); + Do615(new T615()); + Do616(new T616()); + Do617(new T617()); + Do618(new T618()); + Do619(new T619()); + Do620(new T620()); + Do621(new T621()); + Do622(new T622()); + Do623(new T623()); + Do624(new T624()); + Do625(new T625()); + Do626(new T626()); + Do627(new T627()); + Do628(new T628()); + Do629(new T629()); + Do630(new T630()); + Do631(new T631()); + Do632(new T632()); + Do633(new T633()); + Do634(new T634()); + Do635(new T635()); + Do636(new T636()); + Do637(new T637()); + Do638(new T638()); + Do639(new T639()); + Do640(new T640()); + Do641(new T641()); + Do642(new T642()); + Do643(new T643()); + Do644(new T644()); + Do645(new T645()); + Do646(new T646()); + Do647(new T647()); + Do648(new T648()); + Do649(new T649()); + Do650(new T650()); + Do651(new T651()); + Do652(new T652()); + Do653(new T653()); + Do654(new T654()); + Do655(new T655()); + Do656(new T656()); + Do657(new T657()); + Do658(new T658()); + Do659(new T659()); + Do660(new T660()); + Do661(new T661()); + Do662(new T662()); + Do663(new T663()); + Do664(new T664()); + Do665(new T665()); + Do666(new T666()); + Do667(new T667()); + Do668(new T668()); + Do669(new T669()); + Do670(new T670()); + Do671(new T671()); + Do672(new T672()); + Do673(new T673()); + Do674(new T674()); + Do675(new T675()); + Do676(new T676()); + Do677(new T677()); + Do678(new T678()); + Do679(new T679()); + Do680(new T680()); + Do681(new T681()); + Do682(new T682()); + Do683(new T683()); + Do684(new T684()); + Do685(new T685()); + Do686(new T686()); + Do687(new T687()); + Do688(new T688()); + Do689(new T689()); + Do690(new T690()); + Do691(new T691()); + Do692(new T692()); + Do693(new T693()); + Do694(new T694()); + Do695(new T695()); + Do696(new T696()); + Do697(new T697()); + Do698(new T698()); + Do699(new T699()); + Do700(new T700()); + Do701(new T701()); + Do702(new T702()); + Do703(new T703()); + Do704(new T704()); + Do705(new T705()); + Do706(new T706()); + Do707(new T707()); + Do708(new T708()); + Do709(new T709()); + Do710(new T710()); + Do711(new T711()); + Do712(new T712()); + Do713(new T713()); + Do714(new T714()); + Do715(new T715()); + Do716(new T716()); + Do717(new T717()); + Do718(new T718()); + Do719(new T719()); + Do720(new T720()); + Do721(new T721()); + Do722(new T722()); + Do723(new T723()); + Do724(new T724()); + Do725(new T725()); + Do726(new T726()); + Do727(new T727()); + Do728(new T728()); + Do729(new T729()); + Do730(new T730()); + Do731(new T731()); + Do732(new T732()); + Do733(new T733()); + Do734(new T734()); + Do735(new T735()); + Do736(new T736()); + Do737(new T737()); + Do738(new T738()); + Do739(new T739()); + Do740(new T740()); + Do741(new T741()); + Do742(new T742()); + Do743(new T743()); + Do744(new T744()); + Do745(new T745()); + Do746(new T746()); + Do747(new T747()); + Do748(new T748()); + Do749(new T749()); + Do750(new T750()); + Do751(new T751()); + Do752(new T752()); + Do753(new T753()); + Do754(new T754()); + Do755(new T755()); + Do756(new T756()); + Do757(new T757()); + Do758(new T758()); + Do759(new T759()); + Do760(new T760()); + Do761(new T761()); + Do762(new T762()); + Do763(new T763()); + Do764(new T764()); + Do765(new T765()); + Do766(new T766()); + Do767(new T767()); + Do768(new T768()); + Do769(new T769()); + Do770(new T770()); + Do771(new T771()); + Do772(new T772()); + Do773(new T773()); + Do774(new T774()); + Do775(new T775()); + Do776(new T776()); + Do777(new T777()); + Do778(new T778()); + Do779(new T779()); + Do780(new T780()); + Do781(new T781()); + Do782(new T782()); + Do783(new T783()); + Do784(new T784()); + Do785(new T785()); + Do786(new T786()); + Do787(new T787()); + Do788(new T788()); + Do789(new T789()); + Do790(new T790()); + Do791(new T791()); + Do792(new T792()); + Do793(new T793()); + Do794(new T794()); + Do795(new T795()); + Do796(new T796()); + Do797(new T797()); + Do798(new T798()); + Do799(new T799()); + Do800(new T800()); + Do801(new T801()); + Do802(new T802()); + Do803(new T803()); + Do804(new T804()); + Do805(new T805()); + Do806(new T806()); + Do807(new T807()); + Do808(new T808()); + Do809(new T809()); + Do810(new T810()); + Do811(new T811()); + Do812(new T812()); + Do813(new T813()); + Do814(new T814()); + Do815(new T815()); + Do816(new T816()); + Do817(new T817()); + Do818(new T818()); + Do819(new T819()); + Do820(new T820()); + Do821(new T821()); + Do822(new T822()); + Do823(new T823()); + Do824(new T824()); + Do825(new T825()); + Do826(new T826()); + Do827(new T827()); + Do828(new T828()); + Do829(new T829()); + Do830(new T830()); + Do831(new T831()); + Do832(new T832()); + Do833(new T833()); + Do834(new T834()); + Do835(new T835()); + Do836(new T836()); + Do837(new T837()); + Do838(new T838()); + Do839(new T839()); + Do840(new T840()); + Do841(new T841()); + Do842(new T842()); + Do843(new T843()); + Do844(new T844()); + Do845(new T845()); + Do846(new T846()); + Do847(new T847()); + Do848(new T848()); + Do849(new T849()); + Do850(new T850()); + Do851(new T851()); + Do852(new T852()); + Do853(new T853()); + Do854(new T854()); + Do855(new T855()); + Do856(new T856()); + Do857(new T857()); + Do858(new T858()); + Do859(new T859()); + Do860(new T860()); + Do861(new T861()); + Do862(new T862()); + Do863(new T863()); + Do864(new T864()); + Do865(new T865()); + Do866(new T866()); + Do867(new T867()); + Do868(new T868()); + Do869(new T869()); + Do870(new T870()); + Do871(new T871()); + Do872(new T872()); + Do873(new T873()); + Do874(new T874()); + Do875(new T875()); + Do876(new T876()); + Do877(new T877()); + Do878(new T878()); + Do879(new T879()); + Do880(new T880()); + Do881(new T881()); + Do882(new T882()); + Do883(new T883()); + Do884(new T884()); + Do885(new T885()); + Do886(new T886()); + Do887(new T887()); + Do888(new T888()); + Do889(new T889()); + Do890(new T890()); + Do891(new T891()); + Do892(new T892()); + Do893(new T893()); + Do894(new T894()); + Do895(new T895()); + Do896(new T896()); + Do897(new T897()); + Do898(new T898()); + Do899(new T899()); + Do900(new T900()); + Do901(new T901()); + Do902(new T902()); + Do903(new T903()); + Do904(new T904()); + Do905(new T905()); + Do906(new T906()); + Do907(new T907()); + Do908(new T908()); + Do909(new T909()); + Do910(new T910()); + Do911(new T911()); + Do912(new T912()); + Do913(new T913()); + Do914(new T914()); + Do915(new T915()); + Do916(new T916()); + Do917(new T917()); + Do918(new T918()); + Do919(new T919()); + Do920(new T920()); + Do921(new T921()); + Do922(new T922()); + Do923(new T923()); + Do924(new T924()); + Do925(new T925()); + Do926(new T926()); + Do927(new T927()); + Do928(new T928()); + Do929(new T929()); + Do930(new T930()); + Do931(new T931()); + Do932(new T932()); + Do933(new T933()); + Do934(new T934()); + Do935(new T935()); + Do936(new T936()); + Do937(new T937()); + Do938(new T938()); + Do939(new T939()); + Do940(new T940()); + Do941(new T941()); + Do942(new T942()); + Do943(new T943()); + Do944(new T944()); + Do945(new T945()); + Do946(new T946()); + Do947(new T947()); + Do948(new T948()); + Do949(new T949()); + Do950(new T950()); + Do951(new T951()); + Do952(new T952()); + Do953(new T953()); + Do954(new T954()); + Do955(new T955()); + Do956(new T956()); + Do957(new T957()); + Do958(new T958()); + Do959(new T959()); + Do960(new T960()); + Do961(new T961()); + Do962(new T962()); + Do963(new T963()); + Do964(new T964()); + Do965(new T965()); + Do966(new T966()); + Do967(new T967()); + Do968(new T968()); + Do969(new T969()); + Do970(new T970()); + Do971(new T971()); + Do972(new T972()); + Do973(new T973()); + Do974(new T974()); + Do975(new T975()); + Do976(new T976()); + Do977(new T977()); + Do978(new T978()); + Do979(new T979()); + Do980(new T980()); + Do981(new T981()); + Do982(new T982()); + Do983(new T983()); + Do984(new T984()); + Do985(new T985()); + Do986(new T986()); + Do987(new T987()); + Do988(new T988()); + Do989(new T989()); + Do990(new T990()); + Do991(new T991()); + Do992(new T992()); + Do993(new T993()); + Do994(new T994()); + Do995(new T995()); + Do996(new T996()); + Do997(new T997()); + Do998(new T998()); + Do999(new T999()); + + Console.WriteLine("PASS"); + return 100; + } + catch (TypeLoadException e) + { + Console.WriteLine("FAIL: Caught unexpected TypeLoadException" + e.Message); + return 101; + } + catch (Exception e) + { + Console.WriteLine("FAIL: Caught unexpected exception:" + e.Message); + return 101; + } + + + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do0(T0 t) { + Nullable<T0> n = new Nullable<T0>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do1(T1 t) { + Nullable<T1> n = new Nullable<T1>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do2(T2 t) { + Nullable<T2> n = new Nullable<T2>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do3(T3 t) { + Nullable<T3> n = new Nullable<T3>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do4(T4 t) { + Nullable<T4> n = new Nullable<T4>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do5(T5 t) { + Nullable<T5> n = new Nullable<T5>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do6(T6 t) { + Nullable<T6> n = new Nullable<T6>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do7(T7 t) { + Nullable<T7> n = new Nullable<T7>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do8(T8 t) { + Nullable<T8> n = new Nullable<T8>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do9(T9 t) { + Nullable<T9> n = new Nullable<T9>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do10(T10 t) { + Nullable<T10> n = new Nullable<T10>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do11(T11 t) { + Nullable<T11> n = new Nullable<T11>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do12(T12 t) { + Nullable<T12> n = new Nullable<T12>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do13(T13 t) { + Nullable<T13> n = new Nullable<T13>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do14(T14 t) { + Nullable<T14> n = new Nullable<T14>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do15(T15 t) { + Nullable<T15> n = new Nullable<T15>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do16(T16 t) { + Nullable<T16> n = new Nullable<T16>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do17(T17 t) { + Nullable<T17> n = new Nullable<T17>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do18(T18 t) { + Nullable<T18> n = new Nullable<T18>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do19(T19 t) { + Nullable<T19> n = new Nullable<T19>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do20(T20 t) { + Nullable<T20> n = new Nullable<T20>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do21(T21 t) { + Nullable<T21> n = new Nullable<T21>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do22(T22 t) { + Nullable<T22> n = new Nullable<T22>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do23(T23 t) { + Nullable<T23> n = new Nullable<T23>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do24(T24 t) { + Nullable<T24> n = new Nullable<T24>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do25(T25 t) { + Nullable<T25> n = new Nullable<T25>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do26(T26 t) { + Nullable<T26> n = new Nullable<T26>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do27(T27 t) { + Nullable<T27> n = new Nullable<T27>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do28(T28 t) { + Nullable<T28> n = new Nullable<T28>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do29(T29 t) { + Nullable<T29> n = new Nullable<T29>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do30(T30 t) { + Nullable<T30> n = new Nullable<T30>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do31(T31 t) { + Nullable<T31> n = new Nullable<T31>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do32(T32 t) { + Nullable<T32> n = new Nullable<T32>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do33(T33 t) { + Nullable<T33> n = new Nullable<T33>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do34(T34 t) { + Nullable<T34> n = new Nullable<T34>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do35(T35 t) { + Nullable<T35> n = new Nullable<T35>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do36(T36 t) { + Nullable<T36> n = new Nullable<T36>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do37(T37 t) { + Nullable<T37> n = new Nullable<T37>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do38(T38 t) { + Nullable<T38> n = new Nullable<T38>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do39(T39 t) { + Nullable<T39> n = new Nullable<T39>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do40(T40 t) { + Nullable<T40> n = new Nullable<T40>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do41(T41 t) { + Nullable<T41> n = new Nullable<T41>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do42(T42 t) { + Nullable<T42> n = new Nullable<T42>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do43(T43 t) { + Nullable<T43> n = new Nullable<T43>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do44(T44 t) { + Nullable<T44> n = new Nullable<T44>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do45(T45 t) { + Nullable<T45> n = new Nullable<T45>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do46(T46 t) { + Nullable<T46> n = new Nullable<T46>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do47(T47 t) { + Nullable<T47> n = new Nullable<T47>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do48(T48 t) { + Nullable<T48> n = new Nullable<T48>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do49(T49 t) { + Nullable<T49> n = new Nullable<T49>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do50(T50 t) { + Nullable<T50> n = new Nullable<T50>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do51(T51 t) { + Nullable<T51> n = new Nullable<T51>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do52(T52 t) { + Nullable<T52> n = new Nullable<T52>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do53(T53 t) { + Nullable<T53> n = new Nullable<T53>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do54(T54 t) { + Nullable<T54> n = new Nullable<T54>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do55(T55 t) { + Nullable<T55> n = new Nullable<T55>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do56(T56 t) { + Nullable<T56> n = new Nullable<T56>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do57(T57 t) { + Nullable<T57> n = new Nullable<T57>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do58(T58 t) { + Nullable<T58> n = new Nullable<T58>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do59(T59 t) { + Nullable<T59> n = new Nullable<T59>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do60(T60 t) { + Nullable<T60> n = new Nullable<T60>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do61(T61 t) { + Nullable<T61> n = new Nullable<T61>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do62(T62 t) { + Nullable<T62> n = new Nullable<T62>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do63(T63 t) { + Nullable<T63> n = new Nullable<T63>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do64(T64 t) { + Nullable<T64> n = new Nullable<T64>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do65(T65 t) { + Nullable<T65> n = new Nullable<T65>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do66(T66 t) { + Nullable<T66> n = new Nullable<T66>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do67(T67 t) { + Nullable<T67> n = new Nullable<T67>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do68(T68 t) { + Nullable<T68> n = new Nullable<T68>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do69(T69 t) { + Nullable<T69> n = new Nullable<T69>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do70(T70 t) { + Nullable<T70> n = new Nullable<T70>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do71(T71 t) { + Nullable<T71> n = new Nullable<T71>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do72(T72 t) { + Nullable<T72> n = new Nullable<T72>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do73(T73 t) { + Nullable<T73> n = new Nullable<T73>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do74(T74 t) { + Nullable<T74> n = new Nullable<T74>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do75(T75 t) { + Nullable<T75> n = new Nullable<T75>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do76(T76 t) { + Nullable<T76> n = new Nullable<T76>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do77(T77 t) { + Nullable<T77> n = new Nullable<T77>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do78(T78 t) { + Nullable<T78> n = new Nullable<T78>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do79(T79 t) { + Nullable<T79> n = new Nullable<T79>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do80(T80 t) { + Nullable<T80> n = new Nullable<T80>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do81(T81 t) { + Nullable<T81> n = new Nullable<T81>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do82(T82 t) { + Nullable<T82> n = new Nullable<T82>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do83(T83 t) { + Nullable<T83> n = new Nullable<T83>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do84(T84 t) { + Nullable<T84> n = new Nullable<T84>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do85(T85 t) { + Nullable<T85> n = new Nullable<T85>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do86(T86 t) { + Nullable<T86> n = new Nullable<T86>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do87(T87 t) { + Nullable<T87> n = new Nullable<T87>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do88(T88 t) { + Nullable<T88> n = new Nullable<T88>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do89(T89 t) { + Nullable<T89> n = new Nullable<T89>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do90(T90 t) { + Nullable<T90> n = new Nullable<T90>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do91(T91 t) { + Nullable<T91> n = new Nullable<T91>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do92(T92 t) { + Nullable<T92> n = new Nullable<T92>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do93(T93 t) { + Nullable<T93> n = new Nullable<T93>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do94(T94 t) { + Nullable<T94> n = new Nullable<T94>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do95(T95 t) { + Nullable<T95> n = new Nullable<T95>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do96(T96 t) { + Nullable<T96> n = new Nullable<T96>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do97(T97 t) { + Nullable<T97> n = new Nullable<T97>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do98(T98 t) { + Nullable<T98> n = new Nullable<T98>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do99(T99 t) { + Nullable<T99> n = new Nullable<T99>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do100(T100 t) { + Nullable<T100> n = new Nullable<T100>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do101(T101 t) { + Nullable<T101> n = new Nullable<T101>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do102(T102 t) { + Nullable<T102> n = new Nullable<T102>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do103(T103 t) { + Nullable<T103> n = new Nullable<T103>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do104(T104 t) { + Nullable<T104> n = new Nullable<T104>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do105(T105 t) { + Nullable<T105> n = new Nullable<T105>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do106(T106 t) { + Nullable<T106> n = new Nullable<T106>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do107(T107 t) { + Nullable<T107> n = new Nullable<T107>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do108(T108 t) { + Nullable<T108> n = new Nullable<T108>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do109(T109 t) { + Nullable<T109> n = new Nullable<T109>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do110(T110 t) { + Nullable<T110> n = new Nullable<T110>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do111(T111 t) { + Nullable<T111> n = new Nullable<T111>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do112(T112 t) { + Nullable<T112> n = new Nullable<T112>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do113(T113 t) { + Nullable<T113> n = new Nullable<T113>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do114(T114 t) { + Nullable<T114> n = new Nullable<T114>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do115(T115 t) { + Nullable<T115> n = new Nullable<T115>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do116(T116 t) { + Nullable<T116> n = new Nullable<T116>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do117(T117 t) { + Nullable<T117> n = new Nullable<T117>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do118(T118 t) { + Nullable<T118> n = new Nullable<T118>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do119(T119 t) { + Nullable<T119> n = new Nullable<T119>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do120(T120 t) { + Nullable<T120> n = new Nullable<T120>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do121(T121 t) { + Nullable<T121> n = new Nullable<T121>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do122(T122 t) { + Nullable<T122> n = new Nullable<T122>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do123(T123 t) { + Nullable<T123> n = new Nullable<T123>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do124(T124 t) { + Nullable<T124> n = new Nullable<T124>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do125(T125 t) { + Nullable<T125> n = new Nullable<T125>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do126(T126 t) { + Nullable<T126> n = new Nullable<T126>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do127(T127 t) { + Nullable<T127> n = new Nullable<T127>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do128(T128 t) { + Nullable<T128> n = new Nullable<T128>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do129(T129 t) { + Nullable<T129> n = new Nullable<T129>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do130(T130 t) { + Nullable<T130> n = new Nullable<T130>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do131(T131 t) { + Nullable<T131> n = new Nullable<T131>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do132(T132 t) { + Nullable<T132> n = new Nullable<T132>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do133(T133 t) { + Nullable<T133> n = new Nullable<T133>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do134(T134 t) { + Nullable<T134> n = new Nullable<T134>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do135(T135 t) { + Nullable<T135> n = new Nullable<T135>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do136(T136 t) { + Nullable<T136> n = new Nullable<T136>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do137(T137 t) { + Nullable<T137> n = new Nullable<T137>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do138(T138 t) { + Nullable<T138> n = new Nullable<T138>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do139(T139 t) { + Nullable<T139> n = new Nullable<T139>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do140(T140 t) { + Nullable<T140> n = new Nullable<T140>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do141(T141 t) { + Nullable<T141> n = new Nullable<T141>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do142(T142 t) { + Nullable<T142> n = new Nullable<T142>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do143(T143 t) { + Nullable<T143> n = new Nullable<T143>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do144(T144 t) { + Nullable<T144> n = new Nullable<T144>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do145(T145 t) { + Nullable<T145> n = new Nullable<T145>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do146(T146 t) { + Nullable<T146> n = new Nullable<T146>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do147(T147 t) { + Nullable<T147> n = new Nullable<T147>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do148(T148 t) { + Nullable<T148> n = new Nullable<T148>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do149(T149 t) { + Nullable<T149> n = new Nullable<T149>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do150(T150 t) { + Nullable<T150> n = new Nullable<T150>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do151(T151 t) { + Nullable<T151> n = new Nullable<T151>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do152(T152 t) { + Nullable<T152> n = new Nullable<T152>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do153(T153 t) { + Nullable<T153> n = new Nullable<T153>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do154(T154 t) { + Nullable<T154> n = new Nullable<T154>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do155(T155 t) { + Nullable<T155> n = new Nullable<T155>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do156(T156 t) { + Nullable<T156> n = new Nullable<T156>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do157(T157 t) { + Nullable<T157> n = new Nullable<T157>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do158(T158 t) { + Nullable<T158> n = new Nullable<T158>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do159(T159 t) { + Nullable<T159> n = new Nullable<T159>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do160(T160 t) { + Nullable<T160> n = new Nullable<T160>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do161(T161 t) { + Nullable<T161> n = new Nullable<T161>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do162(T162 t) { + Nullable<T162> n = new Nullable<T162>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do163(T163 t) { + Nullable<T163> n = new Nullable<T163>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do164(T164 t) { + Nullable<T164> n = new Nullable<T164>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do165(T165 t) { + Nullable<T165> n = new Nullable<T165>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do166(T166 t) { + Nullable<T166> n = new Nullable<T166>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do167(T167 t) { + Nullable<T167> n = new Nullable<T167>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do168(T168 t) { + Nullable<T168> n = new Nullable<T168>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do169(T169 t) { + Nullable<T169> n = new Nullable<T169>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do170(T170 t) { + Nullable<T170> n = new Nullable<T170>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do171(T171 t) { + Nullable<T171> n = new Nullable<T171>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do172(T172 t) { + Nullable<T172> n = new Nullable<T172>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do173(T173 t) { + Nullable<T173> n = new Nullable<T173>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do174(T174 t) { + Nullable<T174> n = new Nullable<T174>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do175(T175 t) { + Nullable<T175> n = new Nullable<T175>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do176(T176 t) { + Nullable<T176> n = new Nullable<T176>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do177(T177 t) { + Nullable<T177> n = new Nullable<T177>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do178(T178 t) { + Nullable<T178> n = new Nullable<T178>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do179(T179 t) { + Nullable<T179> n = new Nullable<T179>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do180(T180 t) { + Nullable<T180> n = new Nullable<T180>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do181(T181 t) { + Nullable<T181> n = new Nullable<T181>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do182(T182 t) { + Nullable<T182> n = new Nullable<T182>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do183(T183 t) { + Nullable<T183> n = new Nullable<T183>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do184(T184 t) { + Nullable<T184> n = new Nullable<T184>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do185(T185 t) { + Nullable<T185> n = new Nullable<T185>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do186(T186 t) { + Nullable<T186> n = new Nullable<T186>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do187(T187 t) { + Nullable<T187> n = new Nullable<T187>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do188(T188 t) { + Nullable<T188> n = new Nullable<T188>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do189(T189 t) { + Nullable<T189> n = new Nullable<T189>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do190(T190 t) { + Nullable<T190> n = new Nullable<T190>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do191(T191 t) { + Nullable<T191> n = new Nullable<T191>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do192(T192 t) { + Nullable<T192> n = new Nullable<T192>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do193(T193 t) { + Nullable<T193> n = new Nullable<T193>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do194(T194 t) { + Nullable<T194> n = new Nullable<T194>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do195(T195 t) { + Nullable<T195> n = new Nullable<T195>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do196(T196 t) { + Nullable<T196> n = new Nullable<T196>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do197(T197 t) { + Nullable<T197> n = new Nullable<T197>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do198(T198 t) { + Nullable<T198> n = new Nullable<T198>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do199(T199 t) { + Nullable<T199> n = new Nullable<T199>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do200(T200 t) { + Nullable<T200> n = new Nullable<T200>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do201(T201 t) { + Nullable<T201> n = new Nullable<T201>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do202(T202 t) { + Nullable<T202> n = new Nullable<T202>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do203(T203 t) { + Nullable<T203> n = new Nullable<T203>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do204(T204 t) { + Nullable<T204> n = new Nullable<T204>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do205(T205 t) { + Nullable<T205> n = new Nullable<T205>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do206(T206 t) { + Nullable<T206> n = new Nullable<T206>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do207(T207 t) { + Nullable<T207> n = new Nullable<T207>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do208(T208 t) { + Nullable<T208> n = new Nullable<T208>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do209(T209 t) { + Nullable<T209> n = new Nullable<T209>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do210(T210 t) { + Nullable<T210> n = new Nullable<T210>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do211(T211 t) { + Nullable<T211> n = new Nullable<T211>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do212(T212 t) { + Nullable<T212> n = new Nullable<T212>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do213(T213 t) { + Nullable<T213> n = new Nullable<T213>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do214(T214 t) { + Nullable<T214> n = new Nullable<T214>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do215(T215 t) { + Nullable<T215> n = new Nullable<T215>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do216(T216 t) { + Nullable<T216> n = new Nullable<T216>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do217(T217 t) { + Nullable<T217> n = new Nullable<T217>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do218(T218 t) { + Nullable<T218> n = new Nullable<T218>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do219(T219 t) { + Nullable<T219> n = new Nullable<T219>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do220(T220 t) { + Nullable<T220> n = new Nullable<T220>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do221(T221 t) { + Nullable<T221> n = new Nullable<T221>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do222(T222 t) { + Nullable<T222> n = new Nullable<T222>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do223(T223 t) { + Nullable<T223> n = new Nullable<T223>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do224(T224 t) { + Nullable<T224> n = new Nullable<T224>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do225(T225 t) { + Nullable<T225> n = new Nullable<T225>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do226(T226 t) { + Nullable<T226> n = new Nullable<T226>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do227(T227 t) { + Nullable<T227> n = new Nullable<T227>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do228(T228 t) { + Nullable<T228> n = new Nullable<T228>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do229(T229 t) { + Nullable<T229> n = new Nullable<T229>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do230(T230 t) { + Nullable<T230> n = new Nullable<T230>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do231(T231 t) { + Nullable<T231> n = new Nullable<T231>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do232(T232 t) { + Nullable<T232> n = new Nullable<T232>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do233(T233 t) { + Nullable<T233> n = new Nullable<T233>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do234(T234 t) { + Nullable<T234> n = new Nullable<T234>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do235(T235 t) { + Nullable<T235> n = new Nullable<T235>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do236(T236 t) { + Nullable<T236> n = new Nullable<T236>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do237(T237 t) { + Nullable<T237> n = new Nullable<T237>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do238(T238 t) { + Nullable<T238> n = new Nullable<T238>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do239(T239 t) { + Nullable<T239> n = new Nullable<T239>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do240(T240 t) { + Nullable<T240> n = new Nullable<T240>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do241(T241 t) { + Nullable<T241> n = new Nullable<T241>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do242(T242 t) { + Nullable<T242> n = new Nullable<T242>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do243(T243 t) { + Nullable<T243> n = new Nullable<T243>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do244(T244 t) { + Nullable<T244> n = new Nullable<T244>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do245(T245 t) { + Nullable<T245> n = new Nullable<T245>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do246(T246 t) { + Nullable<T246> n = new Nullable<T246>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do247(T247 t) { + Nullable<T247> n = new Nullable<T247>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do248(T248 t) { + Nullable<T248> n = new Nullable<T248>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do249(T249 t) { + Nullable<T249> n = new Nullable<T249>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do250(T250 t) { + Nullable<T250> n = new Nullable<T250>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do251(T251 t) { + Nullable<T251> n = new Nullable<T251>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do252(T252 t) { + Nullable<T252> n = new Nullable<T252>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do253(T253 t) { + Nullable<T253> n = new Nullable<T253>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do254(T254 t) { + Nullable<T254> n = new Nullable<T254>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do255(T255 t) { + Nullable<T255> n = new Nullable<T255>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do256(T256 t) { + Nullable<T256> n = new Nullable<T256>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do257(T257 t) { + Nullable<T257> n = new Nullable<T257>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do258(T258 t) { + Nullable<T258> n = new Nullable<T258>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do259(T259 t) { + Nullable<T259> n = new Nullable<T259>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do260(T260 t) { + Nullable<T260> n = new Nullable<T260>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do261(T261 t) { + Nullable<T261> n = new Nullable<T261>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do262(T262 t) { + Nullable<T262> n = new Nullable<T262>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do263(T263 t) { + Nullable<T263> n = new Nullable<T263>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do264(T264 t) { + Nullable<T264> n = new Nullable<T264>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do265(T265 t) { + Nullable<T265> n = new Nullable<T265>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do266(T266 t) { + Nullable<T266> n = new Nullable<T266>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do267(T267 t) { + Nullable<T267> n = new Nullable<T267>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do268(T268 t) { + Nullable<T268> n = new Nullable<T268>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do269(T269 t) { + Nullable<T269> n = new Nullable<T269>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do270(T270 t) { + Nullable<T270> n = new Nullable<T270>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do271(T271 t) { + Nullable<T271> n = new Nullable<T271>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do272(T272 t) { + Nullable<T272> n = new Nullable<T272>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do273(T273 t) { + Nullable<T273> n = new Nullable<T273>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do274(T274 t) { + Nullable<T274> n = new Nullable<T274>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do275(T275 t) { + Nullable<T275> n = new Nullable<T275>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do276(T276 t) { + Nullable<T276> n = new Nullable<T276>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do277(T277 t) { + Nullable<T277> n = new Nullable<T277>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do278(T278 t) { + Nullable<T278> n = new Nullable<T278>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do279(T279 t) { + Nullable<T279> n = new Nullable<T279>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do280(T280 t) { + Nullable<T280> n = new Nullable<T280>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do281(T281 t) { + Nullable<T281> n = new Nullable<T281>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do282(T282 t) { + Nullable<T282> n = new Nullable<T282>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do283(T283 t) { + Nullable<T283> n = new Nullable<T283>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do284(T284 t) { + Nullable<T284> n = new Nullable<T284>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do285(T285 t) { + Nullable<T285> n = new Nullable<T285>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do286(T286 t) { + Nullable<T286> n = new Nullable<T286>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do287(T287 t) { + Nullable<T287> n = new Nullable<T287>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do288(T288 t) { + Nullable<T288> n = new Nullable<T288>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do289(T289 t) { + Nullable<T289> n = new Nullable<T289>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do290(T290 t) { + Nullable<T290> n = new Nullable<T290>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do291(T291 t) { + Nullable<T291> n = new Nullable<T291>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do292(T292 t) { + Nullable<T292> n = new Nullable<T292>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do293(T293 t) { + Nullable<T293> n = new Nullable<T293>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do294(T294 t) { + Nullable<T294> n = new Nullable<T294>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do295(T295 t) { + Nullable<T295> n = new Nullable<T295>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do296(T296 t) { + Nullable<T296> n = new Nullable<T296>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do297(T297 t) { + Nullable<T297> n = new Nullable<T297>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do298(T298 t) { + Nullable<T298> n = new Nullable<T298>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do299(T299 t) { + Nullable<T299> n = new Nullable<T299>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do300(T300 t) { + Nullable<T300> n = new Nullable<T300>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do301(T301 t) { + Nullable<T301> n = new Nullable<T301>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do302(T302 t) { + Nullable<T302> n = new Nullable<T302>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do303(T303 t) { + Nullable<T303> n = new Nullable<T303>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do304(T304 t) { + Nullable<T304> n = new Nullable<T304>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do305(T305 t) { + Nullable<T305> n = new Nullable<T305>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do306(T306 t) { + Nullable<T306> n = new Nullable<T306>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do307(T307 t) { + Nullable<T307> n = new Nullable<T307>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do308(T308 t) { + Nullable<T308> n = new Nullable<T308>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do309(T309 t) { + Nullable<T309> n = new Nullable<T309>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do310(T310 t) { + Nullable<T310> n = new Nullable<T310>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do311(T311 t) { + Nullable<T311> n = new Nullable<T311>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do312(T312 t) { + Nullable<T312> n = new Nullable<T312>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do313(T313 t) { + Nullable<T313> n = new Nullable<T313>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do314(T314 t) { + Nullable<T314> n = new Nullable<T314>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do315(T315 t) { + Nullable<T315> n = new Nullable<T315>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do316(T316 t) { + Nullable<T316> n = new Nullable<T316>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do317(T317 t) { + Nullable<T317> n = new Nullable<T317>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do318(T318 t) { + Nullable<T318> n = new Nullable<T318>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do319(T319 t) { + Nullable<T319> n = new Nullable<T319>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do320(T320 t) { + Nullable<T320> n = new Nullable<T320>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do321(T321 t) { + Nullable<T321> n = new Nullable<T321>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do322(T322 t) { + Nullable<T322> n = new Nullable<T322>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do323(T323 t) { + Nullable<T323> n = new Nullable<T323>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do324(T324 t) { + Nullable<T324> n = new Nullable<T324>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do325(T325 t) { + Nullable<T325> n = new Nullable<T325>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do326(T326 t) { + Nullable<T326> n = new Nullable<T326>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do327(T327 t) { + Nullable<T327> n = new Nullable<T327>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do328(T328 t) { + Nullable<T328> n = new Nullable<T328>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do329(T329 t) { + Nullable<T329> n = new Nullable<T329>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do330(T330 t) { + Nullable<T330> n = new Nullable<T330>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do331(T331 t) { + Nullable<T331> n = new Nullable<T331>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do332(T332 t) { + Nullable<T332> n = new Nullable<T332>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do333(T333 t) { + Nullable<T333> n = new Nullable<T333>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do334(T334 t) { + Nullable<T334> n = new Nullable<T334>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do335(T335 t) { + Nullable<T335> n = new Nullable<T335>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do336(T336 t) { + Nullable<T336> n = new Nullable<T336>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do337(T337 t) { + Nullable<T337> n = new Nullable<T337>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do338(T338 t) { + Nullable<T338> n = new Nullable<T338>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do339(T339 t) { + Nullable<T339> n = new Nullable<T339>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do340(T340 t) { + Nullable<T340> n = new Nullable<T340>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do341(T341 t) { + Nullable<T341> n = new Nullable<T341>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do342(T342 t) { + Nullable<T342> n = new Nullable<T342>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do343(T343 t) { + Nullable<T343> n = new Nullable<T343>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do344(T344 t) { + Nullable<T344> n = new Nullable<T344>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do345(T345 t) { + Nullable<T345> n = new Nullable<T345>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do346(T346 t) { + Nullable<T346> n = new Nullable<T346>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do347(T347 t) { + Nullable<T347> n = new Nullable<T347>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do348(T348 t) { + Nullable<T348> n = new Nullable<T348>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do349(T349 t) { + Nullable<T349> n = new Nullable<T349>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do350(T350 t) { + Nullable<T350> n = new Nullable<T350>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do351(T351 t) { + Nullable<T351> n = new Nullable<T351>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do352(T352 t) { + Nullable<T352> n = new Nullable<T352>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do353(T353 t) { + Nullable<T353> n = new Nullable<T353>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do354(T354 t) { + Nullable<T354> n = new Nullable<T354>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do355(T355 t) { + Nullable<T355> n = new Nullable<T355>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do356(T356 t) { + Nullable<T356> n = new Nullable<T356>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do357(T357 t) { + Nullable<T357> n = new Nullable<T357>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do358(T358 t) { + Nullable<T358> n = new Nullable<T358>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do359(T359 t) { + Nullable<T359> n = new Nullable<T359>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do360(T360 t) { + Nullable<T360> n = new Nullable<T360>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do361(T361 t) { + Nullable<T361> n = new Nullable<T361>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do362(T362 t) { + Nullable<T362> n = new Nullable<T362>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do363(T363 t) { + Nullable<T363> n = new Nullable<T363>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do364(T364 t) { + Nullable<T364> n = new Nullable<T364>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do365(T365 t) { + Nullable<T365> n = new Nullable<T365>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do366(T366 t) { + Nullable<T366> n = new Nullable<T366>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do367(T367 t) { + Nullable<T367> n = new Nullable<T367>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do368(T368 t) { + Nullable<T368> n = new Nullable<T368>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do369(T369 t) { + Nullable<T369> n = new Nullable<T369>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do370(T370 t) { + Nullable<T370> n = new Nullable<T370>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do371(T371 t) { + Nullable<T371> n = new Nullable<T371>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do372(T372 t) { + Nullable<T372> n = new Nullable<T372>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do373(T373 t) { + Nullable<T373> n = new Nullable<T373>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do374(T374 t) { + Nullable<T374> n = new Nullable<T374>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do375(T375 t) { + Nullable<T375> n = new Nullable<T375>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do376(T376 t) { + Nullable<T376> n = new Nullable<T376>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do377(T377 t) { + Nullable<T377> n = new Nullable<T377>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do378(T378 t) { + Nullable<T378> n = new Nullable<T378>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do379(T379 t) { + Nullable<T379> n = new Nullable<T379>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do380(T380 t) { + Nullable<T380> n = new Nullable<T380>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do381(T381 t) { + Nullable<T381> n = new Nullable<T381>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do382(T382 t) { + Nullable<T382> n = new Nullable<T382>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do383(T383 t) { + Nullable<T383> n = new Nullable<T383>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do384(T384 t) { + Nullable<T384> n = new Nullable<T384>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do385(T385 t) { + Nullable<T385> n = new Nullable<T385>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do386(T386 t) { + Nullable<T386> n = new Nullable<T386>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do387(T387 t) { + Nullable<T387> n = new Nullable<T387>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do388(T388 t) { + Nullable<T388> n = new Nullable<T388>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do389(T389 t) { + Nullable<T389> n = new Nullable<T389>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do390(T390 t) { + Nullable<T390> n = new Nullable<T390>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do391(T391 t) { + Nullable<T391> n = new Nullable<T391>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do392(T392 t) { + Nullable<T392> n = new Nullable<T392>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do393(T393 t) { + Nullable<T393> n = new Nullable<T393>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do394(T394 t) { + Nullable<T394> n = new Nullable<T394>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do395(T395 t) { + Nullable<T395> n = new Nullable<T395>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do396(T396 t) { + Nullable<T396> n = new Nullable<T396>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do397(T397 t) { + Nullable<T397> n = new Nullable<T397>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do398(T398 t) { + Nullable<T398> n = new Nullable<T398>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do399(T399 t) { + Nullable<T399> n = new Nullable<T399>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do400(T400 t) { + Nullable<T400> n = new Nullable<T400>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do401(T401 t) { + Nullable<T401> n = new Nullable<T401>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do402(T402 t) { + Nullable<T402> n = new Nullable<T402>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do403(T403 t) { + Nullable<T403> n = new Nullable<T403>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do404(T404 t) { + Nullable<T404> n = new Nullable<T404>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do405(T405 t) { + Nullable<T405> n = new Nullable<T405>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do406(T406 t) { + Nullable<T406> n = new Nullable<T406>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do407(T407 t) { + Nullable<T407> n = new Nullable<T407>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do408(T408 t) { + Nullable<T408> n = new Nullable<T408>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do409(T409 t) { + Nullable<T409> n = new Nullable<T409>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do410(T410 t) { + Nullable<T410> n = new Nullable<T410>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do411(T411 t) { + Nullable<T411> n = new Nullable<T411>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do412(T412 t) { + Nullable<T412> n = new Nullable<T412>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do413(T413 t) { + Nullable<T413> n = new Nullable<T413>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do414(T414 t) { + Nullable<T414> n = new Nullable<T414>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do415(T415 t) { + Nullable<T415> n = new Nullable<T415>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do416(T416 t) { + Nullable<T416> n = new Nullable<T416>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do417(T417 t) { + Nullable<T417> n = new Nullable<T417>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do418(T418 t) { + Nullable<T418> n = new Nullable<T418>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do419(T419 t) { + Nullable<T419> n = new Nullable<T419>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do420(T420 t) { + Nullable<T420> n = new Nullable<T420>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do421(T421 t) { + Nullable<T421> n = new Nullable<T421>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do422(T422 t) { + Nullable<T422> n = new Nullable<T422>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do423(T423 t) { + Nullable<T423> n = new Nullable<T423>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do424(T424 t) { + Nullable<T424> n = new Nullable<T424>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do425(T425 t) { + Nullable<T425> n = new Nullable<T425>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do426(T426 t) { + Nullable<T426> n = new Nullable<T426>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do427(T427 t) { + Nullable<T427> n = new Nullable<T427>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do428(T428 t) { + Nullable<T428> n = new Nullable<T428>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do429(T429 t) { + Nullable<T429> n = new Nullable<T429>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do430(T430 t) { + Nullable<T430> n = new Nullable<T430>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do431(T431 t) { + Nullable<T431> n = new Nullable<T431>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do432(T432 t) { + Nullable<T432> n = new Nullable<T432>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do433(T433 t) { + Nullable<T433> n = new Nullable<T433>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do434(T434 t) { + Nullable<T434> n = new Nullable<T434>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do435(T435 t) { + Nullable<T435> n = new Nullable<T435>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do436(T436 t) { + Nullable<T436> n = new Nullable<T436>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do437(T437 t) { + Nullable<T437> n = new Nullable<T437>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do438(T438 t) { + Nullable<T438> n = new Nullable<T438>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do439(T439 t) { + Nullable<T439> n = new Nullable<T439>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do440(T440 t) { + Nullable<T440> n = new Nullable<T440>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do441(T441 t) { + Nullable<T441> n = new Nullable<T441>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do442(T442 t) { + Nullable<T442> n = new Nullable<T442>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do443(T443 t) { + Nullable<T443> n = new Nullable<T443>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do444(T444 t) { + Nullable<T444> n = new Nullable<T444>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do445(T445 t) { + Nullable<T445> n = new Nullable<T445>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do446(T446 t) { + Nullable<T446> n = new Nullable<T446>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do447(T447 t) { + Nullable<T447> n = new Nullable<T447>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do448(T448 t) { + Nullable<T448> n = new Nullable<T448>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do449(T449 t) { + Nullable<T449> n = new Nullable<T449>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do450(T450 t) { + Nullable<T450> n = new Nullable<T450>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do451(T451 t) { + Nullable<T451> n = new Nullable<T451>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do452(T452 t) { + Nullable<T452> n = new Nullable<T452>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do453(T453 t) { + Nullable<T453> n = new Nullable<T453>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do454(T454 t) { + Nullable<T454> n = new Nullable<T454>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do455(T455 t) { + Nullable<T455> n = new Nullable<T455>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do456(T456 t) { + Nullable<T456> n = new Nullable<T456>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do457(T457 t) { + Nullable<T457> n = new Nullable<T457>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do458(T458 t) { + Nullable<T458> n = new Nullable<T458>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do459(T459 t) { + Nullable<T459> n = new Nullable<T459>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do460(T460 t) { + Nullable<T460> n = new Nullable<T460>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do461(T461 t) { + Nullable<T461> n = new Nullable<T461>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do462(T462 t) { + Nullable<T462> n = new Nullable<T462>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do463(T463 t) { + Nullable<T463> n = new Nullable<T463>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do464(T464 t) { + Nullable<T464> n = new Nullable<T464>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do465(T465 t) { + Nullable<T465> n = new Nullable<T465>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do466(T466 t) { + Nullable<T466> n = new Nullable<T466>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do467(T467 t) { + Nullable<T467> n = new Nullable<T467>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do468(T468 t) { + Nullable<T468> n = new Nullable<T468>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do469(T469 t) { + Nullable<T469> n = new Nullable<T469>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do470(T470 t) { + Nullable<T470> n = new Nullable<T470>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do471(T471 t) { + Nullable<T471> n = new Nullable<T471>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do472(T472 t) { + Nullable<T472> n = new Nullable<T472>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do473(T473 t) { + Nullable<T473> n = new Nullable<T473>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do474(T474 t) { + Nullable<T474> n = new Nullable<T474>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do475(T475 t) { + Nullable<T475> n = new Nullable<T475>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do476(T476 t) { + Nullable<T476> n = new Nullable<T476>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do477(T477 t) { + Nullable<T477> n = new Nullable<T477>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do478(T478 t) { + Nullable<T478> n = new Nullable<T478>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do479(T479 t) { + Nullable<T479> n = new Nullable<T479>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do480(T480 t) { + Nullable<T480> n = new Nullable<T480>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do481(T481 t) { + Nullable<T481> n = new Nullable<T481>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do482(T482 t) { + Nullable<T482> n = new Nullable<T482>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do483(T483 t) { + Nullable<T483> n = new Nullable<T483>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do484(T484 t) { + Nullable<T484> n = new Nullable<T484>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do485(T485 t) { + Nullable<T485> n = new Nullable<T485>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do486(T486 t) { + Nullable<T486> n = new Nullable<T486>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do487(T487 t) { + Nullable<T487> n = new Nullable<T487>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do488(T488 t) { + Nullable<T488> n = new Nullable<T488>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do489(T489 t) { + Nullable<T489> n = new Nullable<T489>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do490(T490 t) { + Nullable<T490> n = new Nullable<T490>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do491(T491 t) { + Nullable<T491> n = new Nullable<T491>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do492(T492 t) { + Nullable<T492> n = new Nullable<T492>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do493(T493 t) { + Nullable<T493> n = new Nullable<T493>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do494(T494 t) { + Nullable<T494> n = new Nullable<T494>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do495(T495 t) { + Nullable<T495> n = new Nullable<T495>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do496(T496 t) { + Nullable<T496> n = new Nullable<T496>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do497(T497 t) { + Nullable<T497> n = new Nullable<T497>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do498(T498 t) { + Nullable<T498> n = new Nullable<T498>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do499(T499 t) { + Nullable<T499> n = new Nullable<T499>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do500(T500 t) { + Nullable<T500> n = new Nullable<T500>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do501(T501 t) { + Nullable<T501> n = new Nullable<T501>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do502(T502 t) { + Nullable<T502> n = new Nullable<T502>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do503(T503 t) { + Nullable<T503> n = new Nullable<T503>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do504(T504 t) { + Nullable<T504> n = new Nullable<T504>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do505(T505 t) { + Nullable<T505> n = new Nullable<T505>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do506(T506 t) { + Nullable<T506> n = new Nullable<T506>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do507(T507 t) { + Nullable<T507> n = new Nullable<T507>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do508(T508 t) { + Nullable<T508> n = new Nullable<T508>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do509(T509 t) { + Nullable<T509> n = new Nullable<T509>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do510(T510 t) { + Nullable<T510> n = new Nullable<T510>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do511(T511 t) { + Nullable<T511> n = new Nullable<T511>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do512(T512 t) { + Nullable<T512> n = new Nullable<T512>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do513(T513 t) { + Nullable<T513> n = new Nullable<T513>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do514(T514 t) { + Nullable<T514> n = new Nullable<T514>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do515(T515 t) { + Nullable<T515> n = new Nullable<T515>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do516(T516 t) { + Nullable<T516> n = new Nullable<T516>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do517(T517 t) { + Nullable<T517> n = new Nullable<T517>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do518(T518 t) { + Nullable<T518> n = new Nullable<T518>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do519(T519 t) { + Nullable<T519> n = new Nullable<T519>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do520(T520 t) { + Nullable<T520> n = new Nullable<T520>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do521(T521 t) { + Nullable<T521> n = new Nullable<T521>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do522(T522 t) { + Nullable<T522> n = new Nullable<T522>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do523(T523 t) { + Nullable<T523> n = new Nullable<T523>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do524(T524 t) { + Nullable<T524> n = new Nullable<T524>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do525(T525 t) { + Nullable<T525> n = new Nullable<T525>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do526(T526 t) { + Nullable<T526> n = new Nullable<T526>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do527(T527 t) { + Nullable<T527> n = new Nullable<T527>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do528(T528 t) { + Nullable<T528> n = new Nullable<T528>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do529(T529 t) { + Nullable<T529> n = new Nullable<T529>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do530(T530 t) { + Nullable<T530> n = new Nullable<T530>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do531(T531 t) { + Nullable<T531> n = new Nullable<T531>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do532(T532 t) { + Nullable<T532> n = new Nullable<T532>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do533(T533 t) { + Nullable<T533> n = new Nullable<T533>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do534(T534 t) { + Nullable<T534> n = new Nullable<T534>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do535(T535 t) { + Nullable<T535> n = new Nullable<T535>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do536(T536 t) { + Nullable<T536> n = new Nullable<T536>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do537(T537 t) { + Nullable<T537> n = new Nullable<T537>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do538(T538 t) { + Nullable<T538> n = new Nullable<T538>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do539(T539 t) { + Nullable<T539> n = new Nullable<T539>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do540(T540 t) { + Nullable<T540> n = new Nullable<T540>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do541(T541 t) { + Nullable<T541> n = new Nullable<T541>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do542(T542 t) { + Nullable<T542> n = new Nullable<T542>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do543(T543 t) { + Nullable<T543> n = new Nullable<T543>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do544(T544 t) { + Nullable<T544> n = new Nullable<T544>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do545(T545 t) { + Nullable<T545> n = new Nullable<T545>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do546(T546 t) { + Nullable<T546> n = new Nullable<T546>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do547(T547 t) { + Nullable<T547> n = new Nullable<T547>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do548(T548 t) { + Nullable<T548> n = new Nullable<T548>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do549(T549 t) { + Nullable<T549> n = new Nullable<T549>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do550(T550 t) { + Nullable<T550> n = new Nullable<T550>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do551(T551 t) { + Nullable<T551> n = new Nullable<T551>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do552(T552 t) { + Nullable<T552> n = new Nullable<T552>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do553(T553 t) { + Nullable<T553> n = new Nullable<T553>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do554(T554 t) { + Nullable<T554> n = new Nullable<T554>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do555(T555 t) { + Nullable<T555> n = new Nullable<T555>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do556(T556 t) { + Nullable<T556> n = new Nullable<T556>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do557(T557 t) { + Nullable<T557> n = new Nullable<T557>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do558(T558 t) { + Nullable<T558> n = new Nullable<T558>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do559(T559 t) { + Nullable<T559> n = new Nullable<T559>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do560(T560 t) { + Nullable<T560> n = new Nullable<T560>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do561(T561 t) { + Nullable<T561> n = new Nullable<T561>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do562(T562 t) { + Nullable<T562> n = new Nullable<T562>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do563(T563 t) { + Nullable<T563> n = new Nullable<T563>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do564(T564 t) { + Nullable<T564> n = new Nullable<T564>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do565(T565 t) { + Nullable<T565> n = new Nullable<T565>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do566(T566 t) { + Nullable<T566> n = new Nullable<T566>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do567(T567 t) { + Nullable<T567> n = new Nullable<T567>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do568(T568 t) { + Nullable<T568> n = new Nullable<T568>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do569(T569 t) { + Nullable<T569> n = new Nullable<T569>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do570(T570 t) { + Nullable<T570> n = new Nullable<T570>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do571(T571 t) { + Nullable<T571> n = new Nullable<T571>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do572(T572 t) { + Nullable<T572> n = new Nullable<T572>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do573(T573 t) { + Nullable<T573> n = new Nullable<T573>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do574(T574 t) { + Nullable<T574> n = new Nullable<T574>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do575(T575 t) { + Nullable<T575> n = new Nullable<T575>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do576(T576 t) { + Nullable<T576> n = new Nullable<T576>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do577(T577 t) { + Nullable<T577> n = new Nullable<T577>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do578(T578 t) { + Nullable<T578> n = new Nullable<T578>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do579(T579 t) { + Nullable<T579> n = new Nullable<T579>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do580(T580 t) { + Nullable<T580> n = new Nullable<T580>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do581(T581 t) { + Nullable<T581> n = new Nullable<T581>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do582(T582 t) { + Nullable<T582> n = new Nullable<T582>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do583(T583 t) { + Nullable<T583> n = new Nullable<T583>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do584(T584 t) { + Nullable<T584> n = new Nullable<T584>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do585(T585 t) { + Nullable<T585> n = new Nullable<T585>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do586(T586 t) { + Nullable<T586> n = new Nullable<T586>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do587(T587 t) { + Nullable<T587> n = new Nullable<T587>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do588(T588 t) { + Nullable<T588> n = new Nullable<T588>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do589(T589 t) { + Nullable<T589> n = new Nullable<T589>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do590(T590 t) { + Nullable<T590> n = new Nullable<T590>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do591(T591 t) { + Nullable<T591> n = new Nullable<T591>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do592(T592 t) { + Nullable<T592> n = new Nullable<T592>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do593(T593 t) { + Nullable<T593> n = new Nullable<T593>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do594(T594 t) { + Nullable<T594> n = new Nullable<T594>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do595(T595 t) { + Nullable<T595> n = new Nullable<T595>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do596(T596 t) { + Nullable<T596> n = new Nullable<T596>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do597(T597 t) { + Nullable<T597> n = new Nullable<T597>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do598(T598 t) { + Nullable<T598> n = new Nullable<T598>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do599(T599 t) { + Nullable<T599> n = new Nullable<T599>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do600(T600 t) { + Nullable<T600> n = new Nullable<T600>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do601(T601 t) { + Nullable<T601> n = new Nullable<T601>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do602(T602 t) { + Nullable<T602> n = new Nullable<T602>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do603(T603 t) { + Nullable<T603> n = new Nullable<T603>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do604(T604 t) { + Nullable<T604> n = new Nullable<T604>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do605(T605 t) { + Nullable<T605> n = new Nullable<T605>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do606(T606 t) { + Nullable<T606> n = new Nullable<T606>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do607(T607 t) { + Nullable<T607> n = new Nullable<T607>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do608(T608 t) { + Nullable<T608> n = new Nullable<T608>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do609(T609 t) { + Nullable<T609> n = new Nullable<T609>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do610(T610 t) { + Nullable<T610> n = new Nullable<T610>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do611(T611 t) { + Nullable<T611> n = new Nullable<T611>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do612(T612 t) { + Nullable<T612> n = new Nullable<T612>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do613(T613 t) { + Nullable<T613> n = new Nullable<T613>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do614(T614 t) { + Nullable<T614> n = new Nullable<T614>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do615(T615 t) { + Nullable<T615> n = new Nullable<T615>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do616(T616 t) { + Nullable<T616> n = new Nullable<T616>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do617(T617 t) { + Nullable<T617> n = new Nullable<T617>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do618(T618 t) { + Nullable<T618> n = new Nullable<T618>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do619(T619 t) { + Nullable<T619> n = new Nullable<T619>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do620(T620 t) { + Nullable<T620> n = new Nullable<T620>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do621(T621 t) { + Nullable<T621> n = new Nullable<T621>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do622(T622 t) { + Nullable<T622> n = new Nullable<T622>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do623(T623 t) { + Nullable<T623> n = new Nullable<T623>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do624(T624 t) { + Nullable<T624> n = new Nullable<T624>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do625(T625 t) { + Nullable<T625> n = new Nullable<T625>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do626(T626 t) { + Nullable<T626> n = new Nullable<T626>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do627(T627 t) { + Nullable<T627> n = new Nullable<T627>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do628(T628 t) { + Nullable<T628> n = new Nullable<T628>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do629(T629 t) { + Nullable<T629> n = new Nullable<T629>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do630(T630 t) { + Nullable<T630> n = new Nullable<T630>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do631(T631 t) { + Nullable<T631> n = new Nullable<T631>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do632(T632 t) { + Nullable<T632> n = new Nullable<T632>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do633(T633 t) { + Nullable<T633> n = new Nullable<T633>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do634(T634 t) { + Nullable<T634> n = new Nullable<T634>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do635(T635 t) { + Nullable<T635> n = new Nullable<T635>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do636(T636 t) { + Nullable<T636> n = new Nullable<T636>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do637(T637 t) { + Nullable<T637> n = new Nullable<T637>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do638(T638 t) { + Nullable<T638> n = new Nullable<T638>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do639(T639 t) { + Nullable<T639> n = new Nullable<T639>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do640(T640 t) { + Nullable<T640> n = new Nullable<T640>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do641(T641 t) { + Nullable<T641> n = new Nullable<T641>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do642(T642 t) { + Nullable<T642> n = new Nullable<T642>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do643(T643 t) { + Nullable<T643> n = new Nullable<T643>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do644(T644 t) { + Nullable<T644> n = new Nullable<T644>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do645(T645 t) { + Nullable<T645> n = new Nullable<T645>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do646(T646 t) { + Nullable<T646> n = new Nullable<T646>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do647(T647 t) { + Nullable<T647> n = new Nullable<T647>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do648(T648 t) { + Nullable<T648> n = new Nullable<T648>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do649(T649 t) { + Nullable<T649> n = new Nullable<T649>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do650(T650 t) { + Nullable<T650> n = new Nullable<T650>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do651(T651 t) { + Nullable<T651> n = new Nullable<T651>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do652(T652 t) { + Nullable<T652> n = new Nullable<T652>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do653(T653 t) { + Nullable<T653> n = new Nullable<T653>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do654(T654 t) { + Nullable<T654> n = new Nullable<T654>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do655(T655 t) { + Nullable<T655> n = new Nullable<T655>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do656(T656 t) { + Nullable<T656> n = new Nullable<T656>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do657(T657 t) { + Nullable<T657> n = new Nullable<T657>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do658(T658 t) { + Nullable<T658> n = new Nullable<T658>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do659(T659 t) { + Nullable<T659> n = new Nullable<T659>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do660(T660 t) { + Nullable<T660> n = new Nullable<T660>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do661(T661 t) { + Nullable<T661> n = new Nullable<T661>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do662(T662 t) { + Nullable<T662> n = new Nullable<T662>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do663(T663 t) { + Nullable<T663> n = new Nullable<T663>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do664(T664 t) { + Nullable<T664> n = new Nullable<T664>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do665(T665 t) { + Nullable<T665> n = new Nullable<T665>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do666(T666 t) { + Nullable<T666> n = new Nullable<T666>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do667(T667 t) { + Nullable<T667> n = new Nullable<T667>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do668(T668 t) { + Nullable<T668> n = new Nullable<T668>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do669(T669 t) { + Nullable<T669> n = new Nullable<T669>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do670(T670 t) { + Nullable<T670> n = new Nullable<T670>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do671(T671 t) { + Nullable<T671> n = new Nullable<T671>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do672(T672 t) { + Nullable<T672> n = new Nullable<T672>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do673(T673 t) { + Nullable<T673> n = new Nullable<T673>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do674(T674 t) { + Nullable<T674> n = new Nullable<T674>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do675(T675 t) { + Nullable<T675> n = new Nullable<T675>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do676(T676 t) { + Nullable<T676> n = new Nullable<T676>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do677(T677 t) { + Nullable<T677> n = new Nullable<T677>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do678(T678 t) { + Nullable<T678> n = new Nullable<T678>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do679(T679 t) { + Nullable<T679> n = new Nullable<T679>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do680(T680 t) { + Nullable<T680> n = new Nullable<T680>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do681(T681 t) { + Nullable<T681> n = new Nullable<T681>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do682(T682 t) { + Nullable<T682> n = new Nullable<T682>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do683(T683 t) { + Nullable<T683> n = new Nullable<T683>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do684(T684 t) { + Nullable<T684> n = new Nullable<T684>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do685(T685 t) { + Nullable<T685> n = new Nullable<T685>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do686(T686 t) { + Nullable<T686> n = new Nullable<T686>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do687(T687 t) { + Nullable<T687> n = new Nullable<T687>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do688(T688 t) { + Nullable<T688> n = new Nullable<T688>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do689(T689 t) { + Nullable<T689> n = new Nullable<T689>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do690(T690 t) { + Nullable<T690> n = new Nullable<T690>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do691(T691 t) { + Nullable<T691> n = new Nullable<T691>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do692(T692 t) { + Nullable<T692> n = new Nullable<T692>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do693(T693 t) { + Nullable<T693> n = new Nullable<T693>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do694(T694 t) { + Nullable<T694> n = new Nullable<T694>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do695(T695 t) { + Nullable<T695> n = new Nullable<T695>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do696(T696 t) { + Nullable<T696> n = new Nullable<T696>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do697(T697 t) { + Nullable<T697> n = new Nullable<T697>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do698(T698 t) { + Nullable<T698> n = new Nullable<T698>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do699(T699 t) { + Nullable<T699> n = new Nullable<T699>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do700(T700 t) { + Nullable<T700> n = new Nullable<T700>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do701(T701 t) { + Nullable<T701> n = new Nullable<T701>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do702(T702 t) { + Nullable<T702> n = new Nullable<T702>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do703(T703 t) { + Nullable<T703> n = new Nullable<T703>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do704(T704 t) { + Nullable<T704> n = new Nullable<T704>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do705(T705 t) { + Nullable<T705> n = new Nullable<T705>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do706(T706 t) { + Nullable<T706> n = new Nullable<T706>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do707(T707 t) { + Nullable<T707> n = new Nullable<T707>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do708(T708 t) { + Nullable<T708> n = new Nullable<T708>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do709(T709 t) { + Nullable<T709> n = new Nullable<T709>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do710(T710 t) { + Nullable<T710> n = new Nullable<T710>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do711(T711 t) { + Nullable<T711> n = new Nullable<T711>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do712(T712 t) { + Nullable<T712> n = new Nullable<T712>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do713(T713 t) { + Nullable<T713> n = new Nullable<T713>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do714(T714 t) { + Nullable<T714> n = new Nullable<T714>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do715(T715 t) { + Nullable<T715> n = new Nullable<T715>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do716(T716 t) { + Nullable<T716> n = new Nullable<T716>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do717(T717 t) { + Nullable<T717> n = new Nullable<T717>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do718(T718 t) { + Nullable<T718> n = new Nullable<T718>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do719(T719 t) { + Nullable<T719> n = new Nullable<T719>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do720(T720 t) { + Nullable<T720> n = new Nullable<T720>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do721(T721 t) { + Nullable<T721> n = new Nullable<T721>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do722(T722 t) { + Nullable<T722> n = new Nullable<T722>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do723(T723 t) { + Nullable<T723> n = new Nullable<T723>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do724(T724 t) { + Nullable<T724> n = new Nullable<T724>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do725(T725 t) { + Nullable<T725> n = new Nullable<T725>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do726(T726 t) { + Nullable<T726> n = new Nullable<T726>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do727(T727 t) { + Nullable<T727> n = new Nullable<T727>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do728(T728 t) { + Nullable<T728> n = new Nullable<T728>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do729(T729 t) { + Nullable<T729> n = new Nullable<T729>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do730(T730 t) { + Nullable<T730> n = new Nullable<T730>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do731(T731 t) { + Nullable<T731> n = new Nullable<T731>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do732(T732 t) { + Nullable<T732> n = new Nullable<T732>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do733(T733 t) { + Nullable<T733> n = new Nullable<T733>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do734(T734 t) { + Nullable<T734> n = new Nullable<T734>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do735(T735 t) { + Nullable<T735> n = new Nullable<T735>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do736(T736 t) { + Nullable<T736> n = new Nullable<T736>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do737(T737 t) { + Nullable<T737> n = new Nullable<T737>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do738(T738 t) { + Nullable<T738> n = new Nullable<T738>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do739(T739 t) { + Nullable<T739> n = new Nullable<T739>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do740(T740 t) { + Nullable<T740> n = new Nullable<T740>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do741(T741 t) { + Nullable<T741> n = new Nullable<T741>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do742(T742 t) { + Nullable<T742> n = new Nullable<T742>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do743(T743 t) { + Nullable<T743> n = new Nullable<T743>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do744(T744 t) { + Nullable<T744> n = new Nullable<T744>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do745(T745 t) { + Nullable<T745> n = new Nullable<T745>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do746(T746 t) { + Nullable<T746> n = new Nullable<T746>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do747(T747 t) { + Nullable<T747> n = new Nullable<T747>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do748(T748 t) { + Nullable<T748> n = new Nullable<T748>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do749(T749 t) { + Nullable<T749> n = new Nullable<T749>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do750(T750 t) { + Nullable<T750> n = new Nullable<T750>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do751(T751 t) { + Nullable<T751> n = new Nullable<T751>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do752(T752 t) { + Nullable<T752> n = new Nullable<T752>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do753(T753 t) { + Nullable<T753> n = new Nullable<T753>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do754(T754 t) { + Nullable<T754> n = new Nullable<T754>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do755(T755 t) { + Nullable<T755> n = new Nullable<T755>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do756(T756 t) { + Nullable<T756> n = new Nullable<T756>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do757(T757 t) { + Nullable<T757> n = new Nullable<T757>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do758(T758 t) { + Nullable<T758> n = new Nullable<T758>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do759(T759 t) { + Nullable<T759> n = new Nullable<T759>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do760(T760 t) { + Nullable<T760> n = new Nullable<T760>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do761(T761 t) { + Nullable<T761> n = new Nullable<T761>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do762(T762 t) { + Nullable<T762> n = new Nullable<T762>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do763(T763 t) { + Nullable<T763> n = new Nullable<T763>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do764(T764 t) { + Nullable<T764> n = new Nullable<T764>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do765(T765 t) { + Nullable<T765> n = new Nullable<T765>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do766(T766 t) { + Nullable<T766> n = new Nullable<T766>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do767(T767 t) { + Nullable<T767> n = new Nullable<T767>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do768(T768 t) { + Nullable<T768> n = new Nullable<T768>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do769(T769 t) { + Nullable<T769> n = new Nullable<T769>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do770(T770 t) { + Nullable<T770> n = new Nullable<T770>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do771(T771 t) { + Nullable<T771> n = new Nullable<T771>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do772(T772 t) { + Nullable<T772> n = new Nullable<T772>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do773(T773 t) { + Nullable<T773> n = new Nullable<T773>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do774(T774 t) { + Nullable<T774> n = new Nullable<T774>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do775(T775 t) { + Nullable<T775> n = new Nullable<T775>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do776(T776 t) { + Nullable<T776> n = new Nullable<T776>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do777(T777 t) { + Nullable<T777> n = new Nullable<T777>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do778(T778 t) { + Nullable<T778> n = new Nullable<T778>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do779(T779 t) { + Nullable<T779> n = new Nullable<T779>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do780(T780 t) { + Nullable<T780> n = new Nullable<T780>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do781(T781 t) { + Nullable<T781> n = new Nullable<T781>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do782(T782 t) { + Nullable<T782> n = new Nullable<T782>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do783(T783 t) { + Nullable<T783> n = new Nullable<T783>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do784(T784 t) { + Nullable<T784> n = new Nullable<T784>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do785(T785 t) { + Nullable<T785> n = new Nullable<T785>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do786(T786 t) { + Nullable<T786> n = new Nullable<T786>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do787(T787 t) { + Nullable<T787> n = new Nullable<T787>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do788(T788 t) { + Nullable<T788> n = new Nullable<T788>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do789(T789 t) { + Nullable<T789> n = new Nullable<T789>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do790(T790 t) { + Nullable<T790> n = new Nullable<T790>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do791(T791 t) { + Nullable<T791> n = new Nullable<T791>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do792(T792 t) { + Nullable<T792> n = new Nullable<T792>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do793(T793 t) { + Nullable<T793> n = new Nullable<T793>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do794(T794 t) { + Nullable<T794> n = new Nullable<T794>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do795(T795 t) { + Nullable<T795> n = new Nullable<T795>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do796(T796 t) { + Nullable<T796> n = new Nullable<T796>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do797(T797 t) { + Nullable<T797> n = new Nullable<T797>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do798(T798 t) { + Nullable<T798> n = new Nullable<T798>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do799(T799 t) { + Nullable<T799> n = new Nullable<T799>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do800(T800 t) { + Nullable<T800> n = new Nullable<T800>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do801(T801 t) { + Nullable<T801> n = new Nullable<T801>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do802(T802 t) { + Nullable<T802> n = new Nullable<T802>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do803(T803 t) { + Nullable<T803> n = new Nullable<T803>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do804(T804 t) { + Nullable<T804> n = new Nullable<T804>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do805(T805 t) { + Nullable<T805> n = new Nullable<T805>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do806(T806 t) { + Nullable<T806> n = new Nullable<T806>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do807(T807 t) { + Nullable<T807> n = new Nullable<T807>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do808(T808 t) { + Nullable<T808> n = new Nullable<T808>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do809(T809 t) { + Nullable<T809> n = new Nullable<T809>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do810(T810 t) { + Nullable<T810> n = new Nullable<T810>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do811(T811 t) { + Nullable<T811> n = new Nullable<T811>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do812(T812 t) { + Nullable<T812> n = new Nullable<T812>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do813(T813 t) { + Nullable<T813> n = new Nullable<T813>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do814(T814 t) { + Nullable<T814> n = new Nullable<T814>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do815(T815 t) { + Nullable<T815> n = new Nullable<T815>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do816(T816 t) { + Nullable<T816> n = new Nullable<T816>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do817(T817 t) { + Nullable<T817> n = new Nullable<T817>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do818(T818 t) { + Nullable<T818> n = new Nullable<T818>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do819(T819 t) { + Nullable<T819> n = new Nullable<T819>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do820(T820 t) { + Nullable<T820> n = new Nullable<T820>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do821(T821 t) { + Nullable<T821> n = new Nullable<T821>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do822(T822 t) { + Nullable<T822> n = new Nullable<T822>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do823(T823 t) { + Nullable<T823> n = new Nullable<T823>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do824(T824 t) { + Nullable<T824> n = new Nullable<T824>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do825(T825 t) { + Nullable<T825> n = new Nullable<T825>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do826(T826 t) { + Nullable<T826> n = new Nullable<T826>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do827(T827 t) { + Nullable<T827> n = new Nullable<T827>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do828(T828 t) { + Nullable<T828> n = new Nullable<T828>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do829(T829 t) { + Nullable<T829> n = new Nullable<T829>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do830(T830 t) { + Nullable<T830> n = new Nullable<T830>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do831(T831 t) { + Nullable<T831> n = new Nullable<T831>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do832(T832 t) { + Nullable<T832> n = new Nullable<T832>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do833(T833 t) { + Nullable<T833> n = new Nullable<T833>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do834(T834 t) { + Nullable<T834> n = new Nullable<T834>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do835(T835 t) { + Nullable<T835> n = new Nullable<T835>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do836(T836 t) { + Nullable<T836> n = new Nullable<T836>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do837(T837 t) { + Nullable<T837> n = new Nullable<T837>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do838(T838 t) { + Nullable<T838> n = new Nullable<T838>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do839(T839 t) { + Nullable<T839> n = new Nullable<T839>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do840(T840 t) { + Nullable<T840> n = new Nullable<T840>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do841(T841 t) { + Nullable<T841> n = new Nullable<T841>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do842(T842 t) { + Nullable<T842> n = new Nullable<T842>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do843(T843 t) { + Nullable<T843> n = new Nullable<T843>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do844(T844 t) { + Nullable<T844> n = new Nullable<T844>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do845(T845 t) { + Nullable<T845> n = new Nullable<T845>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do846(T846 t) { + Nullable<T846> n = new Nullable<T846>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do847(T847 t) { + Nullable<T847> n = new Nullable<T847>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do848(T848 t) { + Nullable<T848> n = new Nullable<T848>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do849(T849 t) { + Nullable<T849> n = new Nullable<T849>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do850(T850 t) { + Nullable<T850> n = new Nullable<T850>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do851(T851 t) { + Nullable<T851> n = new Nullable<T851>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do852(T852 t) { + Nullable<T852> n = new Nullable<T852>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do853(T853 t) { + Nullable<T853> n = new Nullable<T853>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do854(T854 t) { + Nullable<T854> n = new Nullable<T854>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do855(T855 t) { + Nullable<T855> n = new Nullable<T855>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do856(T856 t) { + Nullable<T856> n = new Nullable<T856>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do857(T857 t) { + Nullable<T857> n = new Nullable<T857>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do858(T858 t) { + Nullable<T858> n = new Nullable<T858>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do859(T859 t) { + Nullable<T859> n = new Nullable<T859>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do860(T860 t) { + Nullable<T860> n = new Nullable<T860>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do861(T861 t) { + Nullable<T861> n = new Nullable<T861>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do862(T862 t) { + Nullable<T862> n = new Nullable<T862>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do863(T863 t) { + Nullable<T863> n = new Nullable<T863>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do864(T864 t) { + Nullable<T864> n = new Nullable<T864>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do865(T865 t) { + Nullable<T865> n = new Nullable<T865>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do866(T866 t) { + Nullable<T866> n = new Nullable<T866>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do867(T867 t) { + Nullable<T867> n = new Nullable<T867>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do868(T868 t) { + Nullable<T868> n = new Nullable<T868>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do869(T869 t) { + Nullable<T869> n = new Nullable<T869>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do870(T870 t) { + Nullable<T870> n = new Nullable<T870>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do871(T871 t) { + Nullable<T871> n = new Nullable<T871>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do872(T872 t) { + Nullable<T872> n = new Nullable<T872>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do873(T873 t) { + Nullable<T873> n = new Nullable<T873>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do874(T874 t) { + Nullable<T874> n = new Nullable<T874>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do875(T875 t) { + Nullable<T875> n = new Nullable<T875>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do876(T876 t) { + Nullable<T876> n = new Nullable<T876>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do877(T877 t) { + Nullable<T877> n = new Nullable<T877>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do878(T878 t) { + Nullable<T878> n = new Nullable<T878>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do879(T879 t) { + Nullable<T879> n = new Nullable<T879>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do880(T880 t) { + Nullable<T880> n = new Nullable<T880>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do881(T881 t) { + Nullable<T881> n = new Nullable<T881>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do882(T882 t) { + Nullable<T882> n = new Nullable<T882>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do883(T883 t) { + Nullable<T883> n = new Nullable<T883>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do884(T884 t) { + Nullable<T884> n = new Nullable<T884>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do885(T885 t) { + Nullable<T885> n = new Nullable<T885>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do886(T886 t) { + Nullable<T886> n = new Nullable<T886>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do887(T887 t) { + Nullable<T887> n = new Nullable<T887>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do888(T888 t) { + Nullable<T888> n = new Nullable<T888>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do889(T889 t) { + Nullable<T889> n = new Nullable<T889>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do890(T890 t) { + Nullable<T890> n = new Nullable<T890>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do891(T891 t) { + Nullable<T891> n = new Nullable<T891>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do892(T892 t) { + Nullable<T892> n = new Nullable<T892>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do893(T893 t) { + Nullable<T893> n = new Nullable<T893>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do894(T894 t) { + Nullable<T894> n = new Nullable<T894>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do895(T895 t) { + Nullable<T895> n = new Nullable<T895>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do896(T896 t) { + Nullable<T896> n = new Nullable<T896>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do897(T897 t) { + Nullable<T897> n = new Nullable<T897>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do898(T898 t) { + Nullable<T898> n = new Nullable<T898>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do899(T899 t) { + Nullable<T899> n = new Nullable<T899>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do900(T900 t) { + Nullable<T900> n = new Nullable<T900>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do901(T901 t) { + Nullable<T901> n = new Nullable<T901>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do902(T902 t) { + Nullable<T902> n = new Nullable<T902>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do903(T903 t) { + Nullable<T903> n = new Nullable<T903>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do904(T904 t) { + Nullable<T904> n = new Nullable<T904>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do905(T905 t) { + Nullable<T905> n = new Nullable<T905>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do906(T906 t) { + Nullable<T906> n = new Nullable<T906>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do907(T907 t) { + Nullable<T907> n = new Nullable<T907>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do908(T908 t) { + Nullable<T908> n = new Nullable<T908>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do909(T909 t) { + Nullable<T909> n = new Nullable<T909>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do910(T910 t) { + Nullable<T910> n = new Nullable<T910>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do911(T911 t) { + Nullable<T911> n = new Nullable<T911>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do912(T912 t) { + Nullable<T912> n = new Nullable<T912>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do913(T913 t) { + Nullable<T913> n = new Nullable<T913>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do914(T914 t) { + Nullable<T914> n = new Nullable<T914>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do915(T915 t) { + Nullable<T915> n = new Nullable<T915>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do916(T916 t) { + Nullable<T916> n = new Nullable<T916>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do917(T917 t) { + Nullable<T917> n = new Nullable<T917>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do918(T918 t) { + Nullable<T918> n = new Nullable<T918>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do919(T919 t) { + Nullable<T919> n = new Nullable<T919>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do920(T920 t) { + Nullable<T920> n = new Nullable<T920>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do921(T921 t) { + Nullable<T921> n = new Nullable<T921>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do922(T922 t) { + Nullable<T922> n = new Nullable<T922>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do923(T923 t) { + Nullable<T923> n = new Nullable<T923>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do924(T924 t) { + Nullable<T924> n = new Nullable<T924>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do925(T925 t) { + Nullable<T925> n = new Nullable<T925>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do926(T926 t) { + Nullable<T926> n = new Nullable<T926>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do927(T927 t) { + Nullable<T927> n = new Nullable<T927>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do928(T928 t) { + Nullable<T928> n = new Nullable<T928>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do929(T929 t) { + Nullable<T929> n = new Nullable<T929>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do930(T930 t) { + Nullable<T930> n = new Nullable<T930>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do931(T931 t) { + Nullable<T931> n = new Nullable<T931>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do932(T932 t) { + Nullable<T932> n = new Nullable<T932>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do933(T933 t) { + Nullable<T933> n = new Nullable<T933>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do934(T934 t) { + Nullable<T934> n = new Nullable<T934>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do935(T935 t) { + Nullable<T935> n = new Nullable<T935>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do936(T936 t) { + Nullable<T936> n = new Nullable<T936>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do937(T937 t) { + Nullable<T937> n = new Nullable<T937>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do938(T938 t) { + Nullable<T938> n = new Nullable<T938>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do939(T939 t) { + Nullable<T939> n = new Nullable<T939>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do940(T940 t) { + Nullable<T940> n = new Nullable<T940>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do941(T941 t) { + Nullable<T941> n = new Nullable<T941>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do942(T942 t) { + Nullable<T942> n = new Nullable<T942>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do943(T943 t) { + Nullable<T943> n = new Nullable<T943>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do944(T944 t) { + Nullable<T944> n = new Nullable<T944>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do945(T945 t) { + Nullable<T945> n = new Nullable<T945>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do946(T946 t) { + Nullable<T946> n = new Nullable<T946>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do947(T947 t) { + Nullable<T947> n = new Nullable<T947>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do948(T948 t) { + Nullable<T948> n = new Nullable<T948>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do949(T949 t) { + Nullable<T949> n = new Nullable<T949>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do950(T950 t) { + Nullable<T950> n = new Nullable<T950>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do951(T951 t) { + Nullable<T951> n = new Nullable<T951>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do952(T952 t) { + Nullable<T952> n = new Nullable<T952>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do953(T953 t) { + Nullable<T953> n = new Nullable<T953>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do954(T954 t) { + Nullable<T954> n = new Nullable<T954>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do955(T955 t) { + Nullable<T955> n = new Nullable<T955>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do956(T956 t) { + Nullable<T956> n = new Nullable<T956>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do957(T957 t) { + Nullable<T957> n = new Nullable<T957>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do958(T958 t) { + Nullable<T958> n = new Nullable<T958>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do959(T959 t) { + Nullable<T959> n = new Nullable<T959>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do960(T960 t) { + Nullable<T960> n = new Nullable<T960>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do961(T961 t) { + Nullable<T961> n = new Nullable<T961>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do962(T962 t) { + Nullable<T962> n = new Nullable<T962>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do963(T963 t) { + Nullable<T963> n = new Nullable<T963>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do964(T964 t) { + Nullable<T964> n = new Nullable<T964>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do965(T965 t) { + Nullable<T965> n = new Nullable<T965>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do966(T966 t) { + Nullable<T966> n = new Nullable<T966>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do967(T967 t) { + Nullable<T967> n = new Nullable<T967>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do968(T968 t) { + Nullable<T968> n = new Nullable<T968>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do969(T969 t) { + Nullable<T969> n = new Nullable<T969>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do970(T970 t) { + Nullable<T970> n = new Nullable<T970>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do971(T971 t) { + Nullable<T971> n = new Nullable<T971>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do972(T972 t) { + Nullable<T972> n = new Nullable<T972>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do973(T973 t) { + Nullable<T973> n = new Nullable<T973>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do974(T974 t) { + Nullable<T974> n = new Nullable<T974>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do975(T975 t) { + Nullable<T975> n = new Nullable<T975>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do976(T976 t) { + Nullable<T976> n = new Nullable<T976>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do977(T977 t) { + Nullable<T977> n = new Nullable<T977>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do978(T978 t) { + Nullable<T978> n = new Nullable<T978>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do979(T979 t) { + Nullable<T979> n = new Nullable<T979>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do980(T980 t) { + Nullable<T980> n = new Nullable<T980>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do981(T981 t) { + Nullable<T981> n = new Nullable<T981>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do982(T982 t) { + Nullable<T982> n = new Nullable<T982>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do983(T983 t) { + Nullable<T983> n = new Nullable<T983>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do984(T984 t) { + Nullable<T984> n = new Nullable<T984>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do985(T985 t) { + Nullable<T985> n = new Nullable<T985>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do986(T986 t) { + Nullable<T986> n = new Nullable<T986>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do987(T987 t) { + Nullable<T987> n = new Nullable<T987>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do988(T988 t) { + Nullable<T988> n = new Nullable<T988>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do989(T989 t) { + Nullable<T989> n = new Nullable<T989>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do990(T990 t) { + Nullable<T990> n = new Nullable<T990>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do991(T991 t) { + Nullable<T991> n = new Nullable<T991>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do992(T992 t) { + Nullable<T992> n = new Nullable<T992>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do993(T993 t) { + Nullable<T993> n = new Nullable<T993>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do994(T994 t) { + Nullable<T994> n = new Nullable<T994>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do995(T995 t) { + Nullable<T995> n = new Nullable<T995>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do996(T996 t) { + Nullable<T996> n = new Nullable<T996>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do997(T997 t) { + Nullable<T997> n = new Nullable<T997>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do998(T998 t) { + Nullable<T998> n = new Nullable<T998>(t); + return Ensure(n.HasValue && n.Value == t); + } + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Do999(T999 t) { + Nullable<T999> n = new Nullable<T999>(t); + return Ensure(n.HasValue && n.Value == t); + } + + [MethodImpl(MethodImplOptions.NoInlining)] + static bool Ensure(bool pred) { + if (!pred) + throw new Exception("Ensure fails"); + return pred; + } +} diff --git a/tests/src/Loader/classloader/regressions/245191/nullenum1000.csproj b/tests/src/Loader/classloader/regressions/245191/nullenum1000.csproj new file mode 100644 index 0000000000..384c376449 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/245191/nullenum1000.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="nullenum1000.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/245191/project.json b/tests/src/Loader/classloader/regressions/245191/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/245191/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/245191/project.lock.json b/tests/src/Loader/classloader/regressions/245191/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/regressions/245191/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/359519/app.config b/tests/src/Loader/classloader/regressions/359519/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/359519/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/359519/project.json b/tests/src/Loader/classloader/regressions/359519/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/359519/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/359519/project.lock.json b/tests/src/Loader/classloader/regressions/359519/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/regressions/359519/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/359519/test359519.cs b/tests/src/Loader/classloader/regressions/359519/test359519.cs new file mode 100644 index 0000000000..5a981ea694 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/359519/test359519.cs @@ -0,0 +1,45 @@ +// this is a regression test for VSWhidbey 359519 +// a struct Root, has a static field that appears earlier in the metadata than a valuetype instance field. + +using System; +using System.Runtime.InteropServices; + +class MainClass + +{ + //Variable + [StructLayout(LayoutKind.Explicit, Size=1, Pack=1, CharSet=CharSet.Unicode)] + public struct Variable + { + [FieldOffset(0), MarshalAs(UnmanagedType.I1)] + public bool boolean; // A boolean field marshalled as 1 byte) + } + + [StructLayout(LayoutKind.Explicit, Size=2, Pack=1, CharSet=CharSet.Unicode)] + public struct Root + { + public static byte byte1; + [FieldOffset(8)] + public Variable var1; + } + + public static int Main(String[] args) + { + try + { + Root r = new Root(); + + // to remove compiler warning + // warning CS0219: The variable 'r' is assigned but its value is never used + + r.ToString(); + Console.WriteLine("PASS"); + return 100; + } + catch (Exception e) + { + Console.WriteLine("FAIL: Caught unexpected exception - " + e); + return 101; + } + } +} diff --git a/tests/src/Loader/classloader/regressions/359519/test359519.csproj b/tests/src/Loader/classloader/regressions/359519/test359519.csproj new file mode 100644 index 0000000000..a0b16d9a61 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/359519/test359519.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="test359519.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/405223/app.config b/tests/src/Loader/classloader/regressions/405223/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/405223/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/405223/project.json b/tests/src/Loader/classloader/regressions/405223/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/405223/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/405223/project.lock.json b/tests/src/Loader/classloader/regressions/405223/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/regressions/405223/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/405223/vsw405223.cs b/tests/src/Loader/classloader/regressions/405223/vsw405223.cs new file mode 100644 index 0000000000..8226b12a7c --- /dev/null +++ b/tests/src/Loader/classloader/regressions/405223/vsw405223.cs @@ -0,0 +1,25 @@ +// Regression test for VSW 405223 +// We shouldn't be able to cast from short[] to char[] or from char[] to short[] +// since that is the behavior in Everett and we should be consistent in Whidbey. + +using System; + +class Class1 +{ + public static int Main() + { + object o1 = new short[3]; + object o2 = new char[3]; + + if(o1 is char[] || o2 is short[]) + { + Console.WriteLine("FAIL: Was able to cast short[] to char[] or char[] to short[]"); + return 101; + } + else + { + Console.WriteLine("PASS"); + return 100; + } + } +} diff --git a/tests/src/Loader/classloader/regressions/405223/vsw405223.csproj b/tests/src/Loader/classloader/regressions/405223/vsw405223.csproj new file mode 100644 index 0000000000..b8a903fd63 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/405223/vsw405223.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="vsw405223.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/434481/app.config b/tests/src/Loader/classloader/regressions/434481/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/434481/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/434481/b434481_GenericRecurInit.csproj b/tests/src/Loader/classloader/regressions/434481/b434481_GenericRecurInit.csproj new file mode 100644 index 0000000000..fb1d2e73da --- /dev/null +++ b/tests/src/Loader/classloader/regressions/434481/b434481_GenericRecurInit.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="b434481_genericrecurinit.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/434481/b434481_genericrecurinit.cs b/tests/src/Loader/classloader/regressions/434481/b434481_genericrecurinit.cs new file mode 100644 index 0000000000..73993ab3a0 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/434481/b434481_genericrecurinit.cs @@ -0,0 +1,71 @@ +using System; + +internal class Program +{ + private static int Main() + { + int iErrorCount = 0; + String tstr = null; + try{ + S<int> i = new S<int>(); + tstr = i.ToString(); + System.Console.WriteLine(tstr); + if( tstr != "Program+S`1[System.Int32]" ) + { + Console.WriteLine( "Err_01: Expected type: Program+S`1[System.Int32]" ); + Console.WriteLine( "Err_01: Actualy get type: " + tstr ); + iErrorCount++; + } + S<object> o = new S<object>(); + tstr = o.ToString(); + System.Console.WriteLine(tstr); + if( tstr != "Program+S`1[System.Object]" ) + { + Console.WriteLine( "Err_02: Expected type: Program+S`1[System.Object]" ); + Console.WriteLine( "Err_02: Actualy get type: " + tstr ); + iErrorCount++; + } + + S<string> s = new S<string>(); + tstr = s.ToString(); + System.Console.WriteLine(tstr); + if( tstr != "Program+S`1[System.String]" ) + { + Console.WriteLine( "Err_01: Expected type: Program+S`1[System.String]" ); + Console.WriteLine( "Err_01: Actualy get type: " + tstr ); + iErrorCount++; + } + S<Program> p = new S<Program>(); + tstr = p.ToString(); + System.Console.WriteLine(tstr); + if( tstr != "Program+S`1[Program]" ) + { + Console.WriteLine( "Err_01: Expected type: Program+S`1[Program]" ); + Console.WriteLine( "Err_01: Actualy get type: " + tstr ); + iErrorCount++; + } + }catch( Exception e) + { + Console.WriteLine( "Unexpected: " + e ); + iErrorCount++; + } + if( iErrorCount > 0 ) + { + Console.WriteLine( "Test Failed" ); + return 101; + } + else { + Console.WriteLine( "Test passed" ); + return 100; + } + + } + + public struct S<T> + { +#pragma warning disable 0414 + public static S<T> Foo = new S<T>(); +#pragma warning restore 0414 + + } +} diff --git a/tests/src/Loader/classloader/regressions/434481/project.json b/tests/src/Loader/classloader/regressions/434481/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/434481/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/434481/project.lock.json b/tests/src/Loader/classloader/regressions/434481/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/regressions/434481/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/dev10_851479/app.config b/tests/src/Loader/classloader/regressions/dev10_851479/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/dev10_851479/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/dev10_851479/dev10_851479.cs b/tests/src/Loader/classloader/regressions/dev10_851479/dev10_851479.cs new file mode 100644 index 0000000000..757505bd58 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/dev10_851479/dev10_851479.cs @@ -0,0 +1,47 @@ +using System; + +/// <summary> +/// Regression test case for Dev10 851479 bug: Stackoverflow in .NET when using self referencing generics along with type constraints to another type parameter. +/// </summary> +class Program +{ + static Int32 Main() + { + Program p = new Program(); + + if (p.Run()) + { + Console.WriteLine("PASS"); + return 100; + } + else + { + Console.WriteLine("FAIL"); + return -1; + } + } + + public Boolean Run() + { + try + { + var B = new B(); + System.Console.WriteLine(B); + } + catch (Exception ex) + { + Console.WriteLine("Got unexpected error: " + ex); + return false; + } + + return true; + } +} + +class A<T, U> + where T : U + where U : A<T, U> { } + +class B : A<B, B> +{ +} diff --git a/tests/src/Loader/classloader/regressions/dev10_851479/dev10_851479.csproj b/tests/src/Loader/classloader/regressions/dev10_851479/dev10_851479.csproj new file mode 100644 index 0000000000..a2f4d639fe --- /dev/null +++ b/tests/src/Loader/classloader/regressions/dev10_851479/dev10_851479.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="dev10_851479.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/dev10_851479/project.json b/tests/src/Loader/classloader/regressions/dev10_851479/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/dev10_851479/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/dev10_851479/project.lock.json b/tests/src/Loader/classloader/regressions/dev10_851479/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/regressions/dev10_851479/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/dev10_889822/app.config b/tests/src/Loader/classloader/regressions/dev10_889822/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/dev10_889822/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/dev10_889822/dev10_889822.cs b/tests/src/Loader/classloader/regressions/dev10_889822/dev10_889822.cs new file mode 100644 index 0000000000..372db0e06d --- /dev/null +++ b/tests/src/Loader/classloader/regressions/dev10_889822/dev10_889822.cs @@ -0,0 +1,23 @@ +using System; +using System.IO; + +interface IFoo { + void foo(); +} + +class My { + static int Main() + { + try { + IFoo s = null; + s.foo(); + } + catch (NullReferenceException) { + Console.WriteLine("Successfully caught a null reference exception."); + return 100; + } + + Console.WriteLine("Failed!!"); + return -1; + } +} diff --git a/tests/src/Loader/classloader/regressions/dev10_889822/dev10_889822.csproj b/tests/src/Loader/classloader/regressions/dev10_889822/dev10_889822.csproj new file mode 100644 index 0000000000..dc9a1ca4f1 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/dev10_889822/dev10_889822.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="dev10_889822.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/dev10_889822/project.json b/tests/src/Loader/classloader/regressions/dev10_889822/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/dev10_889822/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/dev10_889822/project.lock.json b/tests/src/Loader/classloader/regressions/dev10_889822/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/regressions/dev10_889822/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/vsw111021/app.config b/tests/src/Loader/classloader/regressions/vsw111021/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/vsw111021/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/vsw111021/main.cs b/tests/src/Loader/classloader/regressions/vsw111021/main.cs new file mode 100644 index 0000000000..9029c0dcde --- /dev/null +++ b/tests/src/Loader/classloader/regressions/vsw111021/main.cs @@ -0,0 +1,26 @@ +using System; +public class CMain{ + public static int Count = 0; + public static int Main(String[] args){ + String s; + s = Gen<String>.x; + // we expect the Gen<T>.cctor to fire only once! + if(1 == Count){ + Console.WriteLine("PASS"); + return 100; + } + else{ + Console.WriteLine("FAIL"); + return 101; + } + } +} + +public class Gen<T>{ + + public static T x; + static Gen(){ + CMain.Count++; + Console.WriteLine("cctor. Type: {0}",typeof(T).ToString()); + } +} diff --git a/tests/src/Loader/classloader/regressions/vsw111021/main.csproj b/tests/src/Loader/classloader/regressions/vsw111021/main.csproj new file mode 100644 index 0000000000..b54d810dd6 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/vsw111021/main.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="main.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/vsw111021/project.json b/tests/src/Loader/classloader/regressions/vsw111021/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/vsw111021/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/vsw111021/project.lock.json b/tests/src/Loader/classloader/regressions/vsw111021/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/regressions/vsw111021/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/vsw307137/app.config b/tests/src/Loader/classloader/regressions/vsw307137/app.config new file mode 100644 index 0000000000..62803f5972 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/vsw307137/app.config @@ -0,0 +1,27 @@ +<?xml version="1.0" encoding="utf-8"?> +<configuration> + <runtime> + <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> + <dependentAssembly> + <assemblyIdentity name="System.Runtime" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.20.0" newVersion="4.0.20.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Text.Encoding" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Threading.Tasks" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.IO" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + <dependentAssembly> + <assemblyIdentity name="System.Reflection" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> + <bindingRedirect oldVersion="0.0.0.0-4.0.10.0" newVersion="4.0.10.0" /> + </dependentAssembly> + </assemblyBinding> + </runtime> +</configuration>
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/vsw307137/project.json b/tests/src/Loader/classloader/regressions/vsw307137/project.json new file mode 100644 index 0000000000..7fad5ffff3 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/vsw307137/project.json @@ -0,0 +1,10 @@ +{ + "dependencies": { + "System.Console": "4.0.0-beta-*", + "System.Runtime": "4.0.20-beta-*", + "System.Runtime.Extensions": "4.0.10-beta-*" + }, + "frameworks": { + "dnxcore50": {} + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/vsw307137/project.lock.json b/tests/src/Loader/classloader/regressions/vsw307137/project.lock.json new file mode 100644 index 0000000000..b2c00b900a --- /dev/null +++ b/tests/src/Loader/classloader/regressions/vsw307137/project.lock.json @@ -0,0 +1,612 @@ +{ + "locked": true, + "version": -9996, + "targets": { + "DNXCore,Version=v5.0": { + "System.Console/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Runtime.InteropServices": "4.0.20-beta-23024", + "System.Resources.ResourceManager": "4.0.0-beta-23024", + "System.IO.FileSystem.Primitives": "4.0.0-beta-23024", + "System.IO": "4.0.10-beta-23024", + "System.Threading.Tasks": "4.0.10-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024", + "System.Threading": "4.0.10-beta-23024", + "System.Text.Encoding.Extensions": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Console.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Console.dll": {} + } + }, + "System.Globalization/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Globalization.dll": {} + } + }, + "System.IO/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024", + "System.Text.Encoding": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.IO.dll": {} + } + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.IO.FileSystem.Primitives.dll": {} + }, + "runtime": { + "lib/dotnet/System.IO.FileSystem.Primitives.dll": {} + } + }, + "System.Private.Uri/4.0.0-beta-23024": { + "runtime": { + "lib/DNXCore50/System.Private.Uri.dll": {} + } + }, + "System.Reflection/4.0.0-beta-23024": { + "dependencies": { + "System.IO": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.dll": {} + } + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Reflection.Primitives.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Reflection.Primitives.dll": {} + } + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Globalization": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Resources.ResourceManager.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Resources.ResourceManager.dll": {} + } + }, + "System.Runtime/4.0.20-beta-23024": { + "dependencies": { + "System.Private.Uri": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.dll": {} + } + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.20-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Extensions.dll": {} + } + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.Handles.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.Handles.dll": {} + } + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Reflection": "4.0.0-beta-23024", + "System.Reflection.Primitives": "4.0.0-beta-23024", + "System.Runtime.Handles": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Runtime.InteropServices.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Runtime.InteropServices.dll": {} + } + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.dll": {} + } + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Text.Encoding": "4.0.10-beta-23024" + }, + "compile": { + "ref/dotnet/System.Text.Encoding.Extensions.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Text.Encoding.Extensions.dll": {} + } + }, + "System.Threading/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024", + "System.Threading.Tasks": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.dll": {} + } + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "dependencies": { + "System.Runtime": "4.0.0-beta-23024" + }, + "compile": { + "ref/dotnet/System.Threading.Tasks.dll": {} + }, + "runtime": { + "lib/DNXCore50/System.Threading.Tasks.dll": {} + } + } + } + }, + "libraries": { + "System.Console/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "UZq1tgMJ/8TknBXBRVHDrLq4cK7f6m1pxyKbGwadmiapWowkNiB0J8wAFM30iWdiZDr8awzWLBigHxC4/8a8bQ==", + "files": [ + "System.Console.4.0.0-beta-23024.nupkg", + "System.Console.4.0.0-beta-23024.nupkg.sha512", + "System.Console.nuspec", + "lib/DNXCore50/System.Console.dll", + "lib/net46/System.Console.dll", + "ref/dotnet/System.Console.dll", + "ref/dotnet/System.Console.xml", + "ref/dotnet/de/System.Console.xml", + "ref/dotnet/es/System.Console.xml", + "ref/dotnet/fr/System.Console.xml", + "ref/dotnet/it/System.Console.xml", + "ref/dotnet/ja/System.Console.xml", + "ref/dotnet/ko/System.Console.xml", + "ref/dotnet/ru/System.Console.xml", + "ref/dotnet/zh-hans/System.Console.xml", + "ref/dotnet/zh-hant/System.Console.xml", + "ref/net46/System.Console.dll" + ] + }, + "System.Globalization/4.0.0-beta-23024": { + "sha512": "spLUZdsogiGRrw0J/WPrayNmvrKO9luR3SewdrW6Khw2Jc3K5dVTlF75d7oRHAQ7zELn37/Pvb66ASFuJg835g==", + "files": [ + "License.rtf", + "System.Globalization.4.0.0-beta-23024.nupkg", + "System.Globalization.4.0.0-beta-23024.nupkg.sha512", + "System.Globalization.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Globalization.dll", + "ref/dotnet/System.Globalization.xml", + "ref/dotnet/de/System.Globalization.xml", + "ref/dotnet/es/System.Globalization.xml", + "ref/dotnet/fr/System.Globalization.xml", + "ref/dotnet/it/System.Globalization.xml", + "ref/dotnet/ja/System.Globalization.xml", + "ref/dotnet/ko/System.Globalization.xml", + "ref/dotnet/ru/System.Globalization.xml", + "ref/dotnet/zh-hans/System.Globalization.xml", + "ref/dotnet/zh-hant/System.Globalization.xml", + "ref/net45/_._", + "ref/netcore50/System.Globalization.dll", + "ref/netcore50/System.Globalization.xml", + "ref/netcore50/de/System.Globalization.xml", + "ref/netcore50/es/System.Globalization.xml", + "ref/netcore50/fr/System.Globalization.xml", + "ref/netcore50/it/System.Globalization.xml", + "ref/netcore50/ja/System.Globalization.xml", + "ref/netcore50/ko/System.Globalization.xml", + "ref/netcore50/ru/System.Globalization.xml", + "ref/netcore50/zh-hans/System.Globalization.xml", + "ref/netcore50/zh-hant/System.Globalization.xml", + "ref/win8/_._" + ] + }, + "System.IO/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "WSXeleSR+UFJqZQUhzkgcq/O4iyR+YTOIh0IXFXW6ABw+JfH56jb6AuQJwltzZXXtNbdz7Ha2A5OIeYIT6QRFw==", + "files": [ + "System.IO.4.0.10-beta-23024.nupkg", + "System.IO.4.0.10-beta-23024.nupkg.sha512", + "System.IO.nuspec", + "lib/DNXCore50/System.IO.dll", + "lib/net46/_._", + "lib/netcore50/System.IO.dll", + "ref/dotnet/System.IO.dll", + "ref/dotnet/System.IO.xml", + "ref/dotnet/de/System.IO.xml", + "ref/dotnet/es/System.IO.xml", + "ref/dotnet/fr/System.IO.xml", + "ref/dotnet/it/System.IO.xml", + "ref/dotnet/ja/System.IO.xml", + "ref/dotnet/ko/System.IO.xml", + "ref/dotnet/ru/System.IO.xml", + "ref/dotnet/zh-hans/System.IO.xml", + "ref/dotnet/zh-hant/System.IO.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.IO.dll" + ] + }, + "System.IO.FileSystem.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "86WpDEexzC+lt1oFesANFdk3BQ2tP74YgPS4uVnlhEqr/XZG/H7qbEWP72Dve/x+xbJ7/ifayfitIpc9byUu7Q==", + "files": [ + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg", + "System.IO.FileSystem.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.IO.FileSystem.Primitives.nuspec", + "lib/dotnet/System.IO.FileSystem.Primitives.dll", + "lib/net46/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.dll", + "ref/dotnet/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/de/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/es/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/fr/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/it/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ja/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ko/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/ru/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hans/System.IO.FileSystem.Primitives.xml", + "ref/dotnet/zh-hant/System.IO.FileSystem.Primitives.xml", + "ref/net46/System.IO.FileSystem.Primitives.dll" + ] + }, + "System.Private.Uri/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "SJbplxSAYqzECE4GzsXfkES5vug34KI34ERs2ySNAfuVcEbtto0YieQQqLQERzYINfbFVbOPbV4yN3VTzjW0DQ==", + "files": [ + "System.Private.Uri.4.0.0-beta-23024.nupkg", + "System.Private.Uri.4.0.0-beta-23024.nupkg.sha512", + "System.Private.Uri.nuspec", + "lib/DNXCore50/System.Private.Uri.dll", + "lib/netcore50/System.Private.Uri.dll", + "ref/dnxcore50/_._", + "ref/netcore50/_._", + "runtimes/win8-aot/lib/netcore50/System.Private.Uri.dll" + ] + }, + "System.Reflection/4.0.0-beta-23024": { + "sha512": "UmA+4UuB+4xIaP1ok9i+Jg2BV6rFKyX35puGZmnXQiaKFFEs9jMF0cInSrwAxbi1ggzuqoZ1gJo2mrmU+sMdkA==", + "files": [ + "License.rtf", + "System.Reflection.4.0.0-beta-23024.nupkg", + "System.Reflection.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.nuspec", + "lib/net45/_._", + "lib/win8/_._", + "ref/dotnet/System.Reflection.dll", + "ref/dotnet/System.Reflection.xml", + "ref/dotnet/de/System.Reflection.xml", + "ref/dotnet/es/System.Reflection.xml", + "ref/dotnet/fr/System.Reflection.xml", + "ref/dotnet/it/System.Reflection.xml", + "ref/dotnet/ja/System.Reflection.xml", + "ref/dotnet/ko/System.Reflection.xml", + "ref/dotnet/ru/System.Reflection.xml", + "ref/dotnet/zh-hans/System.Reflection.xml", + "ref/dotnet/zh-hant/System.Reflection.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.dll", + "ref/netcore50/System.Reflection.xml", + "ref/netcore50/de/System.Reflection.xml", + "ref/netcore50/es/System.Reflection.xml", + "ref/netcore50/fr/System.Reflection.xml", + "ref/netcore50/it/System.Reflection.xml", + "ref/netcore50/ja/System.Reflection.xml", + "ref/netcore50/ko/System.Reflection.xml", + "ref/netcore50/ru/System.Reflection.xml", + "ref/netcore50/zh-hans/System.Reflection.xml", + "ref/netcore50/zh-hant/System.Reflection.xml", + "ref/win8/_._" + ] + }, + "System.Reflection.Primitives/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "y2g5Rwm68Nnt3Ag+pAKLRwUifIKhm1gMy36bnU5rFrZhxg21hls93QH75HDZqXjK80leEr0BC1ajZZ+IcZvKCw==", + "files": [ + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg", + "System.Reflection.Primitives.4.0.0-beta-23024.nupkg.sha512", + "System.Reflection.Primitives.nuspec", + "lib/DNXCore50/System.Reflection.Primitives.dll", + "lib/net45/_._", + "lib/netcore50/System.Reflection.Primitives.dll", + "lib/win8/_._", + "ref/dotnet/System.Reflection.Primitives.dll", + "ref/dotnet/System.Reflection.Primitives.xml", + "ref/dotnet/de/System.Reflection.Primitives.xml", + "ref/dotnet/es/System.Reflection.Primitives.xml", + "ref/dotnet/fr/System.Reflection.Primitives.xml", + "ref/dotnet/it/System.Reflection.Primitives.xml", + "ref/dotnet/ja/System.Reflection.Primitives.xml", + "ref/dotnet/ko/System.Reflection.Primitives.xml", + "ref/dotnet/ru/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hans/System.Reflection.Primitives.xml", + "ref/dotnet/zh-hant/System.Reflection.Primitives.xml", + "ref/net45/_._", + "ref/netcore50/System.Reflection.Primitives.dll", + "ref/netcore50/System.Reflection.Primitives.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Reflection.Primitives.dll" + ] + }, + "System.Resources.ResourceManager/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "xIiopNepii+eLPHo3lak0jmJK2EhQa/Su33Kjpin3t2/ZrFB2m8NoJF/LMV7wpsz2k7rr74RsG1+/m8pZprx+w==", + "files": [ + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg", + "System.Resources.ResourceManager.4.0.0-beta-23024.nupkg.sha512", + "System.Resources.ResourceManager.nuspec", + "lib/DNXCore50/System.Resources.ResourceManager.dll", + "lib/net45/_._", + "lib/netcore50/System.Resources.ResourceManager.dll", + "lib/win8/_._", + "ref/dotnet/System.Resources.ResourceManager.dll", + "ref/dotnet/System.Resources.ResourceManager.xml", + "ref/dotnet/de/System.Resources.ResourceManager.xml", + "ref/dotnet/es/System.Resources.ResourceManager.xml", + "ref/dotnet/fr/System.Resources.ResourceManager.xml", + "ref/dotnet/it/System.Resources.ResourceManager.xml", + "ref/dotnet/ja/System.Resources.ResourceManager.xml", + "ref/dotnet/ko/System.Resources.ResourceManager.xml", + "ref/dotnet/ru/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hans/System.Resources.ResourceManager.xml", + "ref/dotnet/zh-hant/System.Resources.ResourceManager.xml", + "ref/net45/_._", + "ref/netcore50/System.Resources.ResourceManager.dll", + "ref/netcore50/System.Resources.ResourceManager.xml", + "ref/win8/_._", + "runtimes/win8-aot/lib/netcore50/System.Resources.ResourceManager.dll" + ] + }, + "System.Runtime/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "vacwPrf5OZcHwSL58Vdoq/vqqMrz1xbHXdZiSA5cHBCIVmo5bD9Gw+Qu4NgGekCxV3fgKs9Qq97oibezsZZ+8w==", + "files": [ + "System.Runtime.4.0.20-beta-23024.nupkg", + "System.Runtime.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.nuspec", + "lib/DNXCore50/System.Runtime.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.dll", + "ref/dotnet/System.Runtime.dll", + "ref/dotnet/System.Runtime.xml", + "ref/dotnet/de/System.Runtime.xml", + "ref/dotnet/es/System.Runtime.xml", + "ref/dotnet/fr/System.Runtime.xml", + "ref/dotnet/it/System.Runtime.xml", + "ref/dotnet/ja/System.Runtime.xml", + "ref/dotnet/ko/System.Runtime.xml", + "ref/dotnet/ru/System.Runtime.xml", + "ref/dotnet/zh-hans/System.Runtime.xml", + "ref/dotnet/zh-hant/System.Runtime.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.dll" + ] + }, + "System.Runtime.Extensions/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "Cj6RMtpMINFjTBHeClYAWk3SvDTdmo6c3rHIGwzn0R0P5B7wt0YclQibiZnjRzN/00XQ44067E6ZvRU/Z6AWgA==", + "files": [ + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg", + "System.Runtime.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Runtime.Extensions.nuspec", + "lib/DNXCore50/System.Runtime.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.dll", + "ref/dotnet/System.Runtime.Extensions.xml", + "ref/dotnet/de/System.Runtime.Extensions.xml", + "ref/dotnet/es/System.Runtime.Extensions.xml", + "ref/dotnet/fr/System.Runtime.Extensions.xml", + "ref/dotnet/it/System.Runtime.Extensions.xml", + "ref/dotnet/ja/System.Runtime.Extensions.xml", + "ref/dotnet/ko/System.Runtime.Extensions.xml", + "ref/dotnet/ru/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hans/System.Runtime.Extensions.xml", + "ref/dotnet/zh-hant/System.Runtime.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Extensions.dll" + ] + }, + "System.Runtime.Handles/4.0.0-beta-23024": { + "serviceable": true, + "sha512": "O82TxLtp/afDkQixdjJutB7jdVlRx7vrQ+RPgL7iVLSREYE+HpuXpaKsW/3HqKm2G5D/FLmvYxZLiZitHfZ4Vw==", + "files": [ + "System.Runtime.Handles.4.0.0-beta-23024.nupkg", + "System.Runtime.Handles.4.0.0-beta-23024.nupkg.sha512", + "System.Runtime.Handles.nuspec", + "lib/DNXCore50/System.Runtime.Handles.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.dll", + "ref/dotnet/System.Runtime.Handles.xml", + "ref/dotnet/de/System.Runtime.Handles.xml", + "ref/dotnet/es/System.Runtime.Handles.xml", + "ref/dotnet/fr/System.Runtime.Handles.xml", + "ref/dotnet/it/System.Runtime.Handles.xml", + "ref/dotnet/ja/System.Runtime.Handles.xml", + "ref/dotnet/ko/System.Runtime.Handles.xml", + "ref/dotnet/ru/System.Runtime.Handles.xml", + "ref/dotnet/zh-hans/System.Runtime.Handles.xml", + "ref/dotnet/zh-hant/System.Runtime.Handles.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.Handles.dll" + ] + }, + "System.Runtime.InteropServices/4.0.20-beta-23024": { + "serviceable": true, + "sha512": "004lCjqaK1zgrQ8d+on557Qny5Szp/l0W6PqB10vgs9pe+0BqfHNPui1eDnzmfhIkp6OW5t35Oqu5Lo3fROqCA==", + "files": [ + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg", + "System.Runtime.InteropServices.4.0.20-beta-23024.nupkg.sha512", + "System.Runtime.InteropServices.nuspec", + "lib/DNXCore50/System.Runtime.InteropServices.dll", + "lib/net46/_._", + "lib/netcore50/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.dll", + "ref/dotnet/System.Runtime.InteropServices.xml", + "ref/dotnet/de/System.Runtime.InteropServices.xml", + "ref/dotnet/es/System.Runtime.InteropServices.xml", + "ref/dotnet/fr/System.Runtime.InteropServices.xml", + "ref/dotnet/it/System.Runtime.InteropServices.xml", + "ref/dotnet/ja/System.Runtime.InteropServices.xml", + "ref/dotnet/ko/System.Runtime.InteropServices.xml", + "ref/dotnet/ru/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hans/System.Runtime.InteropServices.xml", + "ref/dotnet/zh-hant/System.Runtime.InteropServices.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Runtime.InteropServices.dll" + ] + }, + "System.Text.Encoding/4.0.10-beta-23024": { + "sha512": "rNCH8+rj+jrlVbw91Xrj6NpT2bhcQn0D66oCzSDPmXhf6+udI74M8SBGLI2qz48lc8L4Mr5dEIifEq2p4D1P3w==", + "files": [ + "System.Text.Encoding.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.nuspec", + "lib/DNXCore50/System.Text.Encoding.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.dll", + "ref/dotnet/System.Text.Encoding.xml", + "ref/dotnet/de/System.Text.Encoding.xml", + "ref/dotnet/es/System.Text.Encoding.xml", + "ref/dotnet/fr/System.Text.Encoding.xml", + "ref/dotnet/it/System.Text.Encoding.xml", + "ref/dotnet/ja/System.Text.Encoding.xml", + "ref/dotnet/ko/System.Text.Encoding.xml", + "ref/dotnet/ru/System.Text.Encoding.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.dll" + ] + }, + "System.Text.Encoding.Extensions/4.0.10-beta-23024": { + "sha512": "Y8JU73DQZKSSY7sz4I8PFOz5/Cp3Te02deN1Qfx8ndIOg9/uFi55p/SeeeaowvF+/iUqENRerSy5KX5YPZxcOQ==", + "files": [ + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg", + "System.Text.Encoding.Extensions.4.0.10-beta-23024.nupkg.sha512", + "System.Text.Encoding.Extensions.nuspec", + "lib/DNXCore50/System.Text.Encoding.Extensions.dll", + "lib/net46/_._", + "lib/netcore50/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.dll", + "ref/dotnet/System.Text.Encoding.Extensions.xml", + "ref/dotnet/de/System.Text.Encoding.Extensions.xml", + "ref/dotnet/es/System.Text.Encoding.Extensions.xml", + "ref/dotnet/fr/System.Text.Encoding.Extensions.xml", + "ref/dotnet/it/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ja/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ko/System.Text.Encoding.Extensions.xml", + "ref/dotnet/ru/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hans/System.Text.Encoding.Extensions.xml", + "ref/dotnet/zh-hant/System.Text.Encoding.Extensions.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Text.Encoding.Extensions.dll" + ] + }, + "System.Threading/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "uoRg44bzPk9KE9Sg6rLZmGfUmFZBDc7y25692VYna/WW3Smip/aGX0ESXyuNvWA8k8oXdV4Z/M4ZKdB3ahtdDw==", + "files": [ + "System.Threading.4.0.10-beta-23024.nupkg", + "System.Threading.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.nuspec", + "lib/DNXCore50/System.Threading.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.dll", + "ref/dotnet/System.Threading.dll", + "ref/dotnet/System.Threading.xml", + "ref/dotnet/de/System.Threading.xml", + "ref/dotnet/es/System.Threading.xml", + "ref/dotnet/fr/System.Threading.xml", + "ref/dotnet/it/System.Threading.xml", + "ref/dotnet/ja/System.Threading.xml", + "ref/dotnet/ko/System.Threading.xml", + "ref/dotnet/ru/System.Threading.xml", + "ref/dotnet/zh-hans/System.Threading.xml", + "ref/dotnet/zh-hant/System.Threading.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.dll" + ] + }, + "System.Threading.Tasks/4.0.10-beta-23024": { + "serviceable": true, + "sha512": "QQaCcvp6FL14X2Hp3v+LoRoJKLWa0B6stwC5haZUfVICJnhgnOAPaeXcGc7R/x9TMN5+aGfxTgp+2cKgmOmrNQ==", + "files": [ + "System.Threading.Tasks.4.0.10-beta-23024.nupkg", + "System.Threading.Tasks.4.0.10-beta-23024.nupkg.sha512", + "System.Threading.Tasks.nuspec", + "lib/DNXCore50/System.Threading.Tasks.dll", + "lib/net46/_._", + "lib/netcore50/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.dll", + "ref/dotnet/System.Threading.Tasks.xml", + "ref/dotnet/de/System.Threading.Tasks.xml", + "ref/dotnet/es/System.Threading.Tasks.xml", + "ref/dotnet/fr/System.Threading.Tasks.xml", + "ref/dotnet/it/System.Threading.Tasks.xml", + "ref/dotnet/ja/System.Threading.Tasks.xml", + "ref/dotnet/ko/System.Threading.Tasks.xml", + "ref/dotnet/ru/System.Threading.Tasks.xml", + "ref/dotnet/zh-hans/System.Threading.Tasks.xml", + "ref/dotnet/zh-hant/System.Threading.Tasks.xml", + "ref/net46/_._", + "runtimes/win8-aot/lib/netcore50/System.Threading.Tasks.dll" + ] + } + }, + "projectFileDependencyGroups": { + "": [ + "System.Console >= 4.0.0-beta-*", + "System.Runtime >= 4.0.20-beta-*", + "System.Runtime.Extensions >= 4.0.10-beta-*" + ], + "DNXCore,Version=v5.0": [] + } +}
\ No newline at end of file diff --git a/tests/src/Loader/classloader/regressions/vsw307137/vsw307137.cs b/tests/src/Loader/classloader/regressions/vsw307137/vsw307137.cs new file mode 100644 index 0000000000..16e997a2bb --- /dev/null +++ b/tests/src/Loader/classloader/regressions/vsw307137/vsw307137.cs @@ -0,0 +1,62 @@ +// this is regression test for VSW 307137 + +/* +The bug description has a good summary of the issue (from AtsushiK): + +A summary of the whole sordid affair. + + +In V1 and Everett, sequential classes only affected unmanaged layout and the .size metadata was used to add padding to the +unmanaged layout (IJW used this to implement their unmanaged structures. That's the only reason the .size metadata exists. +Somewhere along the line, C# started using the .size metadata to implemented fixed buffer arrays inside managed structures. +They'd declare just one field of the array element type and use the .size metadata to allocate space for the other elements. +Problem was, the .size metadata was never defined to expand the managed layout. This feature should never have worked. + +So how did it work for them? Plain dumb luck. In the CLR, if your structure consists of just one scalar-type field, the CLR +classifies it internally as a "blittable" structure. That is, it makes the managed layout match the unmanaged layout byte for +byte so that interop can optimize the marshaling of this structure to a bit-copy. Thus, because of this accidental reliance on +this internal optimization by the CLR, fixed buffers "worked" for plain old integer/float/double types. +There was two cases where it wouldn't work: chars and booleans. That's because these datatypes don't translate byte for +byte (different sizes, bools need normalizing.) So the blitting optimization doesn't kick in in those cases. + +Someone found out that the was case for chars and opened VSW:147145. A couple months later, I unwittingly"fixed" this bug +when I implemented the managed sequential layout feature. This feature now causes the .size metadata to expand out the +managed layout too (whether this was a good idea is debatable but it got VSW:147145 off the CLR team's back even though +they didn't understand how it got fixed..) + +Now we have the boolean case. Booleans are also non-blittable (they have to be normalized so they aren't blittable even if you +use a FieldMarshal override to force the native size to 1.) But because both the unmanaged size and managed size impose a +minimum value on the .size metadata, the .size metadata can't go below 4 (sizeof(BOOL) in Win32 native). + +CLR now overrides the .size metadata if it is less than the minimum size needed to hold the fields. + +*/ + +using System; + +unsafe struct S +{ + fixed bool b[3]; +} + +public class Test +{ + public static int Main() + { + try + { + #pragma warning disable 219 + S s = new S(); + #pragma warning restore 219 + + Console.WriteLine("PASS"); + return 100; + } + catch (Exception e) + { + Console.WriteLine("Caught unexpected excpetion: " + e); + return 101; + } + } + +} diff --git a/tests/src/Loader/classloader/regressions/vsw307137/vsw307137.csproj b/tests/src/Loader/classloader/regressions/vsw307137/vsw307137.csproj new file mode 100644 index 0000000000..a3d3435f29 --- /dev/null +++ b/tests/src/Loader/classloader/regressions/vsw307137/vsw307137.csproj @@ -0,0 +1,45 @@ +<?xml version="1.0" encoding="utf-8"?> +<Project ToolsVersion="12.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" /> + <PropertyGroup> + <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration> + <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform> + <SchemaVersion>2.0</SchemaVersion> + <ProjectGuid>{95DFC527-4DC1-495E-97D7-E94EE1F7140D}</ProjectGuid> + <OutputType>Exe</OutputType> + <AppDesignerFolder>Properties</AppDesignerFolder> + <FileAlignment>512</FileAlignment> + <ProjectTypeGuids>{786C830F-07A1-408B-BD7F-6EE04809D6DB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids> + <ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\11.0\UITestExtensionPackages</ReferencePath> + <SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\..\</SolutionDir> + <NuGetPackageImportStamp>7a9bfb7d</NuGetPackageImportStamp> + <AllowUnsafeBlocks>true</AllowUnsafeBlocks> + <ReferenceLocalMscorlib>false</ReferenceLocalMscorlib> + <CLRTestKind>BuildAndRun</CLRTestKind> + <CLRTestPriority>1</CLRTestPriority> + </PropertyGroup> + <!-- Default configurations to help VS understand the configurations --> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' "> + </PropertyGroup> + <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' "> + </PropertyGroup> + <ItemGroup> + <CodeAnalysisDependentAssemblyPaths Condition=" '$(VS100COMNTOOLS)' != '' " Include="$(VS100COMNTOOLS)..\IDE\PrivateAssemblies"> + <Visible>False</Visible> + </CodeAnalysisDependentAssemblyPaths> + </ItemGroup> + <ItemGroup> + <!-- Add Compile Object Here --> + <Compile Include="vsw307137.cs" /> + </ItemGroup> + <ItemGroup> + <None Include="app.config" /> + <None Include="project.json" /> + </ItemGroup> + <ItemGroup> + <Service Include="{82A7F48D-3B50-4B1E-B82E-3ADA8210C358}" /> + </ItemGroup> + <Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.targets))\dir.targets" /> + <PropertyGroup Condition=" '$(MsBuildProjectDirOverride)' != '' "> + </PropertyGroup> +</Project>
\ No newline at end of file |