summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAlexGhiondea <AlexGhiondea@users.noreply.github.com>2016-05-17 13:45:59 -0700
committerAlexGhiondea <AlexGhiondea@users.noreply.github.com>2016-05-17 13:45:59 -0700
commit41a4ad5054cf877db6aa331855b43ad8678a93ad (patch)
treedc6df3c0a4eb30fea53c0cba8b99fc45b413efe5
parent80f3d4f3a73abff6c90b331bc7b3eb97d365cf2c (diff)
parent54d45a3f4ed052ddc23d367e2cd46a7c7eb831ea (diff)
downloadcoreclr-41a4ad5054cf877db6aa331855b43ad8678a93ad.tar.gz
coreclr-41a4ad5054cf877db6aa331855b43ad8678a93ad.tar.bz2
coreclr-41a4ad5054cf877db6aa331855b43ad8678a93ad.zip
Merge pull request #4874 from gkhanna79/SPC_S1
Add support for System.Private.CoreLib to be core library
-rw-r--r--build.cmd85
-rw-r--r--build.proj1
-rwxr-xr-xbuild.sh35
-rw-r--r--src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/debian/Microsoft.NETCore.Runtime.CoreCLR.pkgproj1
-rw-r--r--src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/osx/Microsoft.NETCore.Runtime.CoreCLR.pkgproj1
-rw-r--r--src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/rhel/Microsoft.NETCore.Runtime.CoreCLR.pkgproj1
-rw-r--r--src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/Microsoft.NETCore.Runtime.CoreCLR.pkgproj1
-rw-r--r--src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj1
-rw-r--r--src/binder/assemblybinder.cpp26
-rw-r--r--src/binder/variables.cpp3
-rw-r--r--src/build.proj21
-rw-r--r--src/debug/daccess/nidump.cpp7
-rw-r--r--src/ilasm/asmman.cpp2
-rw-r--r--src/ildasm/dasm.cpp2
-rw-r--r--src/inc/utilcode.h26
-rw-r--r--src/md/winmd/adapter.cpp2
-rw-r--r--src/mscorlib/System.Private.CoreLib.csproj2
-rw-r--r--src/mscorlib/facade/mscorlib.csproj9
-rw-r--r--src/mscorlib/model.CoreLib.xml14
-rw-r--r--src/mscorlib/ref/mscorlib.cs9
-rw-r--r--src/mscorlib/src/System.Private.CoreLib.txt3491
-rw-r--r--src/mscorlib/src/System/Environment.cs6
-rw-r--r--src/mscorlib/src/System/Globalization/GlobalizationAssembly.cs2
-rw-r--r--src/mscorlib/src/System/Object.cs22
-rw-r--r--src/mscorlib/src/System/Resources/ManifestBasedResourceGroveler.cs16
-rw-r--r--src/mscorlib/src/System/Resources/ResourceManager.cs4
-rw-r--r--src/mscorlib/src/System/Resources/ResourceReader.cs1
-rw-r--r--src/mscorlib/src/System/Runtime/Serialization/SerializationInfo.cs2
-rw-r--r--src/mscorlib/src/System/Security/PermissionToken.cs11
-rw-r--r--src/mscorlib/src/System/Threading/Tasks/TPLETWProvider.cs2
-rw-r--r--src/tools/crossgen/crossgen.cpp18
-rw-r--r--src/vm/baseassemblyspec.cpp24
-rw-r--r--src/vm/clsload.cpp16
-rw-r--r--src/vm/coreclr/corebindresult.inl2
-rw-r--r--src/vm/pefile.cpp2
-rw-r--r--src/vm/vars.cpp14
-rw-r--r--src/zap/zapper.cpp2
-rw-r--r--tests/override.targets3
-rw-r--r--tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.cs6
-rw-r--r--tests/src/JIT/Regression/VS-ia64-JIT/M00/b112348/length0.il8
-rw-r--r--tests/src/managed/Compilation/Compilation.cs2
41 files changed, 3755 insertions, 148 deletions
diff --git a/build.cmd b/build.cmd
index 0b737c2bae..d8c371a0ef 100644
--- a/build.cmd
+++ b/build.cmd
@@ -45,10 +45,10 @@ set "__RootBinDir=%__ProjectDir%\bin"
set "__LogsDir=%__RootBinDir%\Logs"
set __CleanBuild=
-set __MscorlibOnly=
+set __CoreLibOnly=
set __ConfigureOnly=
set __SkipConfigure=
-set __SkipMscorlibBuild=
+set __SkipCoreLibBuild=
set __SkipNativeBuild=
set __SkipTestBuild=
set __BuildSequential=
@@ -101,16 +101,16 @@ set __PassThroughArgs=%__PassThroughArgs% %1
if /i "%1" == "clean" (set __CleanBuild=1&shift&goto Arg_Loop)
-if /i "%1" == "freebsdmscorlib" (set __MscorlibOnly=1&set __BuildOS=FreeBSD&shift&goto Arg_Loop)
-if /i "%1" == "linuxmscorlib" (set __MscorlibOnly=1&set __BuildOS=Linux&shift&goto Arg_Loop)
-if /i "%1" == "netbsdmscorlib" (set __MscorlibOnly=1&set __BuildOS=NetBSD&shift&goto Arg_Loop)
-if /i "%1" == "osxmscorlib" (set __MscorlibOnly=1&set __BuildOS=OSX&shift&goto Arg_Loop)
-if /i "%1" == "windowsmscorlib" (set __MscorlibOnly=1&set __BuildOS=Windows_NT&shift&goto Arg_Loop)
+if /i "%1" == "freebsdmscorlib" (set __CoreLibOnly=1&set __BuildOS=FreeBSD&shift&goto Arg_Loop)
+if /i "%1" == "linuxmscorlib" (set __CoreLibOnly=1&set __BuildOS=Linux&shift&goto Arg_Loop)
+if /i "%1" == "netbsdmscorlib" (set __CoreLibOnly=1&set __BuildOS=NetBSD&shift&goto Arg_Loop)
+if /i "%1" == "osxmscorlib" (set __CoreLibOnly=1&set __BuildOS=OSX&shift&goto Arg_Loop)
+if /i "%1" == "windowsmscorlib" (set __CoreLibOnly=1&set __BuildOS=Windows_NT&shift&goto Arg_Loop)
if /i "%1" == "vs2015" (set __VSVersion=%1&shift&goto Arg_Loop)
-if /i "%1" == "configureonly" (set __ConfigureOnly=1&set __SkipMscorlibBuild=1&set __SkipTestBuild=1&shift&goto Arg_Loop)
+if /i "%1" == "configureonly" (set __ConfigureOnly=1&set __SkipCoreLibBuild=1&set __SkipTestBuild=1&shift&goto Arg_Loop)
if /i "%1" == "skipconfigure" (set __SkipConfigure=1&shift&goto Arg_Loop)
-if /i "%1" == "skipmscorlib" (set __SkipMscorlibBuild=1&shift&goto Arg_Loop)
+if /i "%1" == "skipmscorlib" (set __SkipCoreLibBuild=1&shift&goto Arg_Loop)
if /i "%1" == "skipnative" (set __SkipNativeBuild=1&shift&goto Arg_Loop)
if /i "%1" == "skiptests" (set __SkipTestBuild=1&shift&goto Arg_Loop)
if /i "%1" == "sequential" (set __BuildSequential=1&shift&goto Arg_Loop)
@@ -155,7 +155,7 @@ if defined __ConfigureOnly if defined __SkipConfigure (
goto Usage
)
-if defined __SkipMscorlibBuild if defined __MscorlibOnly (
+if defined __SkipCoreLibBuild if defined __CoreLibOnly (
echo Error: option 'skipmscorlib' is incompatible with 'freebsdmscorlib', 'linuxmscorlib', 'netbsdmscorlib', 'osxmscorlib' and 'windowsmscorlib'.
goto Usage
)
@@ -223,8 +223,8 @@ if not exist "%__BinDir%" md "%__BinDir%"
if not exist "%__IntermediatesDir%" md "%__IntermediatesDir%"
if not exist "%__LogsDir%" md "%__LogsDir%"
-:: CMake isn't a requirement when building mscorlib only
-if defined __MscorlibOnly goto CheckVS
+:: CMake isn't a requirement when building CoreLib only
+if defined __CoreLibOnly goto CheckVS
echo %__MsgPrefix%Checking prerequisites
@@ -295,7 +295,7 @@ REM ============================================================================
:: Generate _version.h
if exist "%__RootBinDir%\obj\_version.h" del "%__RootBinDir%\obj\_version.h"
%_msbuildexe% "%__ProjectFilesDir%\build.proj" /t:GenerateVersionHeader /v:minimal /p:NativeVersionHeaderFile="%__RootBinDir%\obj\_version.h" /p:GenerateVersionHeader=true %__OfficialBuildIdArg%
-if defined __MscorlibOnly goto PerformMScorlibBuild
+if defined __CoreLibOnly goto PerformCoreLibBuild
if defined __SkipNativeBuild (
echo %__MsgPrefix%Skipping native components build
@@ -391,32 +391,32 @@ endlocal
REM =========================================================================================
REM ===
-REM === Mscorlib and NuGet package build section.
+REM === CoreLib and NuGet package build section.
REM ===
REM =========================================================================================
-:PerformMScorlibBuild
+:PerformCoreLibBuild
REM setlocal to prepare for vsdevcmd.bat
setlocal EnableDelayedExpansion EnableExtensions
-rem Explicitly set Platform causes conflicts in mscorlib project files. Clear it to allow building from VS x64 Native Tools Command Prompt
+rem Explicitly set Platform causes conflicts in CoreLib project files. Clear it to allow building from VS x64 Native Tools Command Prompt
set Platform=
:: Set the environment for the managed build
echo %__MsgPrefix%Using environment: "%__VSToolsRoot%\VsDevCmd.bat"
call "%__VSToolsRoot%\VsDevCmd.bat"
-if defined __SkipMscorlibBuild (
- echo %__MsgPrefix%Skipping Mscorlib build
- goto SkipMscorlibBuild
+if defined __SkipCoreLibBuild (
+ echo %__MsgPrefix%Skipping System.Private.CoreLib build
+ goto SkipCoreLibBuild
)
-echo %__MsgPrefix%Commencing build of mscorlib for %__BuildOS%.%__BuildArch%.%__BuildType%
+echo %__MsgPrefix%Commencing build of System.Private.CoreLib for %__BuildOS%.%__BuildArch%.%__BuildType%
-set "__BuildLog=%__LogsDir%\MScorlib_%__BuildOS%__%__BuildArch%__%__BuildType%.log"
-set "__BuildWrn=%__LogsDir%\MScorlib_%__BuildOS%__%__BuildArch%__%__BuildType%.wrn"
-set "__BuildErr=%__LogsDir%\MScorlib_%__BuildOS%__%__BuildArch%__%__BuildType%.err"
+set "__BuildLog=%__LogsDir%\System.Private.CoreLib_%__BuildOS%__%__BuildArch%__%__BuildType%.log"
+set "__BuildWrn=%__LogsDir%\System.Private.CoreLib_%__BuildOS%__%__BuildArch%__%__BuildType%.wrn"
+set "__BuildErr=%__LogsDir%\System.Private.CoreLib_%__BuildOS%__%__BuildArch%__%__BuildType%.err"
set __msbuildLogArgs=^
/fileloggerparameters:Verbosity=normal;LogFile="%__BuildLog%" ^
/fileloggerparameters1:WarningsOnly;LogFile="%__BuildWrn%" ^
@@ -427,36 +427,47 @@ set __msbuildLogArgs=^
set __msbuildArgs="%__ProjectFilesDir%\build.proj" %__msbuildCommonArgs% %__msbuildLogArgs% %__SignTypeReal%
set __BuildNugetPackage=true
-if defined __MscorlibOnly set __BuildNugetPackage=false
+if defined __CoreLibOnly set __BuildNugetPackage=false
if /i "%__BuildArch%" =="arm64" set __BuildNugetPackage=false
if %__BuildNugetPackage%==false set __msbuildArgs=%__msbuildArgs% /p:BuildNugetPackage=false
%_msbuildexe% %__msbuildArgs%
if errorlevel 1 (
- echo %__MsgPrefix%Error: MScorlib build failed. Refer to the build log files for details:
+ echo %__MsgPrefix%Error: System.Private.CoreLib build failed. Refer to the build log files for details:
echo %__BuildLog%
echo %__BuildWrn%
echo %__BuildErr%
exit /b 1
)
-if defined __MscorlibOnly (
- echo %__MsgPrefix%Mscorlib successfully built.
+if defined __CoreLibOnly (
+ echo %__MsgPrefix%System.Private.CoreLib successfully built.
exit /b 0
)
-echo %__MsgPrefix%Generating native image of mscorlib for %__BuildOS%.%__BuildArch%.%__BuildType%
+echo %__MsgPrefix%Generating native image of System.Private.CoreLib for %__BuildOS%.%__BuildArch%.%__BuildType%
-set "__CrossGenMScorlibLog=%__LogsDir%\CrossgenMScorlib_%__BuildOS%__%__BuildArch%__%__BuildType%.log"
+set "__CrossGenCoreLibLog=%__LogsDir%\CrossgenCoreLib_%__BuildOS%__%__BuildArch%__%__BuildType%.log"
set "__CrossgenExe=%__CrossComponentBinDir%\crossgen.exe"
-"%__CrossgenExe%" /Platform_Assemblies_Paths "%__BinDir%" /out "%__BinDir%\mscorlib.ni.dll" "%__BinDir%\mscorlib.dll" > "%__CrossGenMScorlibLog%" 2>&1
+"%__CrossgenExe%" /Platform_Assemblies_Paths "%__BinDir%" /out "%__BinDir%\System.Private.CoreLib.ni.dll" "%__BinDir%\System.Private.CoreLib.dll" > "%__CrossGenCoreLibLog%" 2>&1
if NOT errorlevel 0 (
- echo %__MsgPrefix%Error: CrossGen mscorlib build failed. Refer to the build log file for details:
- echo %__CrossGenMScorlibLog%
+ echo %__MsgPrefix%Error: CrossGen System.Private.CoreLib build failed. Refer to the build log file for details:
+ echo %__CrossGenCoreLibLog%
exit /b 1
)
-:SkipMscorlibBuild
+echo %__MsgPrefix%Generating native image of MScorlib facade for %__BuildOS%.%__BuildArch%.%__BuildType%
+
+set "__CrossGenCoreLibLog=%__LogsDir%\CrossgenMSCoreLib_%__BuildOS%__%__BuildArch%__%__BuildType%.log"
+set "__CrossgenExe=%__CrossComponentBinDir%\crossgen.exe"
+"%__CrossgenExe%" /Platform_Assemblies_Paths "%__BinDir%" /out "%__BinDir%\mscorlib.ni.dll" "%__BinDir%\mscorlib.dll" > "%__CrossGenCoreLibLog%" 2>&1
+if NOT errorlevel 0 (
+ echo %__MsgPrefix%Error: CrossGen mscorlib facade build failed. Refer to the build log file for details:
+ echo %__CrossGenCoreLibLog%
+ exit /b 1
+)
+
+:SkipCoreLibBuild
:GenerateNuget
if /i "%__BuildArch%" =="arm64" goto :SkipNuget
@@ -471,7 +482,7 @@ set __msbuildLogArgs=^
/consoleloggerparameters:Summary ^
/verbosity:minimal
-if not defined __SkipMscorlibBuild (
+if not defined __SkipCoreLibBuild (
set __msbuildArgs="%__ProjectFilesDir%\src\.nuget\Microsoft.NETCore.Runtime.CoreClr\Microsoft.NETCore.Runtime.CoreCLR.builds" /p:Platform=%__BuildArch%
%_msbuildexe% !__msbuildArgs! %__msbuildLogArgs%
if errorlevel 1 (
@@ -656,7 +667,7 @@ echo Visual Studio version: ^(default: VS2015^).
echo clean: force a clean build ^(default is to perform an incremental build^).
echo msbuildargs ... : all arguments following this tag will be passed directly to msbuild.
echo mscorlib version: one of freebsdmscorlib, linuxmscorlib, netbsdmscorlib, osxmscorlib,
-echo or windowsmscorlib. If one of these is passed, only mscorlib is built,
+echo or windowsmscorlib. If one of these is passed, only System.Private.CoreLib is built,
echo for the specified platform ^(FreeBSD, Linux, NetBSD, OS X or Windows,
echo respectively^).
echo priority ^<N^> : specify a set of test that will be built and run, with priority N.
@@ -665,10 +676,10 @@ echo sequential: force a non-parallel build ^(default is to build in parallel
echo using all processors^).
echo configureonly: skip all builds; only run CMake ^(default: CMake and builds are run^)
echo skipconfigure: skip CMake ^(default: CMake is run^)
-echo skipmscorlib: skip building mscorlib ^(default: mscorlib is built^).
+echo skipmscorlib: skip building System.Private.CoreLib ^(default: System.Private.CoreLib is built^).
echo skipnative: skip building native components ^(default: native components are built^).
echo skiptests: skip building tests ^(default: tests are built^).
-echo disableoss: Disable Open Source Signing for mscorlib.
+echo disableoss: Disable Open Source Signing for System.Private.CoreLib.
echo toolset_dir ^<dir^> : set the toolset directory -- Arm64 use only. Required for Arm64 builds.
echo.
echo If "all" is specified, then all build architectures and types are built. If, in addition,
diff --git a/build.proj b/build.proj
index cc46fdb6bc..42c5711b39 100644
--- a/build.proj
+++ b/build.proj
@@ -14,6 +14,7 @@
<!-- Override clean from dir.traversal.targets and just remove the full BinDir -->
<Target Name="Clean">
<Delete Files="$(BinDir)mscorlib.*" />
+ <Delete Files="$(BinDir)System.Private.CoreLib.*" />
</Target>
<Target Name="RestoreNETCorePlatforms" AfterTargets="Build">
diff --git a/build.sh b/build.sh
index f30c21a53b..3cc3ec803b 100755
--- a/build.sh
+++ b/build.sh
@@ -240,28 +240,35 @@ isMSBuildOnNETCoreSupported()
fi
}
-build_mscorlib_ni()
+build_CoreLib_ni()
{
if [ $__SkipCoreCLR == 0 -a -e $__BinDir/crossgen ]; then
- echo "Generating native image for mscorlib."
+ echo "Generating native image for System.Private.CoreLib."
+ $__BinDir/crossgen $__BinDir/System.Private.CoreLib.dll
+ if [ $? -ne 0 ]; then
+ echo "Failed to generate native image for System.Private.CoreLib."
+ exit 1
+ fi
+
+ echo "Generating native image for MScorlib Facade."
$__BinDir/crossgen $__BinDir/mscorlib.dll
if [ $? -ne 0 ]; then
- echo "Failed to generate native image for mscorlib."
+ echo "Failed to generate native image for mscorlib facade."
exit 1
fi
fi
}
-build_mscorlib()
+build_CoreLib()
{
if [ $__isMSBuildOnNETCoreSupported == 0 ]; then
- echo "Mscorlib.dll build unsupported."
+ echo "System.Private.CoreLib.dll build unsupported."
return
fi
if [ $__SkipMSCorLib == 1 ]; then
- echo "Skipping building mscorlib."
+ echo "Skipping building System.Private.CoreLib."
return
fi
@@ -269,13 +276,13 @@ build_mscorlib()
restoreBuildTools
- echo "Commencing build of mscorlib components for $__BuildOS.$__BuildArch.$__BuildType"
+ echo "Commencing build of managed components for $__BuildOS.$__BuildArch.$__BuildType"
# Invoke MSBuild
- $__ProjectRoot/Tools/corerun "$__MSBuildPath" /nologo "$__ProjectRoot/build.proj" /verbosity:minimal "/fileloggerparameters:Verbosity=normal;LogFile=$__LogsDir/MSCorLib_$__BuildOS__$__BuildArch__$__BuildType.log" /t:Build /p:__BuildOS=$__BuildOS /p:__BuildArch=$__BuildArch /p:__BuildType=$__BuildType /p:__IntermediatesDir=$__IntermediatesDir /p:__RootBinDir=$__RootBinDir /p:BuildNugetPackage=false /p:UseSharedCompilation=false ${__SignTypeReal}
+ $__ProjectRoot/Tools/corerun "$__MSBuildPath" /nologo "$__ProjectRoot/build.proj" /verbosity:minimal "/fileloggerparameters:Verbosity=normal;LogFile=$__LogsDir/System.Private.CoreLib_$__BuildOS__$__BuildArch__$__BuildType.log" /t:Build /p:__BuildOS=$__BuildOS /p:__BuildArch=$__BuildArch /p:__BuildType=$__BuildType /p:__IntermediatesDir=$__IntermediatesDir /p:__RootBinDir=$__RootBinDir /p:BuildNugetPackage=false /p:UseSharedCompilation=false ${__SignTypeReal}
if [ $? -ne 0 ]; then
- echo "Failed to build mscorlib."
+ echo "Failed to build managed components."
exit 1
fi
@@ -283,11 +290,11 @@ build_mscorlib()
if [ $__CrossBuild != 1 ]; then
# The architecture of host pc must be same architecture with target.
if [[ ( "$__HostArch" == "$__BuildArch" ) ]]; then
- build_mscorlib_ni
+ build_CoreLib_ni
elif [[ ( "$__HostArch" == "x64" ) && ( "$__BuildArch" == "x86" ) ]]; then
- build_mscorlib_ni
+ build_CoreLib_ni
elif [[ ( "$__HostArch" == "arm64" ) && ( "$__BuildArch" == "arm" ) ]]; then
- build_mscorlib_ni
+ build_CoreLib_ni
else
exit 1
fi
@@ -676,9 +683,9 @@ check_prereqs
build_coreclr
-# Build mscorlib.
+# Build System.Private.CoreLib.
-build_mscorlib
+build_CoreLib
# Generate nuget packages
diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/debian/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/debian/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
index 37a8afd092..75d67d261d 100644
--- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/debian/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
+++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/debian/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
@@ -22,6 +22,7 @@
<NativeSplittableBinary Include="$(BinDir)System.Globalization.Native.so"/>
<ArchitectureSpecificNativeFile Include="$(BinDir)sosdocsunix.txt"/>
<ArchitectureSpecificNativeFile Include="$(BinDir)mscorlib.ni.dll"/>
+ <ArchitectureSpecificNativeFile Include="$(BinDir)System.Private.CoreLib.ni.dll"/>
<ArchitectureSpecificLibFile Include="$(BinDir)mscorlib.dll"/>
<ArchitectureSpecificLibFile Include="$(BinDir)System.Private.CoreLib.dll"/>
<ArchitectureSpecificToolFile Include="$(BinDir)crossgen"/>
diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/osx/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/osx/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
index b5d0c49372..3b0a8f8984 100644
--- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/osx/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
+++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/osx/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
@@ -21,6 +21,7 @@
<ArchitectureSpecificNativeFile Include="$(BinDir)sosdocsunix.txt"/>
<ArchitectureSpecificNativeFile Include="$(BinDir)mscorlib.ni.dll"/>
+ <ArchitectureSpecificNativeFile Include="$(BinDir)System.Private.CoreLib.ni.dll"/>
<ArchitectureSpecificLibFile Include="$(BinDir)mscorlib.dll"/>
<ArchitectureSpecificLibFile Include="$(BinDir)System.Private.CoreLib.dll"/>
<ArchitectureSpecificToolFile Include="$(BinDir)crossgen"/>
diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/rhel/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/rhel/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
index cb5a72006b..e79baea203 100644
--- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/rhel/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
+++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/rhel/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
@@ -22,6 +22,7 @@
<NativeSplittableBinary Include="$(BinDir)System.Globalization.Native.so"/>
<ArchitectureSpecificNativeFile Include="$(BinDir)sosdocsunix.txt"/>
<ArchitectureSpecificNativeFile Include="$(BinDir)mscorlib.ni.dll"/>
+ <ArchitectureSpecificNativeFile Include="$(BinDir)System.Private.CoreLib.ni.dll"/>
<ArchitectureSpecificLibFile Include="$(BinDir)System.Private.CoreLib.dll"/>
<ArchitectureSpecificLibFile Include="$(BinDir)mscorlib.dll"/>
<ArchitectureSpecificToolFile Include="$(BinDir)crossgen"/>
diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
index 0e712189fe..d38919a741 100644
--- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
+++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/ubuntu/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
@@ -22,6 +22,7 @@
<NativeSplittableBinary Include="$(BinDir)System.Globalization.Native.so"/>
<ArchitectureSpecificNativeFile Include="$(BinDir)sosdocsunix.txt"/>
<ArchitectureSpecificNativeFile Include="$(BinDir)mscorlib.ni.dll"/>
+ <ArchitectureSpecificNativeFile Include="$(BinDir)System.Private.CoreLib.ni.dll"/>
<ArchitectureSpecificLibFile Include="$(BinDir)System.Private.CoreLib.dll"/>
<ArchitectureSpecificLibFile Include="$(BinDir)mscorlib.dll"/>
<ArchitectureSpecificToolFile Include="$(BinDir)crossgen"/>
diff --git a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
index b856c408e7..3e9ae9f36e 100644
--- a/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
+++ b/src/.nuget/Microsoft.NETCore.Runtime.CoreCLR/win/Microsoft.NETCore.Runtime.CoreCLR.pkgproj
@@ -18,6 +18,7 @@
<ArchitectureSpecificNativeFile Include="$(BinDir)mscordaccore.dll"/>
<ArchitectureSpecificNativeFile Include="$(BinDir)mscordbi.dll"/>
<ArchitectureSpecificNativeFile Include="$(BinDir)mscorlib.ni.dll"/>
+ <ArchitectureSpecificNativeFile Include="$(BinDir)System.Private.CoreLib.ni.dll"/>
<ArchitectureSpecificNativeFile Include="$(BinDir)mscorrc.debug.dll"/>
<ArchitectureSpecificNativeFile Include="$(BinDir)mscorrc.dll"/>
<ArchitectureSpecificNativeFile Include="$(BinDir)sos.dll"/>
diff --git a/src/binder/assemblybinder.cpp b/src/binder/assemblybinder.cpp
index 70f698f10f..517eac99d6 100644
--- a/src/binder/assemblybinder.cpp
+++ b/src/binder/assemblybinder.cpp
@@ -675,30 +675,30 @@ namespace BINDER_SPACE
_ASSERTE(ppSystemAssembly != NULL);
- StackSString sMscorlibDir(systemDirectory);
+ StackSString sCoreLibDir(systemDirectory);
ReleaseHolder<Assembly> pSystemAssembly;
- if(!sMscorlibDir.EndsWith(DIRECTORY_SEPARATOR_CHAR_W))
+ if(!sCoreLibDir.EndsWith(DIRECTORY_SEPARATOR_CHAR_W))
{
- sMscorlibDir.Append(DIRECTORY_SEPARATOR_CHAR_W);
+ sCoreLibDir.Append(DIRECTORY_SEPARATOR_CHAR_W);
}
- StackSString sMscorlib;
+ StackSString sCoreLib;
- // At run-time, mscorlib.ni.dll is typically always available, and
- // mscorlib.dll is typically not. So check for the NI first.
- sMscorlib = sMscorlibDir;
- sMscorlib.Append(W("mscorlib.ni.dll"));
- if (!fBindToNativeImage || FAILED(AssemblyBinder::GetAssembly(sMscorlib,
+ // At run-time, System.Private.CoreLib.ni.dll is typically always available, and
+ // System.Private.CoreLib.dll is typically not. So check for the NI first.
+ sCoreLib = sCoreLibDir;
+ sCoreLib.Append(CoreLibName_NI_W);
+ if (!fBindToNativeImage || FAILED(AssemblyBinder::GetAssembly(sCoreLib,
FALSE /* fInspectionOnly */,
TRUE /* fIsInGAC */,
TRUE /* fExplicitBindToNativeImage */,
&pSystemAssembly)))
{
- // If mscorlib.ni.dll is unavailable, look for mscorlib.dll instead
- sMscorlib = sMscorlibDir;
- sMscorlib.Append(W("mscorlib.dll"));
- IF_FAIL_GO(AssemblyBinder::GetAssembly(sMscorlib,
+ // If System.Private.CoreLib.ni.dll is unavailable, look for System.Private.CoreLib.dll instead
+ sCoreLib = sCoreLibDir;
+ sCoreLib.Append(CoreLibName_IL_W);
+ IF_FAIL_GO(AssemblyBinder::GetAssembly(sCoreLib,
FALSE /* fInspectionOnly */,
TRUE /* fIsInGAC */,
FALSE /* fExplicitBindToNativeImage */,
diff --git a/src/binder/variables.cpp b/src/binder/variables.cpp
index 5d31d85a55..615b358deb 100644
--- a/src/binder/variables.cpp
+++ b/src/binder/variables.cpp
@@ -83,7 +83,8 @@ namespace BINDER_SPACE
architectureARM.SetLiteral(W("ARM"));
architectureARM64.SetLiteral(W("ARM64"));
cultureNeutral.SetLiteral(W("neutral"));
- mscorlib.SetLiteral(W("mscorlib"));
+ mscorlib.SetLiteral(CoreLibName_W);
+
emptyString.Clear();
#ifdef FEATURE_VERSIONING_LOG
diff --git a/src/build.proj b/src/build.proj
index b8245c5284..c12e859e31 100644
--- a/src/build.proj
+++ b/src/build.proj
@@ -3,10 +3,9 @@
<!-- List the projects that need to be built -->
<ItemGroup>
- <Project Include="mscorlib\mscorlib.csproj" />
- <Project Include="mscorlib\ref\mscorlib.csproj" />
- <Project Include="mscorlib\facade\mscorlib.csproj" />
<Project Include="mscorlib\System.Private.CoreLib.csproj" />
+ <Project Include="mscorlib\facade\mscorlib.csproj" />
+ <Project Include="mscorlib\ref\mscorlib.csproj" />
</ItemGroup>
<Import Project="..\dir.targets" />
@@ -14,17 +13,27 @@
<Import Project="..\dir.traversal.targets" />
<ItemGroup>
- <PDBSToMove Include="$(BinDir)mscorlib.pdb"/>
+ <BinariesToMove Include="$(BinDir)\facade\mscorlib.dll"/>
+ </ItemGroup>
+
+ <Target Name="MovePostBuildBinaries" AfterTargets="Build">
+ <Move SourceFiles="@(BinariesToMove)"
+ DestinationFolder="$(BinDir)" />
+ </Target>
+
+ <ItemGroup>
+ <PDBSToMove Include="$(BinDir)\facade\mscorlib.pdb"/>
<PDBSToMove Include="$(BinDir)System.Private.CoreLib.pdb"/>
</ItemGroup>
<PropertyGroup>
- <MscorlibPDBPath>$(BinDir)mscorlib.pdb</MscorlibPDBPath>
+ <CoreLibPDBPath>$(BinDir)System.Private.CoreLib.pdb</CoreLibPDBPath>
</PropertyGroup>
<Target Name="MovePDB" AfterTargets="Build">
- <Move Condition="Exists($(MscorlibPDBPath))"
+ <Move Condition="Exists($(CoreLibPDBPath))"
SourceFiles="@(PDBSToMove)"
DestinationFolder="$(BinDir)PDB" />
</Target>
+
</Project> \ No newline at end of file
diff --git a/src/debug/daccess/nidump.cpp b/src/debug/daccess/nidump.cpp
index a3a454384c..e293e081ba 100644
--- a/src/debug/daccess/nidump.cpp
+++ b/src/debug/daccess/nidump.cpp
@@ -1179,8 +1179,9 @@ NativeImageDumper::DumpNativeImage()
break;
}
}
+
//If we're actually dumping mscorlib, remap the mscorlib dependency to our own native image.
- if( mscorlib == NULL || !wcscmp(m_name, W("mscorlib")) )
+ if( (mscorlib == NULL) || !wcscmp(m_name, CoreLibName_W))
{
mscorlib = GetDependency(0);
mscorlib->fIsMscorlib = TRUE;
@@ -2445,7 +2446,7 @@ mdAssemblyRef NativeImageDumper::MapAssemblyRefToManifest(mdAssemblyRef token, I
ret = currentRef;
break;
}
- else if (wcscmp(szAssemblyName, W("mscorlib")) == 0)
+ else if (wcscmp(szAssemblyName, CoreLibName_W) == 0)
{
// Mscorlib is special - version number and public key token are ignored.
ret = currentRef;
@@ -2658,7 +2659,7 @@ NativeImageDumper::Dependency *NativeImageDumper::OpenDependency(int index)
Dependency& dependency = m_dependencies[index];
AppendTokenName(entry->dwAssemblyRef, buf, m_manifestImport, true);
bool isHardBound = !!(entry->signNativeImage != INVALID_NGEN_SIGNATURE);
- SString mscorlibStr(SString::Literal, W("mscorlib"));
+ SString mscorlibStr(SString::Literal, CoreLibName_W);
bool isMscorlib = (0 == buf.Compare( mscorlibStr ));
dependency.fIsHardbound = isHardBound;
wcscpy_s(dependency.name, _countof(dependency.name),
diff --git a/src/ilasm/asmman.cpp b/src/ilasm/asmman.cpp
index 715a4e88c8..dba481faf2 100644
--- a/src/ilasm/asmman.cpp
+++ b/src/ilasm/asmman.cpp
@@ -319,7 +319,7 @@ void AsmMan::EmitFiles()
void AsmMan::StartAssembly(__in __nullterminated char* szName, __in_opt __nullterminated char* szAlias, DWORD dwAttr, BOOL isRef)
{
- if(!isRef && (0==strcmp(szName,"mscorlib"))) ((Assembler*)m_pAssembler)->m_fIsMscorlib = TRUE;
+ if(!isRef && (0==strcmp(szName, "mscorlib"))) ((Assembler*)m_pAssembler)->m_fIsMscorlib = TRUE;
if(!isRef && (m_pAssembly != NULL))
{
if(strcmp(szName, m_pAssembly->szName))
diff --git a/src/ildasm/dasm.cpp b/src/ildasm/dasm.cpp
index bb5f5e507b..86ff5a8932 100644
--- a/src/ildasm/dasm.cpp
+++ b/src/ildasm/dasm.cpp
@@ -1493,7 +1493,7 @@ mdToken ResolveReflectionNotation(BYTE* dataPtr,
char* szNamespace = szNamespaceDefault;
char* szName = str;
char* szAssembly = NULL;
- char szAssemblyMscorlib[] = "mscorlib";
+ char szAssemblyMscorlib[] = "mscorlib";
char* pch;
memcpy(str,dataPtr,Lstr);
str[Lstr] = 0;
diff --git a/src/inc/utilcode.h b/src/inc/utilcode.h
index f9d82c5460..ebc0514ba1 100644
--- a/src/inc/utilcode.h
+++ b/src/inc/utilcode.h
@@ -50,6 +50,32 @@ const WCHAR kWatsonName2[] = W("drwtsn32");
#define WINDOWS_KERNEL32_DLLNAME_A "kernel32"
#define WINDOWS_KERNEL32_DLLNAME_W W("kernel32")
+#if defined(FEATURE_CORECLR)
+#define CoreLibName_W W("System.Private.CoreLib")
+#define CoreLibName_IL_W W("System.Private.CoreLib.dll")
+#define CoreLibName_NI_W W("System.Private.CoreLib.ni.dll")
+#define CoreLibName_TLB_W W("System.Private.CoreLib.tlb")
+#define CoreLibName_A "System.Private.CoreLib"
+#define CoreLibName_IL_A "System.Private.CoreLib.dll"
+#define CoreLibName_NI_A "System.Private.CoreLib.ni.dll"
+#define CoreLibName_TLB_A "System.Private.CoreLib.tlb"
+#define CoreLibNameLen 22
+#define CoreLibSatelliteName_A "System.Private.CoreLib.resources"
+#define CoreLibSatelliteNameLen 32
+#else // !defined(FEATURE_CORECLR)
+#define CoreLibName_W W("mscorlib")
+#define CoreLibName_IL_W W("mscorlib.dll")
+#define CoreLibName_NI_W W("mscorlib.ni.dll")
+#define CoreLibName_TLB_W W("mscorlib.tlb")
+#define CoreLibName_A "mscorlib"
+#define CoreLibName_IL_A "mscorlib.dll"
+#define CoreLibName_NI_A "mscorlib.ni.dll"
+#define CoreLibName_TLB_A "mscorlib.tlb"
+#define CoreLibNameLen 8
+#define CoreLibSatelliteName_A "mscorlib.resources"
+#define CoreLibSatelliteNameLen 18
+#endif // defined(FEATURE_CORECLR)
+
class StringArrayList;
#if !defined(_DEBUG_IMPL) && defined(_DEBUG) && !defined(DACCESS_COMPILE)
diff --git a/src/md/winmd/adapter.cpp b/src/md/winmd/adapter.cpp
index 150b56fd04..146b04eda2 100644
--- a/src/md/winmd/adapter.cpp
+++ b/src/md/winmd/adapter.cpp
@@ -157,7 +157,7 @@ HRESULT CheckIfWinMDAdapterNeeded(IMDCommon *pRawMDCommon)
LPCSTR arefName;
USHORT usMajorVersion;
IfFailGo(pNewAdapter->m_pRawMetaModelCommonRO->CommonGetAssemblyRefProps(mdar, &usMajorVersion, NULL, NULL, NULL, NULL, NULL, NULL, &arefName, NULL, NULL, NULL));
- if (0 == strcmp(arefName, "mscorlib"))
+ if (0 == strcmp(arefName, CoreLibName_A))
{
pNewAdapter->m_assemblyRefMscorlib = mdar;
diff --git a/src/mscorlib/System.Private.CoreLib.csproj b/src/mscorlib/System.Private.CoreLib.csproj
index e1e6d3b787..3adc60b98b 100644
--- a/src/mscorlib/System.Private.CoreLib.csproj
+++ b/src/mscorlib/System.Private.CoreLib.csproj
@@ -168,7 +168,7 @@
<!-- Resources -->
<ItemGroup>
- <SplitTextStringResource Include="$(BclSourcesRoot)\mscorlib.txt">
+ <SplitTextStringResource Include="$(BclSourcesRoot)\System.Private.CoreLib.txt">
<ResFile>System.Private.CoreLib</ResFile>
<ResGenDefines>$(DefineConstants)</ResGenDefines>
</SplitTextStringResource>
diff --git a/src/mscorlib/facade/mscorlib.csproj b/src/mscorlib/facade/mscorlib.csproj
index 21c26dc8d8..11dde3ee5d 100644
--- a/src/mscorlib/facade/mscorlib.csproj
+++ b/src/mscorlib/facade/mscorlib.csproj
@@ -1,6 +1,7 @@
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003" DefaultTargets="Build">
<Import Project="$([MSBuild]::GetDirectoryNameOfFileAbove($(MSBuildThisFileDirectory), dir.props))\dir.props" />
+
<PropertyGroup>
<AssemblyName>mscorlib</AssemblyName>
<ProjectGuid>{263342A6-FC48-4CFC-B16A-2AF964D3536C}</ProjectGuid>
@@ -18,7 +19,14 @@
<DebugSymbols>true</DebugSymbols>
<DebugType>full</DebugType>
+ <AvailablePlatforms>amd64,x86,arm,arm64</AvailablePlatforms>
+ <Configuration Condition=" '$(Configuration)' == '' ">$(BuildType)</Configuration>
+ <Platform Condition=" '$(Platform)' == '' ">$(BuildArch)</Platform>
+ <!-- The CLR properties use amd64 as their platform string, we want to keep in sync with those, so set Platform appropriately,
+ though still use the 'x64' output path (see use of BuildArch below) -->
+ <Platform Condition=" '$(Platform)' == 'x64' ">amd64</Platform>
</PropertyGroup>
+
<!-- Default configurations to help VS understand the options -->
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|AnyCPU'" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|AnyCPU'" />
@@ -34,7 +42,6 @@
<DebugSymbols>false</DebugSymbols>
<DebugType>none</DebugType>
</PropertyGroup>
-
<!-- Output paths -->
<PropertyGroup>
<BaseIntermediateOutputPath>$(RootBinDir)\obj</BaseIntermediateOutputPath>
diff --git a/src/mscorlib/model.CoreLib.xml b/src/mscorlib/model.CoreLib.xml
index 7b5214b2f8..6ea5768f28 100644
--- a/src/mscorlib/model.CoreLib.xml
+++ b/src/mscorlib/model.CoreLib.xml
@@ -5916,6 +5916,8 @@
<Member Name="PrelinkAll(System.Type)" />
<Member Name="PtrToStringAnsi(System.IntPtr)" />
<Member Name="PtrToStringAnsi(System.IntPtr,System.Int32)" />
+ <Member Name="PtrToStringUTF8(System.IntPtr)" />
+ <Member Name="PtrToStringUTF8(System.IntPtr,System.Int32)" />
<Member Name="PtrToStringUni(System.IntPtr)" />
<Member Name="PtrToStringUni(System.IntPtr,System.Int32)" />
<Member Name="PtrToStructure(System.IntPtr,System.Object)" />
@@ -5995,6 +5997,7 @@
<Member Name="StringToCoTaskMemUni(System.String)" />
<Member Name="StringToHGlobalAnsi(System.String)" />
<Member Name="StringToHGlobalUni(System.String)" />
+ <Member Name="StringToCoTaskMemUTF8(System.String)" />
<Member Name="StructureToPtr&lt;T&gt;(T,System.IntPtr,System.Boolean)" />
<Member Name="UnsafeAddrOfPinnedArrayElement&lt;T&gt;(T[],System.Int32)" />
<Member Name="WriteByte(System.Object,System.Int32,System.Byte)" />
@@ -6007,6 +6010,7 @@
<Member Name="ZeroFreeCoTaskMemAnsi(System.IntPtr)" />
<Member Name="ZeroFreeGlobalAllocAnsi(System.IntPtr)" />
<Member Name="ZeroFreeGlobalAllocUnicode(System.IntPtr)" />
+ <Member Name="ZeroFreeMemoryUTF8(System.IntPtr)" />
</Type>
<Type Name="System.Runtime.InteropServices.MarshalAsAttribute">
<Member MemberType="Field" Name="ArraySubType" />
@@ -6125,6 +6129,7 @@
<Member MemberType="Field" Name="LPStruct" />
<Member MemberType="Field" Name="LPTStr" />
<Member MemberType="Field" Name="LPWStr" />
+ <Member MemberType="Field" Name="LPUTF8Str" />
<Member MemberType="Field" Name="R4" />
<Member MemberType="Field" Name="R8" />
<Member MemberType="Field" Name="SafeArray" />
@@ -10101,6 +10106,15 @@
<Member Name="ConvertToManaged(System.IntPtr)" />
<Member Name="ClearNative(System.IntPtr)" />
</Type>
+ <Type Status="ImplRoot" Name="System.StubHelpers.UTF8Marshaler">
+ <Member Name="ConvertToNative(System.Int32,System.String,System.IntPtr)" />
+ <Member Name="ConvertToManaged(System.IntPtr)" />
+ <Member Name="ClearNative(System.IntPtr)" />
+ </Type>
+ <Type Status="ImplRoot" Name="System.StubHelpers.UTF8BufferMarshaler">
+ <Member Name="ConvertToNative(System.Text.StringBuilder,System.IntPtr,System.Int32)" />
+ <Member Name="ConvertToManaged(System.Text.StringBuilder,System.IntPtr)" />
+ </Type>
<Type Status="ApiFxInternal" Name="System.StubHelpers.EventArgsMarshaler" Condition="FEATURE_COMINTEROP">
<Member Name="CreateNativeNCCEventArgsInstance(System.Int32,System.Object,System.Object,System.Int32,System.Int32)"/>
<Member Name="CreateNativePCEventArgsInstance(System.String)" />
diff --git a/src/mscorlib/ref/mscorlib.cs b/src/mscorlib/ref/mscorlib.cs
index 2dbb4f9174..0187c74f67 100644
--- a/src/mscorlib/ref/mscorlib.cs
+++ b/src/mscorlib/ref/mscorlib.cs
@@ -9947,6 +9947,10 @@ namespace System.Runtime.InteropServices
[System.Security.SecurityCriticalAttribute]
public static string PtrToStringAnsi(System.IntPtr ptr, int len) { return default(string); }
[System.Security.SecurityCriticalAttribute]
+ public static string PtrToStringUTF8(System.IntPtr ptr) { return default(string); }
+ [System.Security.SecurityCriticalAttribute]
+ public static string PtrToStringUTF8(System.IntPtr ptr, int len) { return default(string); }
+ [System.Security.SecurityCriticalAttribute]
public static string PtrToStringBSTR(System.IntPtr ptr) { return default(string); }
[System.Security.SecurityCriticalAttribute]
public static string PtrToStringUni(System.IntPtr ptr) { return default(string); }
@@ -10024,6 +10028,8 @@ namespace System.Runtime.InteropServices
public static System.IntPtr StringToHGlobalAnsi(string s) { return default(System.IntPtr); }
[System.Security.SecurityCriticalAttribute]
public static System.IntPtr StringToHGlobalUni(string s) { return default(System.IntPtr); }
+ [System.Security.SecurityCriticalAttribute]
+ public static System.IntPtr StringToCoTaskMemUTF8(string s) { return default(System.IntPtr); }
[System.Runtime.CompilerServices.MethodImpl(System.Runtime.CompilerServices.MethodImplOptions.InternalCall)]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
[System.Security.SecurityCriticalAttribute]
@@ -10084,6 +10090,7 @@ namespace System.Runtime.InteropServices
public static void ZeroFreeGlobalAllocAnsi(System.IntPtr s) { }
[System.Security.SecurityCriticalAttribute]
public static void ZeroFreeGlobalAllocUnicode(System.IntPtr s) { }
+ public static void ZeroFreeMemoryUTF8(System.IntPtr s) { }
}
[System.AttributeUsageAttribute((System.AttributeTargets)(10496), Inherited=false)]
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
@@ -10307,6 +10314,8 @@ namespace System.Runtime.InteropServices
U8 = 10,
VariantBool = 37,
VBByRefStr = 34,
+ [System.Runtime.InteropServices.ComVisible(false)]
+ LPUTF8Str = 48, // UTF8 string
}
[System.Runtime.InteropServices.ComVisibleAttribute(true)]
public enum VarEnum
diff --git a/src/mscorlib/src/System.Private.CoreLib.txt b/src/mscorlib/src/System.Private.CoreLib.txt
new file mode 100644
index 0000000000..f44e1d2082
--- /dev/null
+++ b/src/mscorlib/src/System.Private.CoreLib.txt
@@ -0,0 +1,3491 @@
+; Licensed to the .NET Foundation under one or more agreements.
+; The .NET Foundation licenses this file to you under the MIT license.
+; See the LICENSE file in the project root for more information.
+
+; These are the managed resources for mscorlib.dll.
+; See those first three bytes in the file? This is in UTF-8. Leave the
+; Unicode byte order mark (U+FEFF) written in UTF-8 at the start of this file.
+
+; For resource info, see the ResourceManager documentation and the ResGen tool,
+; which is a managed app using ResourceWriter.
+; ResGen now supports limited preprocessing of txt files, you can use
+; #if SYMBOL and #if !SYMBOL to control what sets of resources are included in
+; the resulting resources.
+
+; The naming scheme is: [Namespace.] ExceptionName _ Reason
+; We'll suppress "System." where possible.
+; Examples:
+; Argument_Null
+; Reflection.TargetInvokation_someReason
+
+; Usage Notes:
+; * Keep exceptions in alphabetical order by package
+; * A single space may exist on either side of the equal sign.
+; * Follow the naming conventions.
+; * Any lines starting with a '#' or ';' are ignored
+; * Equal signs aren't legal characters for keys, but may occur in values.
+; * Correctly punctuate all sentences. Most resources should end in a period.
+; Remember, your mother will probably read some of these messages.
+; * You may use " (quote), \n and \t. Use \\ for a single '\' character.
+; * String inserts work. i.e., BadNumber_File = Wrong number in file "{0}".
+
+; Real words, used by code like Environment.StackTrace
+#if INCLUDE_RUNTIME
+Word_At = at
+StackTrace_InFileLineNumber = in {0}:line {1}
+UnknownError_Num = Unknown error "{0}".
+AllocatedFrom = Allocated from:
+
+; Note this one is special, used as a divider between stack traces!
+Exception_EndOfInnerExceptionStack = --- End of inner exception stack trace ---
+Exception_WasThrown = Exception of type '{0}' was thrown.
+
+; The following are used in the implementation of ExceptionDispatchInfo
+Exception_EndStackTraceFromPreviousThrow = --- End of stack trace from previous location where exception was thrown ---
+
+Arg_ParamName_Name = Parameter name: {0}
+ArgumentOutOfRange_ActualValue = Actual value was {0}.
+
+NoDebugResources = [{0}]\r\nArguments: {1}\r\nDebugging resource strings are unavailable. Often the key and arguments provide sufficient information to diagnose the problem. See http://go.microsoft.com/fwlink/?linkid=106663&Version={2}&File={3}&Key={4}
+#endif // INCLUDE_RUNTIME
+
+#if !FEATURE_CORECLR
+UnknownError = Unknown error.
+#endif // !FEATURE_CORECLR
+
+#if INCLUDE_DEBUG
+
+; For code contracts
+AssumptionFailed = Assumption failed.
+AssumptionFailed_Cnd = Assumption failed: {0}
+AssertionFailed = Assertion failed.
+AssertionFailed_Cnd = Assertion failed: {0}
+PreconditionFailed = Precondition failed.
+PreconditionFailed_Cnd = Precondition failed: {0}
+PostconditionFailed = Postcondition failed.
+PostconditionFailed_Cnd = Postcondition failed: {0}
+PostconditionOnExceptionFailed = Postcondition failed after throwing an exception.
+PostconditionOnExceptionFailed_Cnd = Postcondition failed after throwing an exception: {0}
+InvariantFailed = Invariant failed.
+InvariantFailed_Cnd = Invariant failed: {0}
+MustUseCCRewrite = An assembly (probably "{1}") must be rewritten using the code contracts binary rewriter (CCRewrite) because it is calling Contract.{0} and the CONTRACTS_FULL symbol is defined. Remove any explicit definitions of the CONTRACTS_FULL symbol from your project and rebuild. CCRewrite can be downloaded from http://go.microsoft.com/fwlink/?LinkID=169180. \r\nAfter the rewriter is installed, it can be enabled in Visual Studio from the project's Properties page on the Code Contracts pane. Ensure that "Perform Runtime Contract Checking" is enabled, which will define CONTRACTS_FULL.
+
+; Access Control
+#if FEATURE_MACL
+AccessControl_MustSpecifyContainerAcl = The named parameter must be a container ACL.
+AccessControl_MustSpecifyLeafObjectAcl = The named parameter must be a non-container ACL.
+AccessControl_AclTooLong = Length of the access control list exceed the allowed maximum.
+AccessControl_MustSpecifyDirectoryObjectAcl = The named parameter must be a directory-object ACL.
+AccessControl_MustSpecifyNonDirectoryObjectAcl = The named parameter must be a non-directory-object ACL.
+AccessControl_InvalidSecurityDescriptorRevision = Security descriptor with revision other than '1' are not legal.
+AccessControl_InvalidSecurityDescriptorSelfRelativeForm = Security descriptor must be in the self-relative form.
+AccessControl_NoAssociatedSecurity = Unable to perform a security operation on an object that has no associated security. This can happen when trying to get an ACL of an anonymous kernel object.
+AccessControl_InvalidHandle = The supplied handle is invalid. This can happen when trying to set an ACL on an anonymous kernel object.
+AccessControl_UnexpectedError = Method failed with unexpected error code {0}.
+AccessControl_InvalidSidInSDDLString = The SDDL string contains an invalid sid or a sid that cannot be translated.
+AccessControl_InvalidOwner = The security identifier is not allowed to be the owner of this object.
+AccessControl_InvalidGroup = The security identifier is not allowed to be the primary group of this object.
+AccessControl_InvalidAccessRuleType = The access rule is not the correct type.
+AccessControl_InvalidAuditRuleType = The audit rule is not the correct type.
+#endif // FEATURE_MACL
+
+; Identity Reference Library
+#if FEATURE_IDENTITY_REFERENCE
+IdentityReference_IdentityNotMapped = Some or all identity references could not be translated.
+IdentityReference_MustBeIdentityReference = The targetType parameter must be of IdentityReference type.
+IdentityReference_AccountNameTooLong = Account name is too long.
+IdentityReference_DomainNameTooLong = Domain name is too long.
+IdentityReference_InvalidNumberOfSubauthorities = The number of sub-authorities must not exceed {0}.
+IdentityReference_IdentifierAuthorityTooLarge = The size of the identifier authority must not exceed 6 bytes.
+IdentityReference_InvalidSidRevision = SIDs with revision other than '1' are not supported.
+IdentityReference_CannotCreateLogonIdsSid = Well-known SIDs of type LogonIdsSid cannot be created.
+IdentityReference_DomainSidRequired = The domainSid parameter must be specified for creating well-known SID of type {0}.
+IdentityReference_NotAWindowsDomain = The domainSid parameter is not a valid Windows domain SID.
+#endif // FEATURE_IDENTITY_REFERENCE
+
+; AccessException
+Acc_CreateGeneric = Cannot create a type for which Type.ContainsGenericParameters is true.
+Acc_CreateAbst = Cannot create an abstract class.
+Acc_CreateInterface = Cannot create an instance of an interface.
+Acc_NotClassInit = Type initializer was not callable.
+Acc_CreateGenericEx = Cannot create an instance of {0} because Type.ContainsGenericParameters is true.
+Acc_CreateArgIterator = Cannot dynamically create an instance of ArgIterator.
+Acc_CreateAbstEx = Cannot create an instance of {0} because it is an abstract class.
+Acc_CreateInterfaceEx = Cannot create an instance of {0} because it is an interface.
+Acc_CreateVoid = Cannot dynamically create an instance of System.Void.
+Acc_ReadOnly = Cannot set a constant field.
+Acc_RvaStatic = SkipVerification permission is needed to modify an image-based (RVA) static field.
+Access_Void = Cannot create an instance of void.
+
+; ArgumentException
+Arg_TypedReference_Null = The TypedReference must be initialized.
+Argument_AddingDuplicate__ = Item has already been added. Key in dictionary: '{0}' Key being added: '{1}'
+Argument_AddingDuplicate = An item with the same key has already been added.
+#if FEATURE_CORECLR
+Argument_AddingDuplicateWithKey = An item with the same key has already been added. Key: {0}
+#endif // FEATURE_CORECLR
+Argument_MethodDeclaringTypeGenericLcg = Method '{0}' has a generic declaring type '{1}'. Explicitly provide the declaring type to GetTokenFor.
+Argument_MethodDeclaringTypeGeneric = Cannot resolve method {0} because the declaring type of the method handle {1} is generic. Explicitly provide the declaring type to GetMethodFromHandle.
+Argument_FieldDeclaringTypeGeneric = Cannot resolve field {0} because the declaring type of the field handle {1} is generic. Explicitly provide the declaring type to GetFieldFromHandle.
+Argument_ApplicationTrustShouldHaveIdentity = An ApplicationTrust must have an application identity before it can be persisted.
+Argument_ConversionOverflow = Conversion buffer overflow.
+Argument_CodepageNotSupported = {0} is not a supported code page.
+Argument_CultureNotSupported = Culture is not supported.
+Argument_CultureInvalidIdentifier = {0} is an invalid culture identifier.
+Argument_OneOfCulturesNotSupported = Culture name {0} or {1} is not supported.
+Argument_CultureIetfNotSupported = Culture IETF Name {0} is not a recognized IETF name.
+Argument_CultureIsNeutral = Culture ID {0} (0x{0:X4}) is a neutral culture; a region cannot be created from it.
+Argument_InvalidNeutralRegionName = The region name {0} should not correspond to neutral culture; a specific culture name is required.
+Argument_InvalidGenericInstArray = Generic arguments must be provided for each generic parameter and each generic argument must be a RuntimeType.
+Argument_GenericArgsCount = The number of generic arguments provided doesn't equal the arity of the generic type definition.
+Argument_CultureInvalidFormat = Culture '{0}' is a neutral culture. It cannot be used in formatting and parsing and therefore cannot be set as the thread's current culture.
+Argument_CompareOptionOrdinal = CompareOption.Ordinal cannot be used with other options.
+Argument_CustomCultureCannotBePassedByNumber = Customized cultures cannot be passed by LCID, only by name.
+Argument_EncodingConversionOverflowChars = The output char buffer is too small to contain the decoded characters, encoding '{0}' fallback '{1}'.
+Argument_EncodingConversionOverflowBytes = The output byte buffer is too small to contain the encoded data, encoding '{0}' fallback '{1}'.
+Argument_EncoderFallbackNotEmpty = Must complete Convert() operation or call Encoder.Reset() before calling GetBytes() or GetByteCount(). Encoder '{0}' fallback '{1}'.
+Argument_EmptyFileName = Empty file name is not legal.
+Argument_EmptyPath = Empty path name is not legal.
+Argument_EmptyName = Empty name is not legal.
+Argument_ImplementIComparable = At least one object must implement IComparable.
+Argument_InvalidType = The type of arguments passed into generic comparer methods is invalid.
+Argument_InvalidTypeForCA=Cannot build type parameter for custom attribute with a type that does not support the AssemblyQualifiedName property. The type instance supplied was of type '{0}'.
+Argument_IllegalEnvVarName = Environment variable name cannot contain equal character.
+Argument_IllegalAppId = Application identity does not have same number of components as manifest paths.
+Argument_IllegalAppBase = The application base specified is not valid.
+Argument_UnableToParseManifest = Unexpected error while parsing the specified manifest.
+Argument_IllegalAppIdMismatch = Application identity does not match identities in manifests.
+Argument_InvalidAppId = Invalid identity: no deployment or application identity specified.
+Argument_InvalidGenericArg = The generic type parameter was not valid
+Argument_InvalidArrayLength = Length of the array must be {0}.
+Argument_InvalidArrayType = Target array type is not compatible with the type of items in the collection.
+Argument_InvalidAppendMode = Append access can be requested only in write-only mode.
+Argument_InvalidEnumValue = The value '{0}' is not valid for this usage of the type {1}.
+Argument_EnumIsNotIntOrShort = The underlying type of enum argument must be Int32 or Int16.
+Argument_InvalidEnum = The Enum type should contain one and only one instance field.
+Argument_InvalidKeyStore = '{0}' is not a valid KeyStore name.
+Argument_InvalidFileMode&AccessCombo = Combining FileMode: {0} with FileAccess: {1} is invalid.
+Argument_InvalidFileMode&RightsCombo = Combining FileMode: {0} with FileSystemRights: {1} is invalid.
+Argument_InvalidFileModeTruncate&RightsCombo = Combining FileMode: {0} with FileSystemRights: {1} is invalid. FileMode.Truncate is valid only when used with FileSystemRights.Write.
+Argument_InvalidFlag = Value of flags is invalid.
+Argument_InvalidAnyFlag = No flags can be set.
+Argument_InvalidHandle = The handle is invalid.
+Argument_InvalidRegistryKeyPermissionCheck = The specified RegistryKeyPermissionCheck value is invalid.
+Argument_InvalidRegistryOptionsCheck = The specified RegistryOptions value is invalid.
+Argument_InvalidRegistryViewCheck = The specified RegistryView value is invalid.
+Argument_InvalidSubPath = The directory specified, '{0}', is not a subdirectory of '{1}'.
+Argument_NoRegionInvariantCulture = There is no region associated with the Invariant Culture (Culture ID: 0x7F).
+Argument_ResultCalendarRange = The result is out of the supported range for this calendar. The result should be between {0} (Gregorian date) and {1} (Gregorian date), inclusive.
+Argument_ResultIslamicCalendarRange = The date is out of the supported range for the Islamic calendar. The date should be greater than July 18th, 622 AD (Gregorian date).
+Argument_NeverValidGenericArgument = The type '{0}' may not be used as a type argument.
+Argument_NotEnoughGenArguments = The type or method has {1} generic parameter(s), but {0} generic argument(s) were provided. A generic argument must be provided for each generic parameter.
+Argument_NullFullTrustAssembly = A null StrongName was found in the full trust assembly list.
+Argument_GenConstraintViolation = GenericArguments[{0}], '{1}', on '{2}' violates the constraint of type '{3}'.
+Argument_InvalidToken = Token {0:x} is not valid in the scope of module {1}.
+Argument_InvalidTypeToken = Token {0:x} is not a valid Type token.
+Argument_ResolveType = Token {0:x} is not a valid Type token in the scope of module {1}.
+Argument_ResolveMethod = Token {0:x} is not a valid MethodBase token in the scope of module {1}.
+Argument_ResolveField = Token {0:x} is not a valid FieldInfo token in the scope of module {1}.
+Argument_ResolveMember = Token {0:x} is not a valid MemberInfo token in the scope of module {1}.
+Argument_ResolveString = Token {0:x} is not a valid string token in the scope of module {1}.
+Argument_ResolveModuleType = Token {0} resolves to the special module type representing this module.
+Argument_ResolveMethodHandle = Type handle '{0}' and method handle with declaring type '{1}' are incompatible. Get RuntimeMethodHandle and declaring RuntimeTypeHandle off the same MethodBase.
+Argument_ResolveFieldHandle = Type handle '{0}' and field handle with declaring type '{1}' are incompatible. Get RuntimeFieldHandle and declaring RuntimeTypeHandle off the same FieldInfo.
+Argument_ResourceScopeWrongDirection = Resource type in the ResourceScope enum is going from a more restrictive resource type to a more general one. From: "{0}" To: "{1}"
+Argument_BadResourceScopeTypeBits = Unknown value for the ResourceScope: {0} Too many resource type bits may be set.
+Argument_BadResourceScopeVisibilityBits = Unknown value for the ResourceScope: {0} Too many resource visibility bits may be set.
+Argument_WaitHandleNameTooLong = The name can be no more than 260 characters in length.
+Argument_EnumTypeDoesNotMatch = The argument type, '{0}', is not the same as the enum type '{1}'.
+InvalidOperation_MethodBuilderBaked = The signature of the MethodBuilder can no longer be modified because an operation on the MethodBuilder caused the methodDef token to be created. For example, a call to SetCustomAttribute requires the methodDef token to emit the CustomAttribute token.
+InvalidOperation_GenericParametersAlreadySet = The generic parameters are already defined on this MethodBuilder.
+Arg_AccessException = Cannot access member.
+Arg_AppDomainUnloadedException = Attempted to access an unloaded AppDomain.
+Arg_ApplicationException = Error in the application.
+Arg_ArgumentOutOfRangeException = Specified argument was out of the range of valid values.
+Arg_ArithmeticException = Overflow or underflow in the arithmetic operation.
+Arg_ArrayLengthsDiffer = Array lengths must be the same.
+Arg_ArrayPlusOffTooSmall = Destination array is not long enough to copy all the items in the collection. Check array index and length.
+Arg_ArrayTypeMismatchException = Attempted to access an element as a type incompatible with the array.
+Arg_BadImageFormatException = Format of the executable (.exe) or library (.dll) is invalid.
+Argument_BadImageFormatExceptionResolve = A BadImageFormatException has been thrown while parsing the signature. This is likely due to lack of a generic context. Ensure genericTypeArguments and genericMethodArguments are provided and contain enough context.
+Arg_BufferTooSmall = Not enough space available in the buffer.
+Arg_CATypeResolutionFailed = Failed to resolve type from string "{0}" which was embedded in custom attribute blob.
+Arg_CannotHaveNegativeValue = String cannot contain a minus sign if the base is not 10.
+Arg_CannotUnloadAppDomainException = Attempt to unload the AppDomain failed.
+Arg_CannotMixComparisonInfrastructure = The usage of IKeyComparer and IHashCodeProvider/IComparer interfaces cannot be mixed; use one or the other.
+Arg_ContextMarshalException = Attempted to marshal an object across a context boundary.
+Arg_DataMisalignedException = A datatype misalignment was detected in a load or store instruction.
+Arg_DevicesNotSupported = FileStream will not open Win32 devices such as disk partitions and tape drives. Avoid use of "\\\\.\\" in the path.
+Arg_DuplicateWaitObjectException = Duplicate objects in argument.
+Arg_EntryPointNotFoundException = Entry point was not found.
+Arg_DllNotFoundException = Dll was not found.
+Arg_ExecutionEngineException = Internal error in the runtime.
+Arg_FieldAccessException = Attempted to access a field that is not accessible by the caller.
+Arg_FileIsDirectory_Name = The target file "{0}" is a directory, not a file.
+Arg_FormatException = One of the identified items was in an invalid format.
+Arg_IndexOutOfRangeException = Index was outside the bounds of the array.
+Arg_InsufficientExecutionStackException = Insufficient stack to continue executing the program safely. This can happen from having too many functions on the call stack or function on the stack using too much stack space.
+Arg_InvalidCastException = Specified cast is not valid.
+Arg_InvalidOperationException = Operation is not valid due to the current state of the object.
+Arg_CorruptedCustomCultureFile = The file of the custom culture {0} is corrupt. Try to unregister this culture.
+Arg_InvokeMember = InvokeMember can be used only for COM objects.
+Arg_InvalidNeutralResourcesLanguage_Asm_Culture = The NeutralResourcesLanguageAttribute on the assembly "{0}" specifies an invalid culture name: "{1}".
+Arg_InvalidNeutralResourcesLanguage_FallbackLoc = The NeutralResourcesLanguageAttribute specifies an invalid or unrecognized ultimate resource fallback location: "{0}".
+Arg_InvalidSatelliteContract_Asm_Ver = Satellite contract version attribute on the assembly '{0}' specifies an invalid version: {1}.
+Arg_MethodAccessException = Attempt to access the method failed.
+Arg_MethodAccessException_WithMethodName = Attempt to access the method "{0}" on type "{1}" failed.
+Arg_MethodAccessException_WithCaller = Attempt by security transparent method '{0}' to access security critical method '{1}' failed.
+Arg_MissingFieldException = Attempted to access a non-existing field.
+Arg_MissingMemberException = Attempted to access a missing member.
+Arg_MissingMethodException = Attempted to access a missing method.
+Arg_MulticastNotSupportedException = Attempted to add multiple callbacks to a delegate that does not support multicast.
+Arg_NotFiniteNumberException = Number encountered was not a finite quantity.
+Arg_NotSupportedException = Specified method is not supported.
+Arg_UnboundGenParam = Late bound operations cannot be performed on types or methods for which ContainsGenericParameters is true.
+Arg_UnboundGenField = Late bound operations cannot be performed on fields with types for which Type.ContainsGenericParameters is true.
+Arg_NotGenericParameter = Method may only be called on a Type for which Type.IsGenericParameter is true.
+Arg_GenericParameter = Method must be called on a Type for which Type.IsGenericParameter is false.
+Arg_NotGenericTypeDefinition = {0} is not a GenericTypeDefinition. MakeGenericType may only be called on a type for which Type.IsGenericTypeDefinition is true.
+Arg_NotGenericMethodDefinition = {0} is not a GenericMethodDefinition. MakeGenericMethod may only be called on a method for which MethodBase.IsGenericMethodDefinition is true.
+Arg_BadLiteralFormat = Encountered an invalid type for a default value.
+Arg_MissingActivationArguments = The AppDomainSetup must specify the activation arguments for this call.
+Argument_BadParameterTypeForCAB = Cannot emit a CustomAttribute with argument of type {0}.
+Argument_InvalidMemberForNamedArgument = The member must be either a field or a property.
+Argument_InvalidTypeName = The name of the type is invalid.
+
+; Note - don't change the NullReferenceException default message. This was
+; negotiated carefully with the VB team to avoid saying "null" or "nothing".
+Arg_NullReferenceException = Object reference not set to an instance of an object.
+
+Arg_AccessViolationException = Attempted to read or write protected memory. This is often an indication that other memory is corrupt.
+Arg_OverflowException = Arithmetic operation resulted in an overflow.
+Arg_PathGlobalRoot = Paths that begin with \\\\?\\GlobalRoot are internal to the kernel and should not be opened by managed applications.
+Arg_PathIllegal = The path is not of a legal form.
+Arg_PathIllegalUNC = The UNC path should be of the form \\\\server\\share.
+Arg_RankException = Attempted to operate on an array with the incorrect number of dimensions.
+Arg_RankMultiDimNotSupported = Only single dimensional arrays are supported for the requested action.
+Arg_NonZeroLowerBound = The lower bound of target array must be zero.
+Arg_RegSubKeyValueAbsent = No value exists with that name.
+Arg_ResourceFileUnsupportedVersion = The ResourceReader class does not know how to read this version of .resources files. Expected version: {0} This file: {1}
+Arg_ResourceNameNotExist = The specified resource name "{0}" does not exist in the resource file.
+Arg_SecurityException = Security error.
+Arg_SerializationException = Serialization error.
+Arg_StackOverflowException = Operation caused a stack overflow.
+Arg_SurrogatesNotAllowedAsSingleChar = Unicode surrogate characters must be written out as pairs together in the same call, not individually. Consider passing in a character array instead.
+Arg_SynchronizationLockException = Object synchronization method was called from an unsynchronized block of code.
+Arg_RWLockRestoreException = ReaderWriterLock.RestoreLock was called without releasing all locks acquired since the call to ReleaseLock.
+Arg_SystemException = System error.
+Arg_TimeoutException = The operation has timed out.
+Arg_UnauthorizedAccessException = Attempted to perform an unauthorized operation.
+Arg_ArgumentException = Value does not fall within the expected range.
+Arg_DirectoryNotFoundException = Attempted to access a path that is not on the disk.
+Arg_DriveNotFoundException = Attempted to access a drive that is not available.
+Arg_EndOfStreamException = Attempted to read past the end of the stream.
+Arg_HexStyleNotSupported = The number style AllowHexSpecifier is not supported on floating point data types.
+Arg_IOException = I/O error occurred.
+Arg_InvalidHexStyle = With the AllowHexSpecifier bit set in the enum bit field, the only other valid bits that can be combined into the enum value must be a subset of those in HexNumber.
+Arg_KeyNotFound = The given key was not present in the dictionary.
+Argument_InvalidNumberStyles = An undefined NumberStyles value is being used.
+Argument_InvalidDateTimeStyles = An undefined DateTimeStyles value is being used.
+Argument_InvalidTimeSpanStyles = An undefined TimeSpanStyles value is being used.
+Argument_DateTimeOffsetInvalidDateTimeStyles = The DateTimeStyles value 'NoCurrentDateDefault' is not allowed when parsing DateTimeOffset.
+Argument_NativeResourceAlreadyDefined = Native resource has already been defined.
+Argument_BadObjRef = Invalid ObjRef provided to '{0}'.
+Argument_InvalidCultureName = Culture name '{0}' is not supported.
+Argument_NameTooLong = The name '{0}' is too long to be a Culture or Region name, which is limited to {1} characters.
+Argument_NameContainsInvalidCharacters = The name '{0}' contains characters that are not valid for a Culture or Region.
+Argument_InvalidRegionName = Region name '{0}' is not supported.
+Argument_CannotCreateTypedReference = Cannot use function evaluation to create a TypedReference object.
+Arg_ArrayZeroError = Array must not be of length zero.
+Arg_BogusIComparer = Unable to sort because the IComparer.Compare() method returns inconsistent results. Either a value does not compare equal to itself, or one value repeatedly compared to another value yields different results. IComparer: '{0}'.
+Arg_CreatInstAccess = Cannot specify both CreateInstance and another access type.
+Arg_CryptographyException = Error occurred during a cryptographic operation.
+Arg_DateTimeRange = Combination of arguments to the DateTime constructor is out of the legal range.
+Arg_DecBitCtor = Decimal byte array constructor requires an array of length four containing valid decimal bytes.
+Arg_DlgtTargMeth = Cannot bind to the target method because its signature or security transparency is not compatible with that of the delegate type.
+Arg_DlgtTypeMis = Delegates must be of the same type.
+Arg_DlgtNullInst = Delegate to an instance method cannot have null 'this'.
+Arg_DllInitFailure = One machine may not have remote administration enabled, or both machines may not be running the remote registry service.
+Arg_EmptyArray = Array may not be empty.
+Arg_EmptyOrNullArray = Array may not be empty or null.
+Arg_EmptyCollection = Collection must not be empty.
+Arg_EmptyOrNullString = String may not be empty or null.
+Argument_ItemNotExist = The specified item does not exist in this KeyedCollection.
+Argument_EncodingNotSupported = '{0}' is not a supported encoding name. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
+Argument_FallbackBufferNotEmpty = Cannot change fallback when buffer is not empty. Previous Convert() call left data in the fallback buffer.
+Argument_InvalidCodePageConversionIndex = Unable to translate Unicode character \\u{0:X4} at index {1} to specified code page.
+Argument_InvalidCodePageBytesIndex = Unable to translate bytes {0} at index {1} from specified code page to Unicode.
+Argument_RecursiveFallback = Recursive fallback not allowed for character \\u{0:X4}.
+Argument_RecursiveFallbackBytes = Recursive fallback not allowed for bytes {0}.
+Arg_EnumAndObjectMustBeSameType = Object must be the same type as the enum. The type passed in was '{0}'; the enum type was '{1}'.
+Arg_EnumIllegalVal = Illegal enum value: {0}.
+Arg_EnumNotSingleFlag = Must set exactly one flag.
+Arg_EnumAtLeastOneFlag = Must set at least one flag.
+Arg_EnumUnderlyingTypeAndObjectMustBeSameType = Enum underlying type and the object must be same type or object must be a String. Type passed in was '{0}'; the enum underlying type was '{1}'.
+Arg_EnumFormatUnderlyingTypeAndObjectMustBeSameType = Enum underlying type and the object must be same type or object. Type passed in was '{0}'; the enum underlying type was '{1}'.
+Arg_EnumMustHaveUnderlyingValueField = All enums must have an underlying value__ field.
+Arg_COMAccess = Must specify property Set or Get or method call for a COM Object.
+Arg_COMPropSetPut = Only one of the following binding flags can be set: BindingFlags.SetProperty, BindingFlags.PutDispProperty, BindingFlags.PutRefDispProperty.
+Arg_FldSetGet = Cannot specify both Get and Set on a field.
+Arg_PropSetGet = Cannot specify both Get and Set on a property.
+Arg_CannotBeNaN = TimeSpan does not accept floating point Not-a-Number values.
+Arg_FldGetPropSet = Cannot specify both GetField and SetProperty.
+Arg_FldSetPropGet = Cannot specify both SetField and GetProperty.
+Arg_FldSetInvoke = Cannot specify Set on a Field and Invoke on a method.
+Arg_FldGetArgErr = No arguments can be provided to Get a field value.
+Arg_FldSetArgErr = Only the field value can be specified to set a field value.
+Arg_GetMethNotFnd = Property Get method was not found.
+Arg_GuidArrayCtor = Byte array for GUID must be exactly {0} bytes long.
+Arg_HandleNotAsync = Handle does not support asynchronous operations. The parameters to the FileStream constructor may need to be changed to indicate that the handle was opened synchronously (that is, it was not opened for overlapped I/O).
+Arg_HandleNotSync = Handle does not support synchronous operations. The parameters to the FileStream constructor may need to be changed to indicate that the handle was opened asynchronously (that is, it was opened explicitly for overlapped I/O).
+Arg_HTCapacityOverflow = Hashtable's capacity overflowed and went negative. Check load factor, capacity and the current size of the table.
+Arg_IndexMustBeInt = All indexes must be of type Int32.
+Arg_InvalidConsoleColor = The ConsoleColor enum value was not defined on that enum. Please use a defined color from the enum.
+Arg_InvalidFileAttrs = Invalid File or Directory attributes value.
+Arg_InvalidHandle = Invalid handle.
+Arg_InvalidTypeInSignature = The signature Type array contains some invalid type (i.e. null, void)
+Arg_InvalidTypeInRetType = The return Type contains some invalid type (i.e. null, ByRef)
+Arg_EHClauseNotFilter = This ExceptionHandlingClause is not a filter.
+Arg_EHClauseNotClause = This ExceptionHandlingClause is not a clause.
+Arg_ReflectionOnlyCA = It is illegal to reflect on the custom attributes of a Type loaded via ReflectionOnlyGetType (see Assembly.ReflectionOnly) -- use CustomAttributeData instead.
+Arg_ReflectionOnlyInvoke = It is illegal to invoke a method on a Type loaded via ReflectionOnlyGetType.
+Arg_ReflectionOnlyField = It is illegal to get or set the value on a field on a Type loaded via ReflectionOnlyGetType.
+Arg_MemberInfoNullModule = The Module object containing the member cannot be null.
+Arg_ParameterInfoNullMember = The MemberInfo object defining the parameter cannot be null.
+Arg_ParameterInfoNullModule = The Module object containing the parameter cannot be null.
+Arg_AssemblyNullModule = The manifest module of the assembly cannot be null.
+Arg_LongerThanSrcArray = Source array was not long enough. Check srcIndex and length, and the array's lower bounds.
+Arg_LongerThanDestArray = Destination array was not long enough. Check destIndex and length, and the array's lower bounds.
+Arg_LowerBoundsMustMatch = The arrays' lower bounds must be identical.
+Arg_MustBeBoolean = Object must be of type Boolean.
+Arg_MustBeByte = Object must be of type Byte.
+Arg_MustBeChar = Object must be of type Char.
+Arg_MustBeDateTime = Object must be of type DateTime.
+Arg_MustBeDateTimeOffset = Object must be of type DateTimeOffset.
+Arg_MustBeDecimal = Object must be of type Decimal.
+Arg_MustBeDelegate = Type must derive from Delegate.
+Arg_MustBeDouble = Object must be of type Double.
+Arg_MustBeDriveLetterOrRootDir = Object must be a root directory ("C:\\") or a drive letter ("C").
+Arg_MustBeEnum = Type provided must be an Enum.
+Arg_MustBeEnumBaseTypeOrEnum = The value passed in must be an enum base or an underlying type for an enum, such as an Int32.
+Arg_MustBeGuid = Object must be of type GUID.
+Arg_MustBeIdentityReferenceType = Type must be an IdentityReference, such as NTAccount or SecurityIdentifier.
+Arg_MustBeInterface = Type passed must be an interface.
+Arg_MustBeInt16 = Object must be of type Int16.
+Arg_MustBeInt32 = Object must be of type Int32.
+Arg_MustBeInt64 = Object must be of type Int64.
+Arg_MustBePrimArray = Object must be an array of primitives.
+Arg_MustBePointer = Type must be a Pointer.
+Arg_MustBeStatic = Method must be a static method.
+Arg_MustBeString = Object must be of type String.
+Arg_MustBeStringPtrNotAtom = The pointer passed in as a String must not be in the bottom 64K of the process's address space.
+Arg_MustBeSByte = Object must be of type SByte.
+Arg_MustBeSingle = Object must be of type Single.
+Arg_MustBeTimeSpan = Object must be of type TimeSpan.
+Arg_MustBeType = Type must be a type provided by the runtime.
+Arg_MustBeUInt16 = Object must be of type UInt16.
+Arg_MustBeUInt32 = Object must be of type UInt32.
+Arg_MustBeUInt64 = Object must be of type UInt64.
+Arg_MustBeVersion = Object must be of type Version.
+Arg_MustBeTrue = Argument must be true.
+Arg_MustAllBeRuntimeType = At least one type argument is not a runtime type.
+Arg_NamedParamNull = Named parameter value must not be null.
+Arg_NamedParamTooBig = Named parameter array cannot be bigger than argument array.
+Arg_Need1DArray = Array was not a one-dimensional array.
+Arg_Need2DArray = Array was not a two-dimensional array.
+Arg_Need3DArray = Array was not a three-dimensional array.
+Arg_NeedAtLeast1Rank = Must provide at least one rank.
+Arg_NoDefCTor = No parameterless constructor defined for this object.
+Arg_BitArrayTypeUnsupported = Only supported array types for CopyTo on BitArrays are Boolean[], Int32[] and Byte[].
+Arg_DivideByZero = Attempted to divide by zero.
+Arg_NoAccessSpec = Must specify binding flags describing the invoke operation required (BindingFlags.InvokeMethod CreateInstance GetField SetField GetProperty SetProperty).
+Arg_NoStaticVirtual = Method cannot be both static and virtual.
+Arg_NotFoundIFace = Interface not found.
+Arg_ObjObjEx = Object of type '{0}' cannot be converted to type '{1}'.
+Arg_ObjObj = Object type cannot be converted to target type.
+Arg_FieldDeclTarget = Field '{0}' defined on type '{1}' is not a field on the target object which is of type '{2}'.
+Arg_OleAutDateInvalid = Not a legal OleAut date.
+Arg_OleAutDateScale = OleAut date did not convert to a DateTime correctly.
+Arg_PlatformNotSupported = Operation is not supported on this platform.
+Arg_PlatformSecureString = SecureString is only supported on Windows 2000 SP3 and higher platforms.
+Arg_ParmCnt = Parameter count mismatch.
+Arg_ParmArraySize = Must specify one or more parameters.
+Arg_Path2IsRooted = Second path fragment must not be a drive or UNC name.
+Arg_PathIsVolume = Path must not be a drive.
+Arg_PrimWiden = Cannot widen from source type to target type either because the source type is a not a primitive type or the conversion cannot be accomplished.
+Arg_NullIndex = Arrays indexes must be set to an object instance.
+Arg_VarMissNull = Missing parameter does not have a default value.
+Arg_PropSetInvoke = Cannot specify Set on a property and Invoke on a method.
+Arg_PropNotFound = Could not find the specified property.
+Arg_RankIndices = Indices length does not match the array rank.
+Arg_RanksAndBounds = Number of lengths and lowerBounds must match.
+Arg_RegSubKeyAbsent = Cannot delete a subkey tree because the subkey does not exist.
+Arg_RemoveArgNotFound = Cannot remove the specified item because it was not found in the specified Collection.
+Arg_RegKeyDelHive = Cannot delete a registry hive's subtree.
+Arg_RegKeyNoRemoteConnect = No remote connection to '{0}' while trying to read the registry.
+Arg_RegKeyOutOfRange = Registry HKEY was out of the legal range.
+Arg_RegKeyNotFound = The specified registry key does not exist.
+Arg_RegKeyStrLenBug = Registry key names should not be greater than 255 characters.
+Arg_RegValStrLenBug = Registry value names should not be greater than 16,383 characters.
+Arg_RegBadKeyKind = The specified RegistryValueKind is an invalid value.
+Arg_RegGetOverflowBug = RegistryKey.GetValue does not allow a String that has a length greater than Int32.MaxValue.
+Arg_RegSetMismatchedKind = The type of the value object did not match the specified RegistryValueKind or the object could not be properly converted.
+Arg_RegSetBadArrType = RegistryKey.SetValue does not support arrays of type '{0}'. Only Byte[] and String[] are supported.
+Arg_RegSetStrArrNull = RegistryKey.SetValue does not allow a String[] that contains a null String reference.
+Arg_RegInvalidKeyName = Registry key name must start with a valid base key name.
+Arg_ResMgrNotResSet = Type parameter must refer to a subclass of ResourceSet.
+Arg_SetMethNotFnd = Property set method not found.
+Arg_TypeRefPrimitve = TypedReferences cannot be redefined as primitives.
+Arg_UnknownTypeCode = Unknown TypeCode value.
+Arg_VersionString = Version string portion was too short or too long.
+Arg_NoITypeInfo = Specified TypeInfo was invalid because it did not support the ITypeInfo interface.
+Arg_NoITypeLib = Specified TypeLib was invalid because it did not support the ITypeLib interface.
+Arg_NoImporterCallback = Specified type library importer callback was invalid because it did not support the ITypeLibImporterNotifySink interface.
+Arg_ImporterLoadFailure = The type library importer encountered an error during type verification. Try importing without class members.
+Arg_InvalidBase = Invalid Base.
+Arg_EnumValueNotFound = Requested value '{0}' was not found.
+Arg_EnumLitValueNotFound = Literal value was not found.
+Arg_MustContainEnumInfo = Must specify valid information for parsing in the string.
+Arg_InvalidSearchPattern = Search pattern cannot contain ".." to move up directories and can be contained only internally in file/directory names, as in "a..b".
+Arg_NegativeArgCount = Argument count must not be negative.
+Arg_InvalidAccessEntry = Specified access entry is invalid because it is unrestricted. The global flags should be specified instead.
+Arg_InvalidFileName = Specified file name was invalid.
+Arg_InvalidFileExtension = Specified file extension was not a valid extension.
+Arg_COMException = Error HRESULT E_FAIL has been returned from a call to a COM component.
+Arg_ExternalException = External component has thrown an exception.
+Arg_InvalidComObjectException = Attempt has been made to use a COM object that does not have a backing class factory.
+Arg_InvalidOleVariantTypeException = Specified OLE variant was invalid.
+Arg_MarshalDirectiveException = Marshaling directives are invalid.
+Arg_MarshalAsAnyRestriction = AsAny cannot be used on return types, ByRef parameters, ArrayWithOffset, or parameters passed from unmanaged to managed.
+Arg_NDirectBadObject = No PInvoke conversion exists for value passed to Object-typed parameter.
+Arg_SafeArrayTypeMismatchException = Specified array was not of the expected type.
+Arg_VTableCallsNotSupportedException = Attempted to make an early bound call on a COM dispatch-only interface.
+Arg_SafeArrayRankMismatchException = Specified array was not of the expected rank.
+Arg_AmbiguousMatchException = Ambiguous match found.
+Arg_CustomAttributeFormatException = Binary format of the specified custom attribute was invalid.
+Arg_InvalidFilterCriteriaException = Specified filter criteria was invalid.
+Arg_TypeLoadNullStr = A null or zero length string does not represent a valid Type.
+Arg_TargetInvocationException = Exception has been thrown by the target of an invocation.
+Arg_TargetParameterCountException = Number of parameters specified does not match the expected number.
+Arg_TypeAccessException = Attempt to access the type failed.
+Arg_TypeLoadException = Failure has occurred while loading a type.
+Arg_TypeUnloadedException = Type had been unloaded.
+Arg_ThreadStateException = Thread was in an invalid state for the operation being executed.
+Arg_ThreadStartException = Thread failed to start.
+Arg_WrongAsyncResult = IAsyncResult object did not come from the corresponding async method on this type.
+Arg_WrongType = The value "{0}" is not of type "{1}" and cannot be used in this generic collection.
+Argument_InvalidArgumentForComparison = Type of argument is not compatible with the generic comparer.
+Argument_ALSInvalidCapacity = Specified capacity must not be less than the current capacity.
+Argument_ALSInvalidSlot = Specified slot number was invalid.
+Argument_IdnIllegalName = Decoded string is not a valid IDN name.
+Argument_IdnBadBidi = Left to right characters may not be mixed with right to left characters in IDN labels.
+Argument_IdnBadLabelSize = IDN labels must be between 1 and 63 characters long.
+Argument_IdnBadNameSize = IDN names must be between 1 and {0} characters long.
+Argument_IdnBadPunycode = Invalid IDN encoded string.
+Argument_IdnBadStd3 = Label contains character '{0}' not allowed with UseStd3AsciiRules
+Arg_InvalidANSIString = The ANSI string passed in could not be converted from the default ANSI code page to Unicode.
+Arg_InvalidUTF8String = The UTF8 string passed in could not be converted to Unicode.
+Argument_InvalidCharSequence = Invalid Unicode code point found at index {0}.
+Argument_InvalidCharSequenceNoIndex = String contains invalid Unicode code points.
+Argument_InvalidCalendar = Not a valid calendar for the given culture.
+Argument_InvalidNormalizationForm = Invalid or unsupported normalization form.
+Argument_InvalidPathChars = Illegal characters in path.
+Argument_InvalidOffLen = Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.
+Argument_InvalidSeekOrigin = Invalid seek origin.
+Argument_SeekOverflow = The specified seek offset '{0}' would result in a negative Stream position.
+Argument_InvalidUnity = Invalid Unity type.
+Argument_LongEnvVarName = Environment variable name cannot contain 1024 or more characters.
+Argument_LongEnvVarValue = Environment variable name or value is too long.
+Argument_StringFirstCharIsZero = The first char in the string is the null character.
+Argument_OnlyMscorlib = Only mscorlib's assembly is valid.
+Argument_PathEmpty = Path cannot be the empty string or all whitespace.
+Argument_PathFormatNotSupported = The given path's format is not supported.
+Argument_PathUriFormatNotSupported = URI formats are not supported.
+Argument_TypeNameTooLong = Type name was too long. The fully qualified type name must be less than 1,024 characters.
+Argument_StreamNotReadable = Stream was not readable.
+Argument_StreamNotWritable = Stream was not writable.
+Argument_InvalidNumberOfMembers = MemberData contains an invalid number of members.
+Argument_InvalidValue = Value was invalid.
+Argument_InvalidKey = Key was invalid.
+Argument_MinMaxValue = '{0}' cannot be greater than {1}.
+Argument_InvalidGroupSize = Every element in the value array should be between one and nine, except for the last element, which can be zero.
+Argument_MustHaveAttributeBaseClass = Type passed in must be derived from System.Attribute or System.Attribute itself.
+Argument_NoUninitializedStrings = Uninitialized Strings cannot be created.
+Argument_UnequalMembers = Supplied MemberInfo does not match the expected type.
+Argument_BadFormatSpecifier = Format specifier was invalid.
+Argument_InvalidHighSurrogate = Found a high surrogate char without a following low surrogate at index: {0}. The input may not be in this encoding, or may not contain valid Unicode (UTF-16) characters.
+Argument_InvalidLowSurrogate = Found a low surrogate char without a preceding high surrogate at index: {0}. The input may not be in this encoding, or may not contain valid Unicode (UTF-16) characters.
+Argument_UnmatchingSymScope = Non-matching symbol scope.
+Argument_NotInExceptionBlock = Not currently in an exception block.
+Argument_BadExceptionCodeGen = Incorrect code generation for exception block.
+Argument_NotExceptionType = Does not extend Exception.
+Argument_DuplicateResourceName = Duplicate resource name within an assembly.
+Argument_BadPersistableModuleInTransientAssembly = Cannot have a persistable module in a transient assembly.
+Argument_InvalidPermissionState = Invalid permission state.
+Argument_UnrestrictedIdentityPermission = Identity permissions cannot be unrestricted.
+Argument_WrongType = Operation on type '{0}' attempted with target of incorrect type.
+Argument_IllegalZone = Illegal security permission zone specified.
+Argument_HasToBeArrayClass = Must be an array type.
+Argument_InvalidDirectory = Invalid directory, '{0}'.
+Argument_DataLengthDifferent = Parameters 'members' and 'data' must have the same length.
+Argument_SigIsFinalized = Completed signature cannot be modified.
+Argument_ArraysInvalid = Array or pointer types are not valid.
+Argument_GenericsInvalid = Generic types are not valid.
+Argument_LargeInteger = Integer or token was too large to be encoded.
+Argument_BadSigFormat = Incorrect signature format.
+Argument_UnmatchedMethodForLocal = Local passed in does not belong to this ILGenerator.
+Argument_DuplicateName = Tried to add NamedPermissionSet with non-unique name.
+Argument_InvalidXMLElement = Invalid XML. Missing required tag <{0}> for type '{1}'.
+Argument_InvalidXMLMissingAttr = Invalid XML. Missing required attribute '{0}'.
+Argument_CannotGetTypeTokenForByRef = Cannot get TypeToken for a ByRef type.
+Argument_NotASimpleNativeType = The UnmanagedType passed to DefineUnmanagedMarshal is not a simple type. None of the following values may be used: UnmanagedType.ByValTStr, UnmanagedType.SafeArray, UnmanagedType.ByValArray, UnmanagedType.LPArray, UnmanagedType.CustomMarshaler.
+Argument_NotACustomMarshaler = Not a custom marshal.
+Argument_NoUnmanagedElementCount = Unmanaged marshal does not have ElementCount.
+Argument_NoNestedMarshal = Only LPArray or SafeArray has nested unmanaged marshal.
+Argument_InvalidXML = Invalid Xml.
+Argument_NoUnderlyingCCW = The object has no underlying COM data associated with it.
+Argument_BadFieldType = Bad field type in defining field.
+Argument_InvalidXMLBadVersion = Invalid Xml - can only parse elements of version one.
+Argument_NotAPermissionElement = 'elem' was not a permission element.
+Argument_NPMSInvalidName = Name can be neither null nor empty.
+Argument_InvalidElementTag = Invalid element tag '{0}'.
+Argument_InvalidElementText = Invalid element text '{0}'.
+Argument_InvalidElementName = Invalid element name '{0}'.
+Argument_InvalidElementValue = Invalid element value '{0}'.
+Argument_AttributeNamesMustBeUnique = Attribute names must be unique.
+#if FEATURE_CAS_POLICY
+Argument_UninitializedCertificate = Uninitialized certificate object.
+Argument_MembershipConditionElement = Element must be a <IMembershipCondition> element.
+Argument_ReservedNPMS = Cannot remove or modify reserved permissions set '{0}'.
+Argument_NPMSInUse = Permission set '{0}' was in use and could not be deleted.
+Argument_StrongNameGetPublicKey = Unable to obtain public key for StrongNameKeyPair.
+Argument_SiteCannotBeNull = Site name must be specified.
+Argument_BlobCannotBeNull = Public key must be specified.
+Argument_ZoneCannotBeNull = Zone must be specified.
+Argument_UrlCannotBeNull = URL must be specified.
+Argument_NoNPMS = Unable to find a permission set with the provided name.
+Argument_FailedCodeGroup = Failed to create a code group of type '{0}'.
+Argument_CodeGroupChildrenMustBeCodeGroups = All objects in the input list must have a parent type of 'CodeGroup'.
+#endif // FEATURE_CAS_POLICY
+#if FEATURE_IMPERSONATION
+Argument_InvalidPrivilegeName = Privilege '{0}' is not valid on this system.
+Argument_TokenZero = Token cannot be zero.
+Argument_InvalidImpersonationToken = Invalid token for impersonation - it cannot be duplicated.
+Argument_ImpersonateUser = Unable to impersonate user.
+#endif // FEATURE_IMPERSONATION
+Argument_InvalidHexFormat = Improperly formatted hex string.
+Argument_InvalidSite = Invalid site.
+Argument_InterfaceMap = 'this' type cannot be an interface itself.
+Argument_ArrayGetInterfaceMap = Interface maps for generic interfaces on arrays cannot be retrieved.
+Argument_InvalidName = Invalid name.
+Argument_InvalidDirectoryOnUrl = Invalid directory on URL.
+Argument_InvalidUrl = Invalid URL.
+Argument_InvalidKindOfTypeForCA = This type cannot be represented as a custom attribute.
+Argument_MustSupplyContainer = When supplying a FieldInfo for fixing up a nested type, a valid ID for that containing object must also be supplied.
+Argument_MustSupplyParent = When supplying the ID of a containing object, the FieldInfo that identifies the current field within that object must also be supplied.
+Argument_NoClass = Element does not specify a class.
+Argument_WrongElementType = '{0}' element required.
+Argument_UnableToGeneratePermissionSet = Unable to generate permission set; input XML may be malformed.
+Argument_NoEra = No Era was supplied.
+Argument_AssemblyAlreadyFullTrust = Assembly was already fully trusted.
+Argument_AssemblyNotFullTrust = Assembly was not fully trusted.
+Argument_AssemblyWinMD = Assembly must not be a Windows Runtime assembly.
+Argument_MemberAndArray = Cannot supply both a MemberInfo and an Array to indicate the parent of a value type.
+Argument_ObjNotComObject = The object's type must be __ComObject or derived from __ComObject.
+Argument_ObjIsWinRTObject = The object's type must not be a Windows Runtime type.
+Argument_TypeNotComObject = The type must be __ComObject or be derived from __ComObject.
+Argument_TypeIsWinRTType = The type must not be a Windows Runtime type.
+Argument_CantCallSecObjFunc = Cannot evaluate a security function.
+Argument_StructMustNotBeValueClass = The structure must not be a value class.
+Argument_NoSpecificCulture = Please select a specific culture, such as zh-CN, zh-HK, zh-TW, zh-MO, zh-SG.
+Argument_InvalidResourceCultureName = The given culture name '{0}' cannot be used to locate a resource file. Resource filenames must consist of only letters, numbers, hyphens or underscores.
+Argument_InvalidParamInfo = Invalid type for ParameterInfo member in Attribute class.
+Argument_EmptyDecString = Decimal separator cannot be the empty string.
+Argument_OffsetOfFieldNotFound = Field passed in is not a marshaled member of the type '{0}'.
+Argument_EmptyStrongName = StrongName cannot have an empty string for the assembly name.
+Argument_NotSerializable = Argument passed in is not serializable.
+Argument_EmptyApplicationName = ApplicationId cannot have an empty string for the name.
+Argument_NoDomainManager = The domain manager specified by the host could not be instantiated.
+Argument_NoMain = Main entry point not defined.
+Argument_InvalidDateTimeKind = Invalid DateTimeKind value.
+Argument_ConflictingDateTimeStyles = The DateTimeStyles values AssumeLocal and AssumeUniversal cannot be used together.
+Argument_ConflictingDateTimeRoundtripStyles = The DateTimeStyles value RoundtripKind cannot be used with the values AssumeLocal, AssumeUniversal or AdjustToUniversal.
+Argument_InvalidDigitSubstitution = The DigitSubstitution property must be of a valid member of the DigitShapes enumeration. Valid entries include Context, NativeNational or None.
+Argument_InvalidNativeDigitCount = The NativeDigits array must contain exactly ten members.
+Argument_InvalidNativeDigitValue = Each member of the NativeDigits array must be a single text element (one or more UTF16 code points) with a Unicode Nd (Number, Decimal Digit) property indicating it is a digit.
+ArgumentException_InvalidAceBinaryForm = The binary form of an ACE object is invalid.
+ArgumentException_InvalidAclBinaryForm = The binary form of an ACL object is invalid.
+ArgumentException_InvalidSDSddlForm = The SDDL form of a security descriptor object is invalid.
+Argument_InvalidSafeHandle = The SafeHandle is invalid.
+Argument_CannotPrepareAbstract = Abstract methods cannot be prepared.
+Argument_ArrayTooLarge = The input array length must not exceed Int32.MaxValue / {0}. Otherwise BitArray.Length would exceed Int32.MaxValue.
+Argument_RelativeUrlMembershipCondition = UrlMembershipCondition requires an absolute URL.
+Argument_EmptyWaithandleArray = Waithandle array may not be empty.
+Argument_InvalidSafeBufferOffLen = Offset and length were greater than the size of the SafeBuffer.
+Argument_NotEnoughBytesToRead = There are not enough bytes remaining in the accessor to read at this position.
+Argument_NotEnoughBytesToWrite = There are not enough bytes remaining in the accessor to write at this position.
+Argument_OffsetAndLengthOutOfBounds = Offset and length were out of bounds for the array or count is greater than the number of elements from index to the end of the source collection.
+Argument_OffsetAndCapacityOutOfBounds = Offset and capacity were greater than the size of the view.
+Argument_UnmanagedMemAccessorWrapAround = The UnmanagedMemoryAccessor capacity and offset would wrap around the high end of the address space.
+Argument_UnrecognizedLoaderOptimization = Unrecognized LOADER_OPTIMIZATION property value. Supported values may include "SingleDomain", "MultiDomain", "MultiDomainHost", and "NotSpecified".
+ArgumentException_NotAllCustomSortingFuncsDefined = Implementations of all the NLS functions must be provided.
+ArgumentException_MinSortingVersion = The runtime does not support a version of "{0}" less than {1}.
+
+;
+; =====================================================
+; Reflection Emit resource strings
+Arugment_EmitMixedContext1 = Type '{0}' was loaded in the ReflectionOnly context but the AssemblyBuilder was not created as AssemblyBuilderAccess.ReflectionOnly.
+Arugment_EmitMixedContext2 = Type '{0}' was not loaded in the ReflectionOnly context but the AssemblyBuilder was created as AssemblyBuilderAccess.ReflectionOnly.
+Argument_BadSizeForData = Data size must be > 0 and < 0x3f0000
+Argument_InvalidLabel = Invalid Label.
+Argument_RedefinedLabel = Label multiply defined.
+Argument_UnclosedExceptionBlock = The IL Generator cannot be used while there are unclosed exceptions.
+Argument_MissingDefaultConstructor = was missing default constructor.
+Argument_TooManyFinallyClause = Exception blocks may have at most one finally clause.
+Argument_NotInTheSameModuleBuilder = The argument passed in was not from the same ModuleBuilder.
+Argument_BadCurrentLocalVariable = Bad current local variable for setting symbol information.
+Argument_DuplicateModuleName = Duplicate dynamic module name within an assembly.
+Argument_DuplicateTypeName = Duplicate type name within an assembly.
+Argument_InvalidAssemblyName = Assembly names may not begin with whitespace or contain the characters '/', or '\\' or ':'.
+Argument_InvalidGenericInstantiation = The given generic instantiation was invalid.
+Argument_DuplicatedFileName = Duplicate file names.
+Argument_GlobalFunctionHasToBeStatic = Global members must be static.
+Argument_BadPInvokeOnInterface = PInvoke methods cannot exist on interfaces.
+Argument_BadPInvokeMethod = PInvoke methods must be static and native and cannot be abstract.
+Argument_MethodRedefined = Method has been already defined.
+Argument_BadTypeAttrAbstractNFinal = Bad type attributes. A type cannot be both abstract and final.
+Argument_BadTypeAttrNestedVisibilityOnNonNestedType = Bad type attributes. Nested visibility flag set on a non-nested type.
+Argument_BadTypeAttrNonNestedVisibilityNestedType = Bad type attributes. Non-nested visibility flag set on a nested type.
+Argument_BadTypeAttrInvalidLayout = Bad type attributes. Invalid layout attribute specified.
+Argument_BadTypeAttrReservedBitsSet = Bad type attributes. Reserved bits set on the type.
+Argument_BadFieldSig = Field signatures do not have return types.
+Argument_ShouldOnlySetVisibilityFlags = Should only set visibility flags when creating EnumBuilder.
+Argument_BadNestedTypeFlags = Visibility of interfaces must be one of the following: NestedAssembly, NestedFamANDAssem, NestedFamily, NestedFamORAssem, NestedPrivate or NestedPublic.
+Argument_ShouldNotSpecifyExceptionType = Should not specify exception type for catch clause for filter block.
+Argument_BadLabel = Bad label in ILGenerator.
+Argument_BadLabelContent = Bad label content in ILGenerator.
+Argument_EmitWriteLineType = EmitWriteLine does not support this field or local type.
+Argument_ConstantNull = Null is not a valid constant value for this type.
+Argument_ConstantDoesntMatch = Constant does not match the defined type.
+Argument_ConstantNotSupported = {0} is not a supported constant type.
+Argument_BadConstructor = Cannot have private or static constructor.
+Argument_BadConstructorCallConv = Constructor must have standard calling convention.
+Argument_BadPropertyForConstructorBuilder = Property must be on the same type of the given ConstructorInfo.
+Argument_NotAWritableProperty = Not a writable property.
+Argument_BadFieldForConstructorBuilder = Field must be on the same type of the given ConstructorInfo.
+Argument_BadAttributeOnInterfaceMethod = Interface method must be abstract and virtual.
+ArgumentException_BadMethodImplBody = MethodOverride's body must be from this type.
+Argument_BadParameterCountsForConstructor = Parameter count does not match passed in argument value count.
+Argument_BadParameterTypeForConstructor = Passed in argument value at index {0} does not match the parameter type.
+Argument_BadTypeInCustomAttribute = An invalid type was used as a custom attribute constructor argument, field or property.
+Argument_DateTimeBadBinaryData = The binary data must result in a DateTime with ticks between DateTime.MinValue.Ticks and DateTime.MaxValue.Ticks.
+Argument_VerStringTooLong = The unmanaged Version information is too large to persist.
+Argument_UnknownUnmanagedCallConv = Unknown unmanaged calling convention for function signature.
+Argument_BadConstantValue = Bad default value.
+Argument_IllegalName = Illegal name.
+Argument_cvtres_NotFound = Cannot find cvtres.exe
+Argument_BadCAForUnmngRSC = Bad '{0}' while generating unmanaged resource information.
+Argument_MustBeInterfaceMethod = The MemberInfo must be an interface method.
+Argument_CORDBBadVarArgCallConv = Cannot evaluate a VarArgs function.
+Argument_CORDBBadMethod = Cannot find the method on the object instance.
+Argument_InvalidOpCodeOnDynamicMethod = Ldtoken, Ldftn and Ldvirtftn OpCodes cannot target DynamicMethods.
+Argument_InvalidTypeForDynamicMethod = Invalid type owner for DynamicMethod.
+Argument_NeedGenericMethodDefinition = Method must represent a generic method definition on a generic type definition.
+Argument_MethodNeedGenericDeclaringType = The specified method cannot be dynamic or global and must be declared on a generic type definition.
+Argument_ConstructorNeedGenericDeclaringType = The specified constructor must be declared on a generic type definition.
+Argument_FieldNeedGenericDeclaringType = The specified field must be declared on a generic type definition.
+Argument_InvalidMethodDeclaringType = The specified method must be declared on the generic type definition of the specified type.
+Argument_InvalidConstructorDeclaringType = The specified constructor must be declared on the generic type definition of the specified type.
+Argument_InvalidFieldDeclaringType = The specified field must be declared on the generic type definition of the specified type.
+Argument_NeedNonGenericType = The specified Type must not be a generic type definition.
+Argument_MustBeTypeBuilder = 'type' must contain a TypeBuilder as a generic argument.
+Argument_CannotSetParentToInterface = Cannot set parent to an interface.
+Argument_MismatchedArrays = Two arrays, {0} and {1}, must be of the same size.
+Argument_NeedNonGenericObject = The specified object must not be an instance of a generic type.
+Argument_NeedStructWithNoRefs = The specified Type must be a struct containing no references.
+Argument_NotMethodCallOpcode = The specified opcode cannot be passed to EmitCall.
+
+; =====================================================
+;
+Argument_ModuleAlreadyLoaded = The specified module has already been loaded.
+Argument_MustHaveLayoutOrBeBlittable = The specified structure must be blittable or have layout information.
+Argument_NotSimpleFileName = The filename must not include a path specification.
+Argument_TypeMustBeVisibleFromCom = The specified type must be visible from COM.
+Argument_TypeMustBeComCreatable = The type must be creatable from COM.
+Argument_TypeMustNotBeComImport = The type must not be imported from COM.
+Argument_PolicyFileDoesNotExist = The requested policy file does not exist.
+Argument_NonNullObjAndCtx = Either obj or ctx must be null.
+Argument_NoModuleFileExtension = Module file name '{0}' must have file extension.
+Argument_TypeDoesNotContainMethod = Type does not contain the given method.
+Argument_StringZeroLength = String cannot be of zero length.
+Argument_MustBeString = String is too long or has invalid contents.
+Argument_AbsolutePathRequired = Absolute path information is required.
+Argument_ManifestFileDoesNotExist = The specified manifest file does not exist.
+Argument_MustBeRuntimeType = Type must be a runtime Type object.
+Argument_TypeNotValid = The Type object is not valid.
+Argument_MustBeRuntimeMethodInfo = MethodInfo must be a runtime MethodInfo object.
+Argument_MustBeRuntimeFieldInfo = FieldInfo must be a runtime FieldInfo object.
+Argument_InvalidFieldInfo = The FieldInfo object is not valid.
+Argument_InvalidConstructorInfo = The ConstructorInfo object is not valid.
+Argument_MustBeRuntimeAssembly = Assembly must be a runtime Assembly object.
+Argument_MustBeRuntimeModule = Module must be a runtime Module object.
+Argument_MustBeRuntimeParameterInfo = ParameterInfo must be a runtime ParameterInfo object.
+Argument_InvalidParameterInfo = The ParameterInfo object is not valid.
+Argument_MustBeRuntimeReflectionObject = The object must be a runtime Reflection object.
+Argument_InvalidMarshalByRefObject = The MarshalByRefObject is not valid.
+Argument_TypedReferenceInvalidField = Field in TypedReferences cannot be static or init only.
+Argument_HandleLeak = Cannot pass a GCHandle across AppDomains.
+Argument_ArgumentZero = Argument cannot be zero.
+Argument_ImproperType = Improper types in collection.
+Argument_NotAMembershipCondition = The type does not implement IMembershipCondition
+Argument_NotAPermissionType = The type does not implement IPermission
+Argument_NotACodeGroupType = The type does not inherit from CodeGroup
+Argument_NotATP = Type must be a TransparentProxy
+Argument_AlreadyACCW = The object already has a CCW associated with it.
+Argument_OffsetLocalMismatch = The UTC Offset of the local dateTime parameter does not match the offset argument.
+Argument_OffsetUtcMismatch = The UTC Offset for Utc DateTime instances must be 0.
+Argument_UTCOutOfRange = The UTC time represented when the offset is applied must be between year 0 and 10,000.
+Argument_OffsetOutOfRange = Offset must be within plus or minus 14 hours.
+Argument_OffsetPrecision = Offset must be specified in whole minutes.
+Argument_FlagNotSupported = One or more flags are not supported.
+Argument_MustBeFalse = Argument must be initialized to false
+Argument_ToExclusiveLessThanFromExclusive = fromInclusive must be less than or equal to toExclusive.
+Argument_FrameworkNameTooShort=FrameworkName cannot have less than two components or more than three components.
+Argument_FrameworkNameInvalid=FrameworkName is invalid.
+Argument_FrameworkNameMissingVersion=FrameworkName version component is missing.
+#if FEATURE_COMINTEROP
+Argument_TypeNotActivatableViaWindowsRuntime = Type '{0}' does not have an activation factory because it is not activatable by Windows Runtime.
+Argument_WinRTSystemRuntimeType = Cannot marshal type '{0}' to Windows Runtime. Only 'System.RuntimeType' is supported.
+Argument_Unexpected_TypeSource = Unexpected TypeKind when marshaling Windows.Foundation.TypeName.
+#endif // FEATURE_COMINTEROP
+
+; ArgumentNullException
+ArgumentNull_Array = Array cannot be null.
+ArgumentNull_ArrayValue = Found a null value within an array.
+ArgumentNull_ArrayElement = At least one element in the specified array was null.
+ArgumentNull_Assembly = Assembly cannot be null.
+ArgumentNull_AssemblyName = AssemblyName cannot be null.
+ArgumentNull_AssemblyNameName = AssemblyName.Name cannot be null or an empty string.
+ArgumentNull_Buffer = Buffer cannot be null.
+ArgumentNull_Collection = Collection cannot be null.
+ArgumentNull_CultureInfo = CultureInfo cannot be null.
+ArgumentNull_Dictionary = Dictionary cannot be null.
+ArgumentNull_FileName = File name cannot be null.
+ArgumentNull_Key = Key cannot be null.
+ArgumentNull_Graph = Object Graph cannot be null.
+ArgumentNull_Path = Path cannot be null.
+ArgumentNull_Stream = Stream cannot be null.
+ArgumentNull_String = String reference not set to an instance of a String.
+ArgumentNull_Type = Type cannot be null.
+ArgumentNull_Obj = Object cannot be null.
+ArgumentNull_GUID = GUID cannot be null.
+ArgumentNull_NullMember = Member at position {0} was null.
+ArgumentNull_Generic = Value cannot be null.
+ArgumentNull_WithParamName = Parameter '{0}' cannot be null.
+ArgumentNull_Child = Cannot have a null child.
+ArgumentNull_SafeHandle = SafeHandle cannot be null.
+ArgumentNull_CriticalHandle = CriticalHandle cannot be null.
+ArgumentNull_TypedRefType = Type in TypedReference cannot be null.
+ArgumentNull_ApplicationTrust = The application trust cannot be null.
+ArgumentNull_TypeRequiredByResourceScope = The type parameter cannot be null when scoping the resource's visibility to Private or Assembly.
+ArgumentNull_Waithandles = The waitHandles parameter cannot be null.
+
+; ArgumentOutOfRangeException
+ArgumentOutOfRange_AddressSpace = The number of bytes cannot exceed the virtual address space on a 32 bit machine.
+ArgumentOutOfRange_ArrayLB = Number was less than the array's lower bound in the first dimension.
+ArgumentOutOfRange_ArrayLBAndLength = Higher indices will exceed Int32.MaxValue because of large lower bound and/or length.
+ArgumentOutOfRange_ArrayLength = The length of the array must be between {0} and {1}, inclusive.
+ArgumentOutOfRange_ArrayLengthMultiple = The length of the array must be a multiple of {0}.
+ArgumentOutOfRange_ArrayListInsert = Insertion index was out of range. Must be non-negative and less than or equal to size.
+ArgumentOutOfRange_ArrayTooSmall = Destination array is not long enough to copy all the required data. Check array length and offset.
+ArgumentOutOfRange_BeepFrequency = Console.Beep's frequency must be between {0} and {1}.
+ArgumentOutOfRange_BiggerThanCollection = Larger than collection size.
+ArgumentOutOfRange_Bounds_Lower_Upper = Argument must be between {0} and {1}.
+ArgumentOutOfRange_Count = Count must be positive and count must refer to a location within the string/array/collection.
+ArgumentOutOfRange_CalendarRange = Specified time is not supported in this calendar. It should be between {0} (Gregorian date) and {1} (Gregorian date), inclusive.
+ArgumentOutOfRange_ConsoleBufferBoundaries = The value must be greater than or equal to zero and less than the console's buffer size in that dimension.
+ArgumentOutOfRange_ConsoleBufferLessThanWindowSize = The console buffer size must not be less than the current size and position of the console window, nor greater than or equal to Int16.MaxValue.
+ArgumentOutOfRange_ConsoleWindowBufferSize = The new console window size would force the console buffer size to be too large.
+ArgumentOutOfRange_ConsoleTitleTooLong = The console title is too long.
+ArgumentOutOfRange_ConsoleWindowPos = The window position must be set such that the current window size fits within the console's buffer, and the numbers must not be negative.
+ArgumentOutOfRange_ConsoleWindowSize_Size = The value must be less than the console's current maximum window size of {0} in that dimension. Note that this value depends on screen resolution and the console font.
+ArgumentOutOfRange_ConsoleKey = Console key values must be between 0 and 255.
+ArgumentOutOfRange_CursorSize = The cursor size is invalid. It must be a percentage between 1 and 100.
+ArgumentOutOfRange_BadYearMonthDay = Year, Month, and Day parameters describe an un-representable DateTime.
+ArgumentOutOfRange_BadHourMinuteSecond = Hour, Minute, and Second parameters describe an un-representable DateTime.
+ArgumentOutOfRange_DateArithmetic = The added or subtracted value results in an un-representable DateTime.
+ArgumentOutOfRange_DateTimeBadMonths = Months value must be between +/-120000.
+ArgumentOutOfRange_DateTimeBadYears = Years value must be between +/-10000.
+ArgumentOutOfRange_DateTimeBadTicks = Ticks must be between DateTime.MinValue.Ticks and DateTime.MaxValue.Ticks.
+ArgumentOutOfRange_Day = Day must be between 1 and {0} for month {1}.
+ArgumentOutOfRange_DecimalRound = Decimal can only round to between 0 and 28 digits of precision.
+ArgumentOutOfRange_DecimalScale = Decimal's scale value must be between 0 and 28, inclusive.
+ArgumentOutOfRange_Era = Time value was out of era range.
+ArgumentOutOfRange_Enum = Enum value was out of legal range.
+ArgumentOutOfRange_FileLengthTooBig = Specified file length was too large for the file system.
+ArgumentOutOfRange_FileTimeInvalid = Not a valid Win32 FileTime.
+ArgumentOutOfRange_GetByteCountOverflow = Too many characters. The resulting number of bytes is larger than what can be returned as an int.
+ArgumentOutOfRange_GetCharCountOverflow = Too many bytes. The resulting number of chars is larger than what can be returned as an int.
+ArgumentOutOfRange_HashtableLoadFactor = Load factor needs to be between 0.1 and 1.0.
+ArgumentOutOfRange_HugeArrayNotSupported = Arrays larger than 2GB are not supported.
+ArgumentOutOfRange_InvalidHighSurrogate = A valid high surrogate character is between 0xd800 and 0xdbff, inclusive.
+ArgumentOutOfRange_InvalidLowSurrogate = A valid low surrogate character is between 0xdc00 and 0xdfff, inclusive.
+ArgumentOutOfRange_InvalidEraValue = Era value was not valid.
+ArgumentOutOfRange_InvalidUserDefinedAceType = User-defined ACEs must not have a well-known ACE type.
+ArgumentOutOfRange_InvalidUTF32 = A valid UTF32 value is between 0x000000 and 0x10ffff, inclusive, and should not include surrogate codepoint values (0x00d800 ~ 0x00dfff).
+ArgumentOutOfRange_Index = Index was out of range. Must be non-negative and less than the size of the collection.
+ArgumentOutOfRange_IndexString = Index was out of range. Must be non-negative and less than the length of the string.
+ArgumentOutOfRange_StreamLength = Stream length must be non-negative and less than 2^31 - 1 - origin.
+ArgumentOutOfRange_LessEqualToIntegerMaxVal = Argument must be less than or equal to 2^31 - 1 milliseconds.
+ArgumentOutOfRange_Month = Month must be between one and twelve.
+ArgumentOutOfRange_MustBeNonNegInt32 = Value must be non-negative and less than or equal to Int32.MaxValue.
+ArgumentOutOfRange_NeedNonNegNum = Non-negative number required.
+ArgumentOutOfRange_NeedNonNegOrNegative1 = Number must be either non-negative and less than or equal to Int32.MaxValue or -1.
+ArgumentOutOfRange_NeedPosNum = Positive number required.
+ArgumentOutOfRange_NegativeCapacity = Capacity must be positive.
+ArgumentOutOfRange_NegativeCount = Count cannot be less than zero.
+ArgumentOutOfRange_NegativeLength = Length cannot be less than zero.
+ArgumentOutOfRange_NegFileSize = Length must be non-negative.
+ArgumentOutOfRange_ObjectID = objectID cannot be less than or equal to zero.
+ArgumentOutOfRange_SmallCapacity = capacity was less than the current size.
+ArgumentOutOfRange_QueueGrowFactor = Queue grow factor must be between {0} and {1}.
+ArgumentOutOfRange_RoundingDigits = Rounding digits must be between 0 and 15, inclusive.
+ArgumentOutOfRange_StartIndex = StartIndex cannot be less than zero.
+ArgumentOutOfRange_MustBePositive = '{0}' must be greater than zero.
+ArgumentOutOfRange_MustBeNonNegNum = '{0}' must be non-negative.
+ArgumentOutOfRange_LengthGreaterThanCapacity = The length cannot be greater than the capacity.
+ArgumentOutOfRange_ListInsert = Index must be within the bounds of the List.
+ArgumentOutOfRange_StartIndexLessThanLength = startIndex must be less than length of string.
+ArgumentOutOfRange_StartIndexLargerThanLength = startIndex cannot be larger than length of string.
+ArgumentOutOfRange_EndIndexStartIndex = endIndex cannot be greater than startIndex.
+ArgumentOutOfRange_IndexCount = Index and count must refer to a location within the string.
+ArgumentOutOfRange_IndexCountBuffer = Index and count must refer to a location within the buffer.
+ArgumentOutOfRange_IndexLength = Index and length must refer to a location within the string.
+ArgumentOutOfRange_InvalidThreshold = The specified threshold for creating dictionary is out of range.
+ArgumentOutOfRange_Capacity = Capacity exceeds maximum capacity.
+ArgumentOutOfRange_Length = The specified length exceeds maximum capacity of SecureString.
+ArgumentOutOfRange_LengthTooLarge = The specified length exceeds the maximum value of {0}.
+ArgumentOutOfRange_SmallMaxCapacity = MaxCapacity must be one or greater.
+ArgumentOutOfRange_GenericPositive = Value must be positive.
+ArgumentOutOfRange_Range = Valid values are between {0} and {1}, inclusive.
+ArgumentOutOfRange_AddValue = Value to add was out of range.
+ArgumentOutOfRange_OffsetLength = Offset and length must refer to a position in the string.
+ArgumentOutOfRange_OffsetOut = Either offset did not refer to a position in the string, or there is an insufficient length of destination character array.
+ArgumentOutOfRange_PartialWCHAR = Pointer startIndex and length do not refer to a valid string.
+ArgumentOutOfRange_ParamSequence = The specified parameter index is not in range.
+ArgumentOutOfRange_Version = Version's parameters must be greater than or equal to zero.
+ArgumentOutOfRange_TimeoutTooLarge = Time-out interval must be less than 2^32-2.
+ArgumentOutOfRange_UIntPtrMax-1 = The length of the buffer must be less than the maximum UIntPtr value for your platform.
+ArgumentOutOfRange_UnmanagedMemStreamLength = UnmanagedMemoryStream length must be non-negative and less than 2^63 - 1 - baseAddress.
+ArgumentOutOfRange_UnmanagedMemStreamWrapAround = The UnmanagedMemoryStream capacity would wrap around the high end of the address space.
+ArgumentOutOfRange_PeriodTooLarge = Period must be less than 2^32-2.
+ArgumentOutOfRange_Year = Year must be between 1 and 9999.
+ArgumentOutOfRange_BinaryReaderFillBuffer = The number of bytes requested does not fit into BinaryReader's internal buffer.
+ArgumentOutOfRange_PositionLessThanCapacityRequired = The position may not be greater or equal to the capacity of the accessor.
+
+; ArithmeticException
+Arithmetic_NaN = Function does not accept floating point Not-a-Number values.
+
+; ArrayTypeMismatchException
+ArrayTypeMismatch_CantAssignType = Source array type cannot be assigned to destination array type.
+ArrayTypeMismatch_ConstrainedCopy = Array.ConstrainedCopy will only work on array types that are provably compatible, without any form of boxing, unboxing, widening, or casting of each array element. Change the array types (i.e., copy a Derived[] to a Base[]), or use a mitigation strategy in the CER for Array.Copy's less powerful reliability contract, such as cloning the array or throwing away the potentially corrupt destination array.
+
+; BadImageFormatException
+BadImageFormat_ResType&SerBlobMismatch = The type serialized in the .resources file was not the same type that the .resources file said it contained. Expected '{0}' but read '{1}'.
+BadImageFormat_ResourcesIndexTooLong = Corrupt .resources file. String for name index '{0}' extends past the end of the file.
+BadImageFormat_ResourcesNameTooLong = Corrupt .resources file. Resource name extends past the end of the file.
+BadImageFormat_ResourcesNameInvalidOffset = Corrupt .resources file. Invalid offset '{0}' into name section.
+BadImageFormat_ResourcesHeaderCorrupted = Corrupt .resources file. Unable to read resources from this file because of invalid header information. Try regenerating the .resources file.
+BadImageFormat_ResourceNameCorrupted = Corrupt .resources file. A resource name extends past the end of the stream.
+BadImageFormat_ResourceNameCorrupted_NameIndex = Corrupt .resources file. The resource name for name index {0} extends past the end of the stream.
+BadImageFormat_ResourceDataLengthInvalid = Corrupt .resources file. The specified data length '{0}' is not a valid position in the stream.
+BadImageFormat_TypeMismatch = Corrupt .resources file. The specified type doesn't match the available data in the stream.
+BadImageFormat_InvalidType = Corrupt .resources file. The specified type doesn't exist.
+BadImageFormat_ResourcesIndexInvalid = Corrupt .resources file. The resource index '{0}' is outside the valid range.
+BadImageFormat_StreamPositionInvalid = Corrupt .resources file. The specified position '{0}' is not a valid position in the stream.
+BadImageFormat_ResourcesDataInvalidOffset = Corrupt .resources file. Invalid offset '{0}' into data section.
+BadImageFormat_NegativeStringLength = Corrupt .resources file. String length must be non-negative.
+BadImageFormat_ParameterSignatureMismatch = The parameters and the signature of the method don't match.
+
+; Cryptography
+; These strings still appear in bcl.small but should go away eventually
+Cryptography_CSSM_Error = Error 0x{0} from the operating system security framework: '{1}'.
+Cryptography_CSSM_Error_Unknown = Error 0x{0} from the operating system security framework.
+Cryptography_InvalidDSASignatureSize = Length of the DSA signature was not 40 bytes.
+Cryptography_InvalidHandle = {0} is an invalid handle.
+Cryptography_InvalidOID = Object identifier (OID) is unknown.
+Cryptography_OAEPDecoding = Error occurred while decoding OAEP padding.
+Cryptography_PasswordDerivedBytes_InvalidIV = The Initialization vector should have the same length as the algorithm block size in bytes.
+Cryptography_SSE_InvalidDataSize = Length of the data to encrypt is invalid.
+Cryptography_X509_ExportFailed = The certificate export operation failed.
+Cryptography_X509_InvalidContentType = Invalid content type.
+Cryptography_CryptoStream_FlushFinalBlockTwice = FlushFinalBlock() method was called twice on a CryptoStream. It can only be called once.
+Cryptography_HashKeySet = Hash key cannot be changed after the first write to the stream.
+Cryptography_HashNotYetFinalized = Hash must be finalized before the hash value is retrieved.
+Cryptography_InsufficientBuffer = Input buffer contains insufficient data.
+Cryptography_InvalidBlockSize = Specified block size is not valid for this algorithm.
+Cryptography_InvalidCipherMode = Specified cipher mode is not valid for this algorithm.
+Cryptography_InvalidIVSize = Specified initialization vector (IV) does not match the block size for this algorithm.
+Cryptography_InvalidKeySize = Specified key is not a valid size for this algorithm.
+Cryptography_PasswordDerivedBytes_FewBytesSalt = Salt is not at least eight bytes.
+Cryptography_PKCS7_InvalidPadding = Padding is invalid and cannot be removed.
+Cryptography_UnknownHashAlgorithm='{0}' is not a known hash algorithm.
+
+#if FEATURE_CRYPTO
+Cryptography_Config_EncodedOIDError = Encoded OID length is too large (greater than 0x7f bytes).
+Cryptography_CSP_AlgKeySizeNotAvailable = Algorithm implementation does not support a key size of {0}.
+Cryptography_CSP_AlgorithmNotAvailable = Cryptographic service provider (CSP) could not be found for this algorithm.
+Cryptography_CSP_CFBSizeNotSupported = Feedback size for the cipher feedback mode (CFB) must be 8 bits.
+Cryptography_CSP_NotFound = The requested key container was not found.
+Cryptography_CSP_NoPrivateKey = Object contains only the public half of a key pair. A private key must also be provided.
+Cryptography_CSP_OFBNotSupported = Output feedback mode (OFB) is not supported by this implementation.
+Cryptography_CSP_WrongKeySpec = The specified cryptographic service provider (CSP) does not support this key algorithm.
+Cryptography_HashNameSet = Hash name cannot be changed after the first write to the stream.
+Cryptography_HashAlgorithmNameNullOrEmpty = The hash algorithm name cannot be null or empty.
+Cryptography_InvalidHashSize = {0} algorithm hash size is {1} bytes.
+Cryptography_InvalidKey_Weak = Specified key is a known weak key for '{0}' and cannot be used.
+Cryptography_InvalidKey_SemiWeak = Specified key is a known semi-weak key for '{0}' and cannot be used.
+Cryptography_InvalidKeyParameter = Parameter '{0}' is not a valid key parameter.
+Cryptography_InvalidFeedbackSize = Specified feedback size is invalid.
+Cryptography_InvalidOperation = This operation is not supported for this class.
+Cryptography_InvalidPaddingMode = Specified padding mode is not valid for this algorithm.
+Cryptography_InvalidFromXmlString = Input string does not contain a valid encoding of the '{0}' '{1}' parameter.
+Cryptography_MissingKey = No asymmetric key object has been associated with this formatter object.
+Cryptography_MissingOID = Required object identifier (OID) cannot be found.
+Cryptography_NotInteractive = The current session is not interactive.
+Cryptography_NonCompliantFIPSAlgorithm = This implementation is not part of the Windows Platform FIPS validated cryptographic algorithms.
+Cryptography_Padding_Win2KEnhOnly = Direct Encryption and decryption using RSA are not available on this platform.
+Cryptography_Padding_EncDataTooBig = The data to be encrypted exceeds the maximum for this modulus of {0} bytes.
+Cryptography_Padding_DecDataTooBig = The data to be decrypted exceeds the maximum for this modulus of {0} bytes.
+Cryptography_PasswordDerivedBytes_ValuesFixed = Value of '{0}' cannot be changed after the bytes have been retrieved.
+Cryptography_PasswordDerivedBytes_TooManyBytes = Requested number of bytes exceeds the maximum.
+Cryptography_PasswordDerivedBytes_InvalidAlgorithm = Algorithm is unavailable or is not supported for this operation.
+Cryptography_PKCS1Decoding = Error occurred while decoding PKCS1 padding.
+Cryptography_RC2_EKSKS = EffectiveKeySize value must be at least as large as the KeySize value.
+Cryptography_RC2_EKSKS2 = EffectiveKeySize must be the same as KeySize in this implementation.
+Cryptography_RC2_EKS40 = EffectiveKeySize value must be at least 40 bits.
+Cryptography_SSD_InvalidDataSize = Length of the data to decrypt is invalid.
+Cryptography_AddNullOrEmptyName = CryptoConfig cannot add a mapping for a null or empty name.
+Cryptography_AlgorithmTypesMustBeVisible = Algorithms added to CryptoConfig must be accessable from outside their assembly.
+#endif // FEATURE_CRYPTO
+
+; EventSource
+EventSource_ToString = EventSource({0}, {1})
+EventSource_EventSourceGuidInUse = An instance of EventSource with Guid {0} already exists.
+EventSource_KeywordNeedPowerOfTwo = Value {0} for keyword {1} needs to be a power of 2.
+EventSource_UndefinedKeyword = Use of undefined keyword value {0} for event {1}.
+EventSource_UnsupportedEventTypeInManifest = Unsupported type {0} in event source.
+EventSource_ListenerNotFound = Listener not found.
+EventSource_ListenerCreatedInsideCallback = Creating an EventListener inside a EventListener callback.
+EventSource_AttributeOnNonVoid = Event attribute placed on method {0} which does not return 'void'.
+EventSource_NeedPositiveId = Event IDs must be positive integers.
+EventSource_ReservedOpcode = Opcode values less than 11 are reserved for system use.
+EventSource_ReservedKeywords = Keywords values larger than 0x0000100000000000 are reserved for system use
+EventSource_PayloadTooBig=The payload for a single event is too large.
+EventSource_NoFreeBuffers=No Free Buffers available from the operating system (e.g. event rate too fast).
+EventSource_NullInput=Null passed as a event argument.
+EventSource_TooManyArgs=Too many arguments.
+EventSource_SessionIdError=Bit position in AllKeywords ({0}) must equal the command argument named "EtwSessionKeyword" ({1}).
+EventSource_EnumKindMismatch = The type of {0} is not expected in {1}.
+EventSource_MismatchIdToWriteEvent = Event {0} is givien event ID {1} but {2} was passed to WriteEvent.
+EventSource_EventIdReused = Event {0} has ID {1} which is already in use.
+EventSource_EventNameReused = Event name {0} used more than once. If you wish to overload a method, the overloaded method should have a NonEvent attribute.
+EventSource_UndefinedChannel = Use of undefined channel value {0} for event {1}.
+EventSource_UndefinedOpcode = Use of undefined opcode value {0} for event {1}.
+ArgumentOutOfRange_MaxArgExceeded = The total number of parameters must not exceed {0}.
+ArgumentOutOfRange_MaxStringsExceeded = The number of String parameters must not exceed {0}.
+ArgumentOutOfRange_NeedValidId = The ID parameter must be in the range {0} through {1}.
+EventSource_NeedGuid = The Guid of an EventSource must be non zero.
+EventSource_NeedName = The name of an EventSource must not be null.
+EventSource_EtwAlreadyRegistered = The provider has already been registered with the operating system.
+EventSource_ListenerWriteFailure = An error occurred when writing to a listener.
+EventSource_TypeMustDeriveFromEventSource = Event source types must derive from EventSource.
+EventSource_TypeMustBeSealedOrAbstract = Event source types must be sealed or abstract.
+EventSource_TaskOpcodePairReused = Event {0} (with ID {1}) has the same task/opcode pair as event {2} (with ID {3}).
+EventSource_EventMustHaveTaskIfNonDefaultOpcode = Event {0} (with ID {1}) has a non-default opcode but not a task.
+EventSource_EventNameDoesNotEqualTaskPlusOpcode = Event {0} (with ID {1}) has a name that is not the concatenation of its task name and opcode.
+EventSource_PeriodIllegalInProviderName = Period character ('.') is illegal in an ETW provider name ({0}).
+EventSource_IllegalOpcodeValue = Opcode {0} has a value of {1} which is outside the legal range (11-238).
+EventSource_OpcodeCollision = Opcodes {0} and {1} are defined with the same value ({2}).
+EventSource_IllegalTaskValue = Task {0} has a value of {1} which is outside the legal range (1-65535).
+EventSource_TaskCollision = Tasks {0} and {1} are defined with the same value ({2}).
+EventSource_IllegalKeywordsValue = Keyword {0} has a value of {1} which is outside the legal range (0-0x0000080000000000).
+EventSource_KeywordCollision = Keywords {0} and {1} are defined with the same value ({2}).
+EventSource_EventChannelOutOfRange = Channel {0} has a value of {1} which is outside the legal range (16-254).
+EventSource_ChannelTypeDoesNotMatchEventChannelValue = Channel {0} does not match event channel value {1}.
+EventSource_MaxChannelExceeded = Attempt to define more than the maximum limit of 8 channels for a provider.
+EventSource_DuplicateStringKey = Multiple definitions for string "{0}".
+EventSource_EventWithAdminChannelMustHaveMessage = Event {0} specifies an Admin channel {1}. It must specify a Message property.
+EventSource_UnsupportedMessageProperty = Event {0} specifies an illegal or unsupported formatting message ("{1}").
+EventSource_AbstractMustNotDeclareKTOC = Abstract event source must not declare {0} nested type.
+EventSource_AbstractMustNotDeclareEventMethods = Abstract event source must not declare event methods ({0} with ID {1}).
+EventSource_EventMustNotBeExplicitImplementation = Event method {0} (with ID {1}) is an explicit interface method implementation. Re-write method as implicit implementation.
+EventSource_EventParametersMismatch = Event {0} was called with {1} argument(s), but it is defined with {2} parameter(s).
+EventSource_InvalidCommand = Invalid command value.
+EventSource_InvalidEventFormat = Can't specify both etw event format flags.
+EventSource_AddScalarOutOfRange = Getting out of bounds during scalar addition.
+EventSource_PinArrayOutOfRange = Pins are out of range.
+EventSource_DataDescriptorsOutOfRange = Data descriptors are out of range.
+EventSource_NotSupportedArrayOfNil = Arrays of Nil are not supported.
+EventSource_NotSupportedArrayOfBinary = Arrays of Binary are not supported.
+EventSource_NotSupportedArrayOfNullTerminatedString = Arrays of null-terminated string are not supported.
+EventSource_TooManyFields = Too many fields in structure.
+EventSource_RecursiveTypeDefinition = Recursive type definition is not supported.
+EventSource_NotSupportedEnumType = Enum type {0} underlying type {1} is not supported for serialization.
+EventSource_NonCompliantTypeError = The API supports only anonymous types or types decorated with the EventDataAttribute. Non-compliant type: {0} dataType.
+EventSource_NotSupportedNestedArraysEnums = Nested arrays/enumerables are not supported.
+EventSource_IncorrentlyAuthoredTypeInfo = Incorrectly-authored TypeInfo - a type should be serialized as one field or as one group
+EventSource_NotSupportedCustomSerializedData = Enumerables of custom-serialized data are not supported
+EventSource_StopsFollowStarts = An event with stop suffix must follow a corresponding event with a start suffix.
+EventSource_NoRelatedActivityId = EventSource expects the first parameter of the Event method to be of type Guid and to be named "relatedActivityId" when calling WriteEventWithRelatedActivityId.
+EventSource_VarArgsParameterMismatch = The parameters to the Event method do not match the parameters to the WriteEvent method. This may cause the event to be displayed incorrectly.
+
+; ExecutionEngineException
+ExecutionEngine_InvalidAttribute = Attribute cannot have multiple definitions.
+ExecutionEngine_MissingSecurityDescriptor = Unable to retrieve security descriptor for this frame.
+
+;;ExecutionContext
+ExecutionContext_UndoFailed = Undo operation on a component context threw an exception
+ExecutionContext_ExceptionInAsyncLocalNotification = An exception was not handled in an AsyncLocal<T> notification callback.
+
+
+; FieldAccessException
+FieldAccess_InitOnly = InitOnly (aka ReadOnly) fields can only be initialized in the type/instance constructor.
+
+; FormatException
+Format_AttributeUsage = Duplicate AttributeUsageAttribute found on attribute type {0}.
+Format_Bad7BitInt32 = Too many bytes in what should have been a 7 bit encoded Int32.
+Format_BadBase = Invalid digits for the specified base.
+Format_BadBase64Char = The input is not a valid Base-64 string as it contains a non-base 64 character, more than two padding characters, or an illegal character among the padding characters.
+Format_BadBase64CharArrayLength = Invalid length for a Base-64 char array or string.
+Format_BadBoolean = String was not recognized as a valid Boolean.
+Format_BadDateTime = String was not recognized as a valid DateTime.
+Format_BadDateTimeCalendar = The DateTime represented by the string is not supported in calendar {0}.
+Format_BadDayOfWeek = String was not recognized as a valid DateTime because the day of week was incorrect.
+Format_DateOutOfRange = The DateTime represented by the string is out of range.
+Format_BadDatePattern = Could not determine the order of year, month, and date from '{0}'.
+Format_BadFormatSpecifier = Format specifier was invalid.
+Format_BadTimeSpan = String was not recognized as a valid TimeSpan.
+Format_BadQuote = Cannot find a matching quote character for the character '{0}'.
+Format_EmptyInputString = Input string was either empty or contained only whitespace.
+Format_ExtraJunkAtEnd = Additional non-parsable characters are at the end of the string.
+Format_GuidBrace = Expected {0xdddddddd, etc}.
+Format_GuidComma = Could not find a comma, or the length between the previous token and the comma was zero (i.e., '0x,'etc.).
+Format_GuidBraceAfterLastNumber = Could not find a brace, or the length between the previous token and the brace was zero (i.e., '0x,'etc.).
+Format_GuidDashes = Dashes are in the wrong position for GUID parsing.
+Format_GuidEndBrace = Could not find the ending brace.
+Format_GuidHexPrefix = Expected hex 0x in '{0}'.
+Format_GuidInvLen = Guid should contain 32 digits with 4 dashes (xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx).
+Format_GuidInvalidChar = Guid string should only contain hexadecimal characters.
+Format_GuidUnrecognized = Unrecognized Guid format.
+Format_InvalidEnumFormatSpecification = Format String can be only "G", "g", "X", "x", "F", "f", "D" or "d".
+Format_InvalidGuidFormatSpecification = Format String can be only "D", "d", "N", "n", "P", "p", "B", "b", "X" or "x".
+Format_InvalidString = Input string was not in a correct format.
+Format_IndexOutOfRange = Index (zero based) must be greater than or equal to zero and less than the size of the argument list.
+Format_UnknowDateTimeWord = The string was not recognized as a valid DateTime. There is an unknown word starting at index {0}.
+Format_NeedSingleChar = String must be exactly one character long.
+Format_NoParsibleDigits = Could not find any recognizable digits.
+Format_RepeatDateTimePattern = DateTime pattern '{0}' appears more than once with different values.
+Format_StringZeroLength = String cannot have zero length.
+Format_TwoTimeZoneSpecifiers = The String being parsed cannot contain two TimeZone specifiers.
+Format_UTCOutOfRange= The UTC representation of the date falls outside the year range 1-9999.
+Format_OffsetOutOfRange=The time zone offset must be within plus or minus 14 hours.
+Format_MissingIncompleteDate=There must be at least a partial date with a year present in the input.
+
+; IndexOutOfRangeException
+IndexOutOfRange_ArrayRankIndex = Array does not have that many dimensions.
+IndexOutOfRange_IORaceCondition = Probable I/O race condition detected while copying memory. The I/O package is not thread safe by default. In multithreaded applications, a stream must be accessed in a thread-safe way, such as a thread-safe wrapper returned by TextReader's or TextWriter's Synchronized methods. This also applies to classes like StreamWriter and StreamReader.
+IndexOutOfRange_UMSPosition = Unmanaged memory stream position was beyond the capacity of the stream.
+
+; InsufficientMemoryException
+InsufficientMemory_MemFailPoint = Insufficient available memory to meet the expected demands of an operation at this time. Please try again later.
+InsufficientMemory_MemFailPoint_TooBig = Insufficient memory to meet the expected demands of an operation, and this system is likely to never satisfy this request. If this is a 32 bit system, consider booting in 3 GB mode.
+InsufficientMemory_MemFailPoint_VAFrag = Insufficient available memory to meet the expected demands of an operation at this time, possibly due to virtual address space fragmentation. Please try again later.
+
+
+; InvalidCastException
+InvalidCast_DBNull = Object cannot be cast to DBNull.
+InvalidCast_DownCastArrayElement = At least one element in the source array could not be cast down to the destination array type.
+InvalidCast_Empty = Object cannot be cast to Empty.
+InvalidCast_FromDBNull = Object cannot be cast from DBNull to other types.
+InvalidCast_FromTo = Invalid cast from '{0}' to '{1}'.
+InvalidCast_IConvertible = Object must implement IConvertible.
+InvalidCast_OATypeMismatch = OleAut reported a type mismatch.
+InvalidCast_StoreArrayElement = Object cannot be stored in an array of this type.
+InvalidCast_CannotCoerceByRefVariant = Object cannot be coerced to the original type of the ByRef VARIANT it was obtained from.
+InvalidCast_CannotCastNullToValueType = Null object cannot be converted to a value type.
+#if FEATURE_COMINTEROP
+InvalidCast_WinRTIPropertyValueElement = Object in an IPropertyValue is of type '{0}', which cannot be converted to a '{1}'.
+InvalidCast_WinRTIPropertyValueCoersion = Object in an IPropertyValue is of type '{0}' with value '{1}', which cannot be converted to a '{2}'.
+InvalidCast_WinRTIPropertyValueArrayCoersion = Object in an IPropertyValue is of type '{0}' which cannot be convereted to a '{1}' due to array element '{2}': {3}.
+#endif // FEATURE_COMINTEROP
+
+; InvalidOperationException
+InvalidOperation_ActivationArgsAppTrustMismatch = The activation arguments and application trust for the AppDomain must correspond to the same application identity.
+InvalidOperation_AddContextFrozen = Attempted to add properties to a frozen context.
+InvalidOperation_AppDomainSandboxAPINeedsExplicitAppBase = This API requires the ApplicationBase to be specified explicitly in the AppDomainSetup parameter.
+InvalidOperation_CantCancelCtrlBreak = Applications may not prevent control-break from terminating their process.
+InvalidOperation_CalledTwice = The method cannot be called twice on the same instance.
+InvalidOperation_CollectionCorrupted = A prior operation on this collection was interrupted by an exception. Collection's state is no longer trusted.
+InvalidOperation_CriticalTransparentAreMutuallyExclusive = SecurityTransparent and SecurityCritical attributes cannot be applied to the assembly scope at the same time.
+InvalidOperation_SubclassedObject = Cannot set sub-classed {0} object to {1} object.
+InvalidOperation_ExceptionStateCrossAppDomain = Thread.ExceptionState cannot access an ExceptionState from a different AppDomain.
+InvalidOperation_DebuggerLaunchFailed = Debugger unable to launch.
+InvalidOperation_ApartmentStateSwitchFailed = Failed to set the specified COM apartment state.
+InvalidOperation_EmptyQueue = Queue empty.
+InvalidOperation_EmptyStack = Stack empty.
+InvalidOperation_CannotRemoveFromStackOrQueue = Removal is an invalid operation for Stack or Queue.
+InvalidOperation_EnumEnded = Enumeration already finished.
+InvalidOperation_EnumFailedVersion = Collection was modified; enumeration operation may not execute.
+InvalidOperation_EnumNotStarted = Enumeration has not started. Call MoveNext.
+InvalidOperation_EnumOpCantHappen = Enumeration has either not started or has already finished.
+InvalidOperation_ModifyRONumFmtInfo = Unable to modify a read-only NumberFormatInfo object.
+#if FEATURE_CAS_POLICY
+InvalidOperation_ModifyROPermSet = ReadOnlyPermissionSet objects may not be modified.
+#endif // FEATURE_CAS_POLICY
+InvalidOperation_MustBeSameThread = This operation must take place on the same thread on which the object was created.
+InvalidOperation_MustRevertPrivilege = Must revert the privilege prior to attempting this operation.
+InvalidOperation_ReadOnly = Instance is read-only.
+InvalidOperation_RegRemoveSubKey = Registry key has subkeys and recursive removes are not supported by this method.
+InvalidOperation_IComparerFailed = Failed to compare two elements in the array.
+InvalidOperation_InternalState = Invalid internal state.
+InvalidOperation_DuplicatePropertyName = Another property by this name already exists.
+InvalidOperation_NotCurrentDomain = You can only define a dynamic assembly on the current AppDomain.
+InvalidOperation_ContextAlreadyFrozen = Context is already frozen.
+InvalidOperation_WriteOnce = This property has already been set and cannot be modified.
+InvalidOperation_MethodBaked = Type definition of the method is complete.
+InvalidOperation_MethodHasBody = Method already has a body.
+InvalidOperation_ModificationOfNonCanonicalAcl = This access control list is not in canonical form and therefore cannot be modified.
+InvalidOperation_Method = This method is not supported by the current object.
+InvalidOperation_NotADebugModule = Not a debug ModuleBuilder.
+InvalidOperation_NoMultiModuleAssembly = You cannot have more than one dynamic module in each dynamic assembly in this version of the runtime.
+InvalidOperation_OpenLocalVariableScope = Local variable scope was not properly closed.
+InvalidOperation_SetVolumeLabelFailed = Volume labels can only be set for writable local volumes.
+InvalidOperation_SetData = An additional permission should not be supplied for setting loader information.
+InvalidOperation_SetData_OnlyOnce = SetData can only be used to set the value of a given name once.
+InvalidOperation_SetData_OnlyLocationURI = SetData cannot be used to set the value for '{0}'.
+InvalidOperation_TypeHasBeenCreated = Unable to change after type has been created.
+InvalidOperation_TypeNotCreated = Type has not been created.
+InvalidOperation_NoUnderlyingTypeOnEnum = Underlying type information on enumeration is not specified.
+InvalidOperation_ResMgrBadResSet_Type = '{0}': ResourceSet derived classes must provide a constructor that takes a String file name and a constructor that takes a Stream.
+InvalidOperation_AssemblyHasBeenSaved = Assembly '{0}' has been saved.
+InvalidOperation_ModuleHasBeenSaved = Module '{0}' has been saved.
+InvalidOperation_CannotAlterAssembly = Unable to alter assembly information.
+InvalidOperation_BadTransientModuleReference = Unable to make a reference to a transient module from a non-transient module.
+InvalidOperation_BadILGeneratorUsage = ILGenerator usage is invalid.
+InvalidOperation_BadInstructionOrIndexOutOfBound = MSIL instruction is invalid or index is out of bounds.
+InvalidOperation_ShouldNotHaveMethodBody = Method body should not exist.
+InvalidOperation_EntryMethodNotDefinedInAssembly = Entry method is not defined in the same assembly.
+InvalidOperation_CantSaveTransientAssembly = Cannot save a transient assembly.
+InvalidOperation_BadResourceContainer = Unable to add resource to transient module or transient assembly.
+InvalidOperation_CantInstantiateAbstractClass = Instances of abstract classes cannot be created.
+InvalidOperation_CantInstantiateFunctionPointer = Instances of function pointers cannot be created.
+InvalidOperation_BadTypeAttributesNotAbstract = Type must be declared abstract if any of its methods are abstract.
+InvalidOperation_BadInterfaceNotAbstract = Interface must be declared abstract.
+InvalidOperation_ConstructorNotAllowedOnInterface = Interface cannot have constructors.
+InvalidOperation_BadMethodBody = Method '{0}' cannot have a method body.
+InvalidOperation_MetaDataError = Metadata operation failed.
+InvalidOperation_BadEmptyMethodBody = Method '{0}' does not have a method body.
+InvalidOperation_EndInvokeCalledMultiple = EndInvoke can only be called once for each asynchronous operation.
+InvalidOperation_EndReadCalledMultiple = EndRead can only be called once for each asynchronous operation.
+InvalidOperation_EndWriteCalledMultiple = EndWrite can only be called once for each asynchronous operation.
+InvalidOperation_AsmLoadedForReflectionOnly = Assembly has been loaded as ReflectionOnly. This API requires an assembly capable of execution.
+InvalidOperation_NoAsmName = Assembly does not have an assembly name. In order to be registered for use by COM, an assembly must have a valid assembly name.
+InvalidOperation_NoAsmCodeBase = Assembly does not have a code base.
+InvalidOperation_HandleIsNotInitialized = Handle is not initialized.
+InvalidOperation_HandleIsNotPinned = Handle is not pinned.
+InvalidOperation_SlotHasBeenFreed = LocalDataStoreSlot storage has been freed.
+InvalidOperation_GlobalsHaveBeenCreated = Type definition of the global function has been completed.
+InvalidOperation_NotAVarArgCallingConvention = Calling convention must be VarArgs.
+InvalidOperation_CannotImportGlobalFromDifferentModule = Unable to import a global method or field from a different module.
+InvalidOperation_NonStaticComRegFunction = COM register function must be static.
+InvalidOperation_NonStaticComUnRegFunction = COM unregister function must be static.
+InvalidOperation_InvalidComRegFunctionSig = COM register function must have a System.Type parameter and a void return type.
+InvalidOperation_InvalidComUnRegFunctionSig = COM unregister function must have a System.Type parameter and a void return type.
+InvalidOperation_MultipleComRegFunctions = Type '{0}' has more than one COM registration function.
+InvalidOperation_MultipleComUnRegFunctions = Type '{0}' has more than one COM unregistration function.
+InvalidOperation_MustCallInitialize = You must call Initialize on this object instance before using it.
+InvalidOperation_MustLockForReadOrWrite = Object must be locked for read or write.
+InvalidOperation_MustLockForWrite = Object must be locked for read.
+InvalidOperation_NoValue = Nullable object must have a value.
+InvalidOperation_ResourceNotStream_Name = Resource '{0}' was not a Stream - call GetObject instead.
+InvalidOperation_ResourceNotString_Name = Resource '{0}' was not a String - call GetObject instead.
+InvalidOperation_ResourceNotString_Type = Resource was of type '{0}' instead of String - call GetObject instead.
+InvalidOperation_ResourceWriterSaved = The resource writer has already been closed and cannot be edited.
+InvalidOperation_UnderlyingArrayListChanged = This range in the underlying list is invalid. A possible cause is that elements were removed.
+InvalidOperation_AnonymousCannotImpersonate = An anonymous identity cannot perform an impersonation.
+InvalidOperation_DefaultConstructorILGen = Unable to access ILGenerator on a constructor created with DefineDefaultConstructor.
+InvalidOperation_DefaultConstructorDefineBody = The method body of the default constructor cannot be changed.
+InvalidOperation_ComputerName = Computer name could not be obtained.
+InvalidOperation_MismatchedAsyncResult = The IAsyncResult object provided does not match this delegate.
+InvalidOperation_PIAMustBeStrongNamed = Primary interop assemblies must be strongly named.
+InvalidOperation_HashInsertFailed = Hashtable insert failed. Load factor too high. The most common cause is multiple threads writing to the Hashtable simultaneously.
+InvalidOperation_UnknownEnumType = Unknown enum type.
+InvalidOperation_GetVersion = OSVersion's call to GetVersionEx failed.
+InvalidOperation_DateTimeParsing = Internal Error in DateTime and Calendar operations.
+InvalidOperation_UserDomainName = UserDomainName native call failed.
+InvalidOperation_WaitOnTransparentProxy = Cannot wait on a transparent proxy.
+InvalidOperation_NoPublicAddMethod = Cannot add the event handler since no public add method exists for the event.
+InvalidOperation_NoPublicRemoveMethod = Cannot remove the event handler since no public remove method exists for the event.
+InvalidOperation_NotSupportedOnWinRTEvent = Adding or removing event handlers dynamically is not supported on WinRT events.
+InvalidOperation_ConsoleKeyAvailableOnFile = Cannot see if a key has been pressed when either application does not have a console or when console input has been redirected from a file. Try Console.In.Peek.
+InvalidOperation_ConsoleReadKeyOnFile = Cannot read keys when either application does not have a console or when console input has been redirected from a file. Try Console.Read.
+InvalidOperation_ThreadWrongThreadStart = The thread was created with a ThreadStart delegate that does not accept a parameter.
+InvalidOperation_ThreadAPIsNotSupported = Use CompressedStack.(Capture/Run) or ExecutionContext.(Capture/Run) APIs instead.
+InvalidOperation_NotNewCaptureContext = Cannot apply a context that has been marshaled across AppDomains, that was not acquired through a Capture operation or that has already been the argument to a Set call.
+InvalidOperation_NullContext = Cannot call Set on a null context
+InvalidOperation_CannotCopyUsedContext = Only newly captured contexts can be copied
+InvalidOperation_CannotUseSwitcherOtherThread = Undo operation must be performed on the thread where the corresponding context was Set.
+InvalidOperation_SwitcherCtxMismatch = The Undo operation encountered a context that is different from what was applied in the corresponding Set operation. The possible cause is that a context was Set on the thread and not reverted(undone).
+InvalidOperation_CannotOverrideSetWithoutRevert = Must override both HostExecutionContextManager.SetHostExecutionContext and HostExecutionContextManager.Revert.
+InvalidOperation_CannotUseAFCOtherThread = AsyncFlowControl object must be used on the thread where it was created.
+InvalidOperation_CannotRestoreUnsupressedFlow = Cannot restore context flow when it is not suppressed.
+InvalidOperation_CannotSupressFlowMultipleTimes = Context flow is already suppressed.
+InvalidOperation_CannotUseAFCMultiple = AsyncFlowControl object can be used only once to call Undo().
+InvalidOperation_AsyncFlowCtrlCtxMismatch = AsyncFlowControl objects can be used to restore flow only on the Context that had its flow suppressed.
+InvalidOperation_TimeoutsNotSupported = Timeouts are not supported on this stream.
+InvalidOperation_Overlapped_Pack = Cannot pack a packed Overlapped again.
+InvalidOperation_OnlyValidForDS = Adding ACEs with Object Flags and Object GUIDs is only valid for directory-object ACLs.
+InvalidOperation_WrongAsyncResultOrEndReadCalledMultiple = Either the IAsyncResult object did not come from the corresponding async method on this type, or EndRead was called multiple times with the same IAsyncResult.
+InvalidOperation_WrongAsyncResultOrEndWriteCalledMultiple = Either the IAsyncResult object did not come from the corresponding async method on this type, or EndWrite was called multiple times with the same IAsyncResult.
+InvalidOperation_WrongAsyncResultOrEndCalledMultiple = Either the IAsyncResult object did not come from the corresponding async method on this type, or the End method was called multiple times with the same IAsyncResult.
+InvalidOperation_NoSecurityDescriptor = The object does not contain a security descriptor.
+InvalidOperation_NotAllowedInReflectionOnly = The requested operation is invalid in the ReflectionOnly context.
+InvalidOperation_NotAllowedInDynamicMethod = The requested operation is invalid for DynamicMethod.
+InvalidOperation_PropertyInfoNotAvailable = This API does not support PropertyInfo tokens.
+InvalidOperation_EventInfoNotAvailable = This API does not support EventInfo tokens.
+InvalidOperation_UnexpectedWin32Error = Unexpected error when calling an operating system function. The returned error code is 0x{0:x}.
+InvalidOperation_AssertTransparentCode = Cannot perform CAS Asserts in Security Transparent methods
+InvalidOperation_NullModuleHandle = The requested operation is invalid when called on a null ModuleHandle.
+InvalidOperation_NotWithConcurrentGC = This API is not available when the concurrent GC is enabled.
+InvalidOperation_WithoutARM = This API is not available when AppDomain Resource Monitoring is not turned on.
+InvalidOperation_NotGenericType = This operation is only valid on generic types.
+InvalidOperation_TypeCannotBeBoxed = The given type cannot be boxed.
+InvalidOperation_HostModifiedSecurityState = The security state of an AppDomain was modified by an AppDomainManager configured with the NoSecurityChanges flag.
+InvalidOperation_StrongNameKeyPairRequired = A strong name key pair is required to emit a strong-named dynamic assembly.
+#if FEATURE_COMINTEROP
+InvalidOperation_EventTokenTableRequiresDelegate = Type '{0}' is not a delegate type. EventTokenTable may only be used with delegate types.
+#endif // FEATURE_COMINTEROP
+InvalidOperation_NullArray = The underlying array is null.
+;system.security.claims
+InvalidOperation_ClaimCannotBeRemoved = The Claim '{0}' was not able to be removed. It is either not part of this Identity or it is a claim that is owned by the Principal that contains this Identity. For example, the Principal will own the claim when creating a GenericPrincipal with roles. The roles will be exposed through the Identity that is passed in the constructor, but not actually owned by the Identity. Similar logic exists for a RolePrincipal.
+InvalidOperationException_ActorGraphCircular = Actor cannot be set so that circular directed graph will exist chaining the subjects together.
+InvalidOperation_AsyncIOInProgress = The stream is currently in use by a previous operation on the stream.
+InvalidOperation_APIInvalidForCurrentContext = The API '{0}' cannot be used on the current platform. See http://go.microsoft.com/fwlink/?LinkId=248273 for more information.
+
+; InvalidProgramException
+InvalidProgram_Default = Common Language Runtime detected an invalid program.
+
+; Isolated Storage
+#if FEATURE_ISOSTORE
+IsolatedStorage_AssemblyMissingIdentity = Unable to determine assembly of the caller.
+IsolatedStorage_ApplicationMissingIdentity = Unable to determine application identity of the caller.
+IsolatedStorage_DomainMissingIdentity = Unable to determine domain of the caller.
+IsolatedStorage_AssemblyGrantSet = Unable to determine granted permission for assembly.
+IsolatedStorage_DomainGrantSet = Unable to determine granted permission for domain.
+IsolatedStorage_ApplicationGrantSet = Unable to determine granted permission for application.
+IsolatedStorage_Init = Initialization failed.
+IsolatedStorage_ApplicationNoEvidence = Unable to determine identity of application.
+IsolatedStorage_AssemblyNoEvidence = Unable to determine identity of assembly.
+IsolatedStorage_DomainNoEvidence = Unable to determine the identity of domain.
+IsolatedStorage_DeleteDirectories = Unable to delete; directory or files in the directory could be in use.
+IsolatedStorage_DeleteFile = Unable to delete file.
+IsolatedStorage_CreateDirectory = Unable to create directory.
+IsolatedStorage_DeleteDirectory = Unable to delete, directory not empty or does not exist.
+IsolatedStorage_Operation_ISFS = Operation not permitted on IsolatedStorageFileStream.
+IsolatedStorage_Operation = Operation not permitted.
+IsolatedStorage_Path = Path must be a valid file name.
+IsolatedStorage_FileOpenMode = Invalid mode, see System.IO.FileMode.
+IsolatedStorage_SeekOrigin = Invalid origin, see System.IO.SeekOrigin.
+IsolatedStorage_Scope_U_R_M = Invalid scope, expected User, User|Roaming or Machine.
+IsolatedStorage_Scope_Invalid = Invalid scope.
+IsolatedStorage_Exception = An error occurred while accessing IsolatedStorage.
+IsolatedStorage_QuotaIsUndefined = {0} is not defined for this store. An operation was performed that requires access to {0}. Stores obtained using enumeration APIs do not have a well-defined {0}, since partial evidence is used to open the store.
+IsolatedStorage_CurrentSizeUndefined = Current size cannot be determined for this store.
+IsolatedStorage_DomainUndefined = Domain cannot be determined on an Assembly or Application store.
+IsolatedStorage_ApplicationUndefined = Application cannot be determined on an Assembly or Domain store.
+IsolatedStorage_AssemblyUndefined = Assembly cannot be determined for an Application store.
+IsolatedStorage_StoreNotOpen = Store must be open for this operation.
+IsolatedStorage_OldQuotaLarger = The new quota must be larger than the old quota.
+IsolatedStorage_UsageWillExceedQuota = There is not enough free space to perform the operation.
+IsolatedStorage_NotValidOnDesktop = The Site scope is currently not supported.
+IsolatedStorage_OnlyIncreaseUserApplicationStore = Increasing the quota of this scope is not supported. Only the user application scope’s quota can be increased.
+#endif // FEATURE_ISOSTORE
+
+; Verification Exception
+Verification_Exception = Operation could destabilize the runtime.
+
+; IL stub marshaler exceptions
+Marshaler_StringTooLong = Marshaler restriction: Excessively long string.
+
+; Missing (General)
+MissingConstructor_Name = Constructor on type '{0}' not found.
+MissingField = Field not found.
+MissingField_Name = Field '{0}' not found.
+MissingMember = Member not found.
+MissingMember_Name = Member '{0}' not found.
+MissingMethod_Name = Method '{0}' not found.
+MissingModule = Module '{0}' not found.
+MissingType = Type '{0}' not found.
+
+; MissingManifestResourceException
+Arg_MissingManifestResourceException = Unable to find manifest resource.
+MissingManifestResource_LooselyLinked = Could not find a manifest resource entry called "{0}" in assembly "{1}". Please check spelling, capitalization, and build rules to ensure "{0}" is being linked into the assembly.
+MissingManifestResource_NoNeutralAsm = Could not find any resources appropriate for the specified culture or the neutral culture. Make sure "{0}" was correctly embedded or linked into assembly "{1}" at compile time, or that all the satellite assemblies required are loadable and fully signed.
+MissingManifestResource_NoNeutralDisk = Could not find any resources appropriate for the specified culture (or the neutral culture) on disk.
+MissingManifestResource_MultipleBlobs = A case-insensitive lookup for resource file "{0}" in assembly "{1}" found multiple entries. Remove the duplicates or specify the exact case.
+MissingManifestResource_ResWFileNotLoaded = Unable to load resources for resource file "{0}" in package "{1}".
+MissingManifestResource_NoPRIresources = Unable to open Package Resource Index.
+
+; MissingMember
+MissingMemberTypeRef = FieldInfo does not match the target Type.
+MissingMemberNestErr = TypedReference can only be made on nested value Types.
+
+; MissingSatelliteAssemblyException
+MissingSatelliteAssembly_Default = Resource lookup fell back to the ultimate fallback resources in a satellite assembly, but that satellite either was not found or could not be loaded. Please consider reinstalling or repairing the application.
+MissingSatelliteAssembly_Culture_Name = The satellite assembly named "{1}" for fallback culture "{0}" either could not be found or could not be loaded. This is generally a setup problem. Please consider reinstalling or repairing the application.
+
+; MulticastNotSupportedException
+Multicast_Combine = Delegates that are not of type MulticastDelegate may not be combined.
+
+; NotImplementedException
+Arg_NotImplementedException = The method or operation is not implemented.
+NotImplemented_ResourcesLongerThan2^63 = Resource files longer than 2^63 bytes are not currently implemented.
+
+; NotSupportedException
+NotSupported_NYI = This feature is not currently implemented.
+NotSupported_AbstractNonCLS = This non-CLS method is not implemented.
+NotSupported_ChangeType = ChangeType operation is not supported.
+NotSupported_ContainsStackPtr = Cannot create boxed TypedReference, ArgIterator, or RuntimeArgumentHandle Objects.
+NotSupported_ContainsStackPtr[] = Cannot create arrays of TypedReference, ArgIterator, ByRef, or RuntimeArgumentHandle Objects.
+NotSupported_OpenType = Cannot create arrays of open type.
+NotSupported_DBNullSerial = Only one DBNull instance may exist, and calls to DBNull deserialization methods are not allowed.
+NotSupported_DelegateSerHolderSerial = DelegateSerializationHolder objects are designed to represent a delegate during serialization and are not serializable themselves.
+NotSupported_DelegateCreationFromPT = Application code cannot use Activator.CreateInstance to create types that derive from System.Delegate. Delegate.CreateDelegate can be used instead.
+NotSupported_EncryptionNeedsNTFS = File encryption support only works on NTFS partitions.
+NotSupported_FileStreamOnNonFiles = FileStream was asked to open a device that was not a file. For support for devices like 'com1:' or 'lpt1:', call CreateFile, then use the FileStream constructors that take an OS handle as an IntPtr.
+NotSupported_FixedSizeCollection = Collection was of a fixed size.
+NotSupported_KeyCollectionSet = Mutating a key collection derived from a dictionary is not allowed.
+NotSupported_ValueCollectionSet = Mutating a value collection derived from a dictionary is not allowed.
+NotSupported_MemStreamNotExpandable = Memory stream is not expandable.
+NotSupported_ObsoleteResourcesFile = Found an obsolete .resources file in assembly '{0}'. Rebuild that .resources file then rebuild that assembly.
+NotSupported_OleAutBadVarType = The given Variant type is not supported by this OleAut function.
+NotSupported_PopulateData = This Surrogate does not support PopulateData().
+NotSupported_ReadOnlyCollection = Collection is read-only.
+NotSupported_RangeCollection = The specified operation is not supported on Ranges.
+NotSupported_SortedListNestedWrite = This operation is not supported on SortedList nested types because they require modifying the original SortedList.
+NotSupported_SubclassOverride = Derived classes must provide an implementation.
+NotSupported_TypeCannotDeserialized = Direct deserialization of type '{0}' is not supported.
+NotSupported_UnreadableStream = Stream does not support reading.
+NotSupported_UnseekableStream = Stream does not support seeking.
+NotSupported_UnwritableStream = Stream does not support writing.
+NotSupported_CannotWriteToBufferedStreamIfReadBufferCannotBeFlushed = Cannot write to a BufferedStream while the read buffer is not empty if the underlying stream is not seekable. Ensure that the stream underlying this BufferedStream can seek or avoid interleaving read and write operations on this BufferedStream.
+NotSupported_Method = Method is not supported.
+NotSupported_Constructor = Object cannot be created through this constructor.
+NotSupported_DynamicModule = The invoked member is not supported in a dynamic module.
+NotSupported_TypeNotYetCreated = The invoked member is not supported before the type is created.
+NotSupported_SymbolMethod = Not supported in an array method of a type definition that is not complete.
+NotSupported_NotDynamicModule = The MethodRental.SwapMethodBody method can only be called to swap the method body of a method in a dynamic module.
+NotSupported_DynamicAssembly = The invoked member is not supported in a dynamic assembly.
+NotSupported_NotAllTypesAreBaked = Type '{0}' was not completed.
+NotSupported_CannotSaveModuleIndividually = Unable to save a ModuleBuilder if it was created underneath an AssemblyBuilder. Call Save on the AssemblyBuilder instead.
+NotSupported_MaxWaitHandles = The number of WaitHandles must be less than or equal to 64.
+NotSupported_IllegalOneByteBranch = Illegal one-byte branch at position: {0}. Requested branch was: {1}.
+NotSupported_OutputStreamUsingTypeBuilder = Output streams do not support TypeBuilders.
+NotSupported_ValueClassCM = Custom marshalers for value types are not currently supported.
+NotSupported_Void[] = Arrays of System.Void are not supported.
+NotSupported_NoParentDefaultConstructor = Parent does not have a default constructor. The default constructor must be explicitly defined.
+NotSupported_NonReflectedType = Not supported in a non-reflected type.
+NotSupported_GlobalFunctionNotBaked = The type definition of the global function is not completed.
+NotSupported_SecurityPermissionUnion = Union is not implemented.
+NotSupported_UnitySerHolder = The UnitySerializationHolder object is designed to transmit information about other types and is not serializable itself.
+NotSupported_UnknownTypeCode = TypeCode '{0}' was not valid.
+NotSupported_WaitAllSTAThread = WaitAll for multiple handles on a STA thread is not supported.
+NotSupported_SignalAndWaitSTAThread = SignalAndWait on a STA thread is not supported.
+NotSupported_CreateInstanceWithTypeBuilder = CreateInstance cannot be used with an object of type TypeBuilder.
+NotSupported_NonUrlAttrOnMBR = UrlAttribute is the only attribute supported for MarshalByRefObject.
+NotSupported_ActivAttrOnNonMBR = Activation Attributes are not supported for types not deriving from MarshalByRefObject.
+NotSupported_ActivForCom = Activation Attributes not supported for COM Objects.
+NotSupported_NoCodepageData = No data is available for encoding {0}. For information on defining a custom encoding, see the documentation for the Encoding.RegisterProvider method.
+NotSupported_CodePage50229 = The ISO-2022-CN Encoding (Code page 50229) is not supported.
+NotSupported_DynamicAssemblyNoRunAccess = Cannot execute code on a dynamic assembly without run access.
+NotSupported_IDispInvokeDefaultMemberWithNamedArgs = Invoking default method with named arguments is not supported.
+NotSupported_Type = Type is not supported.
+NotSupported_GetMethod = The 'get' method is not supported on this property.
+NotSupported_SetMethod = The 'set' method is not supported on this property.
+NotSupported_DeclarativeUnion = Declarative unionizing of these permissions is not supported.
+NotSupported_StringComparison = The string comparison type passed in is currently not supported.
+NotSupported_WrongResourceReader_Type = This .resources file should not be read with this reader. The resource reader type is "{0}".
+NotSupported_MustBeModuleBuilder = Module argument must be a ModuleBuilder.
+NotSupported_CallToVarArg = Vararg calling convention not supported.
+NotSupported_TooManyArgs = Stack size too deep. Possibly too many arguments.
+NotSupported_DeclSecVarArg = Assert, Deny, and PermitOnly are not supported on methods with a Vararg calling convention.
+NotSupported_AmbiguousIdentity = The operation is ambiguous because the permission represents multiple identities.
+NotSupported_DynamicMethodFlags = Wrong MethodAttributes or CallingConventions for DynamicMethod. Only public, static, standard supported
+NotSupported_GlobalMethodSerialization = Serialization of global methods (including implicit serialization via the use of asynchronous delegates) is not supported.
+NotSupported_InComparableType = A type must implement IComparable<T> or IComparable to support comparison.
+NotSupported_ManagedActivation = Cannot create uninitialized instances of types requiring managed activation.
+NotSupported_ByRefReturn = ByRef return value not supported in reflection invocation.
+NotSupported_DelegateMarshalToWrongDomain = Delegates cannot be marshaled from native code into a domain other than their home domain.
+NotSupported_ResourceObjectSerialization = Cannot read resources that depend on serialization.
+NotSupported_One = The arithmetic type '{0}' cannot represent the number one.
+NotSupported_Zero = The arithmetic type '{0}' cannot represent the number zero.
+NotSupported_MaxValue = The arithmetic type '{0}' does not have a maximum value.
+NotSupported_MinValue = The arithmetic type '{0}' does not have a minimum value.
+NotSupported_PositiveInfinity = The arithmetic type '{0}' cannot represent positive infinity.
+NotSupported_NegativeInfinity = The arithmetic type '{0}' cannot represent negative infinity.
+NotSupported_UmsSafeBuffer = This operation is not supported for an UnmanagedMemoryStream created from a SafeBuffer.
+NotSupported_Reading = Accessor does not support reading.
+NotSupported_Writing = Accessor does not support writing.
+NotSupported_UnsafePointer = This accessor was created with a SafeBuffer; use the SafeBuffer to gain access to the pointer.
+NotSupported_CollectibleCOM = COM Interop is not supported for collectible types.
+NotSupported_CollectibleAssemblyResolve = Resolving to a collectible assembly is not supported.
+NotSupported_CollectibleBoundNonCollectible = A non-collectible assembly may not reference a collectible assembly.
+NotSupported_CollectibleDelegateMarshal = Delegate marshaling for types within collectible assemblies is not supported.
+NotSupported_NonStaticMethod = Non-static methods with NativeCallableAttribute are not supported.
+NotSupported_NativeCallableTarget = Methods with NativeCallableAttribute cannot be used as delegate target.
+NotSupported_GenericMethod = Generic methods with NativeCallableAttribute are not supported.
+NotSupported_NonBlittableTypes = Non-blittable parameter types are not supported for NativeCallable methods.
+
+#if FEATURE_WINDOWSPHONE
+NotSupported_UserDllImport = DllImport cannot be used on user-defined methods.
+NotSupported_UserCOM = COM Interop is not supported for user-defined types.
+#endif //FEATURE_WINDOWSPHONE
+#if FEATURE_CAS_POLICY
+NotSupported_RequiresCasPolicyExplicit = This method explicitly uses CAS policy, which has been obsoleted by the .NET Framework. In order to enable CAS policy for compatibility reasons, please use the NetFx40_LegacySecurityPolicy configuration switch. Please see http://go.microsoft.com/fwlink/?LinkID=155570 for more information.
+NotSupported_RequiresCasPolicyImplicit = This method implicitly uses CAS policy, which has been obsoleted by the .NET Framework. In order to enable CAS policy for compatibility reasons, please use the NetFx40_LegacySecurityPolicy configuration switch. Please see http://go.microsoft.com/fwlink/?LinkID=155570 for more information.
+NotSupported_CasDeny = The Deny stack modifier has been obsoleted by the .NET Framework. Please see http://go.microsoft.com/fwlink/?LinkId=155571 for more information.
+NotSupported_SecurityContextSourceAppDomainInHeterogenous = SecurityContextSource.CurrentAppDomain is not supported in heterogenous AppDomains.
+#endif // FEATURE_CAS_POLICY
+#if FEATURE_APPX
+NotSupported_AppX = {0} is not supported in AppX.
+LoadOfFxAssemblyNotSupported_AppX = {0} of .NET Framework assemblies is not supported in AppX.
+#endif
+#if FEATURE_COMINTEROP
+NotSupported_WinRT_PartialTrust = Windows Runtime is not supported in partial trust.
+#endif // FEATURE_COMINTEROP
+; ReflectionTypeLoadException
+ReflectionTypeLoad_LoadFailed = Unable to load one or more of the requested types. Retrieve the LoaderExceptions property for more information.
+#if !FEATURE_CORECLR
+NotSupported_NoTypeInfo = Cannot resolve {0} to a TypeInfo object.
+#endif
+#if FEATURE_COMINTEROP
+NotSupported_PIAInAppxProcess = A Primary Interop Assembly is not supported in AppX.
+#endif
+#if FEATURE_WINDOWSPHONE
+; Not referring to "Windows Phone" in the messages, as FEATURE_WINDOWSPHONE is defined for .NET Core as well.
+NotSupported_WindowsPhone = {0} is not supported.
+NotSupported_AssemblyLoadCodeBase = Assembly.Load with a Codebase is not supported.
+#endif
+
+; TypeLoadException
+TypeLoad_ResolveType = Could not resolve type '{0}'.
+TypeLoad_ResolveTypeFromAssembly = Could not resolve type '{0}' in assembly '{1}'.
+TypeLoad_ResolveNestedType = Could not resolve nested type '{0}' in type "{1}'.
+FileNotFound_ResolveAssembly = Could not resolve assembly '{0}'.
+
+; NullReferenceException
+NullReference_This = The pointer for this method was null.
+
+; ObjectDisposedException
+ObjectDisposed_Generic = Cannot access a disposed object.
+ObjectDisposed_FileClosed = Cannot access a closed file.
+ObjectDisposed_ObjectName_Name = Object name: '{0}'.
+ObjectDisposed_ReaderClosed = Cannot read from a closed TextReader.
+ObjectDisposed_ResourceSet = Cannot access a closed resource set.
+ObjectDisposed_RegKeyClosed = Cannot access a closed registry key.
+ObjectDisposed_StreamClosed = Cannot access a closed Stream.
+ObjectDisposed_WriterClosed = Cannot write to a closed TextWriter.
+ObjectDisposed_ViewAccessorClosed = Cannot access a closed accessor.
+
+; OperationCanceledException
+OperationCanceled = The operation was canceled.
+
+; OutOfMemoryException
+OutOfMemory_GCHandleMDA = The GCHandle MDA has run out of available cookies.
+
+; OverflowException
+Overflow_Byte = Value was either too large or too small for an unsigned byte.
+Overflow_Char = Value was either too large or too small for a character.
+Overflow_Currency = Value was either too large or too small for a Currency.
+Overflow_Decimal = Value was either too large or too small for a Decimal.
+Overflow_Int16 = Value was either too large or too small for an Int16.
+Overflow_Int32 = Value was either too large or too small for an Int32.
+Overflow_Int64 = Value was either too large or too small for an Int64.
+Overflow_NegateTwosCompNum = Negating the minimum value of a twos complement number is invalid.
+Overflow_NegativeUnsigned = The string was being parsed as an unsigned number and could not have a negative sign.
+Overflow_SByte = Value was either too large or too small for a signed byte.
+Overflow_Single = Value was either too large or too small for a Single.
+Overflow_Double = Value was either too large or too small for a Double.
+Overflow_TimeSpanTooLong = TimeSpan overflowed because the duration is too long.
+Overflow_TimeSpanElementTooLarge = The TimeSpan could not be parsed because at least one of the numeric components is out of range or contains too many digits.
+Overflow_Duration = The duration cannot be returned for TimeSpan.MinValue because the absolute value of TimeSpan.MinValue exceeds the value of TimeSpan.MaxValue.
+Overflow_UInt16 = Value was either too large or too small for a UInt16.
+Overflow_UInt32 = Value was either too large or too small for a UInt32.
+Overflow_UInt64 = Value was either too large or too small for a UInt64.
+
+; PlatformNotsupportedException
+PlatformNotSupported_RequiresLonghorn = This operation is only supported on Windows Vista and above.
+PlatformNotSupported_RequiresNT = This operation is only supported on Windows 2000, Windows XP, and higher.
+PlatformNotSupported_RequiresW2kSP3 = This operation is only supported on Windows 2000 SP3 or later operating systems.
+#if FEATURE_COMINTEROP
+PlatformNotSupported_WinRT = Windows Runtime is not supported on this operating system.
+#endif // FEATURE_COMINTEROP
+
+; PolicyException
+; This still appears in bcl.small but should go away eventually
+Policy_Default = Error occurred while performing a policy operation.
+Policy_CannotLoadSemiTrustAssembliesDuringInit = All assemblies loaded as part of AppDomain initialization must be fully trusted.
+#if FEATURE_IMPERSONATION
+Policy_PrincipalTwice = Default principal object cannot be set twice.
+#endif // FEATURE_IMPERSONATION
+#if FEATURE_CAS_POLICY
+Policy_PolicyAlreadySet = Policy for this domain cannot be set twice.
+Policy_NoExecutionPermission = Execution permission cannot be acquired.
+Policy_NoRequiredPermission = Required permissions cannot be acquired.
+Policy_MultipleExclusive = More than one exclusive group is not allowed.
+Policy_RecoverNotFileBased = PolicyLevel object not based on a file cannot be recovered.
+Policy_RecoverNoConfigFile = No old configuration file exists to recover.
+Policy_UnableToSave = Policy level '{0}' could not be saved: {1}.
+Policy_BadXml = Policy configuration XML is invalid. The required tag '{0}' is missing.
+Policy_NonFullTrustAssembly = Policy references an assembly not in the full trust assemblies list.
+Policy_MissingActivationContextInAppEvidence = The application evidence does not contain a Fusion activation context.
+Policy_NoTrustManager = A trust manager could not be loaded for this application.
+Policy_GrantSetDoesNotMatchDomain = An assembly was provided an invalid grant set by runtime host '{0}'. In a homogenous AppDomain, the only valid grant sets are FullTrust and the AppDomain's sandbox grant set.
+#endif // FEATURE_CAS_POLICY
+Policy_SaveNotFileBased = PolicyLevel object not based on a file cannot be saved.
+Policy_AppTrustMustGrantAppRequest = ApplicationTrust grant set does not contain ActivationContext's minimum request set.
+
+Error_SecurityPolicyFileParse = Error occurred while parsing the '{0}' policy level. The default policy level was used instead.
+Error_SecurityPolicyFileParseEx = Error '{1}' occurred while parsing the '{0}' policy level. The default policy level was used instead.
+
+#if FEATURE_CAS_POLICY
+Policy_EvidenceMustBeSerializable = Objects used as evidence must be serializable.
+Policy_DuplicateEvidence = The evidence collection already contains evidence of type '{0}'. Multiple pieces of the same type of evidence are not allowed.
+Policy_IncorrectHostEvidence = Runtime host '{0}' returned evidence of type '{1}' from a request for evidence of type '{2}'.
+Policy_NullHostEvidence = Runtime host '{0}' returned null when asked for assembly evidence for assembly '{1}'.
+Policy_NullHostGrantSet = Runtime host '{0}' returned a null grant set from ResolvePolicy.
+#endif // FEATURE_CAS_POLICY
+
+; Policy codegroup and permission set names and descriptions
+#if FEATURE_CAS_POLICY
+Policy_AllCode_Name = All_Code
+Policy_AllCode_DescriptionFullTrust = Code group grants all code full trust and forms the root of the code group tree.
+Policy_AllCode_DescriptionNothing = Code group grants no permissions and forms the root of the code group tree.
+Policy_MyComputer_Name = My_Computer_Zone
+Policy_MyComputer_Description = Code group grants full trust to all code originating on the local computer
+Policy_Intranet_Name = LocalIntranet_Zone
+Policy_Intranet_Description = Code group grants the intranet permission set to code from the intranet zone. This permission set grants intranet code the right to use isolated storage, full UI access, some capability to do reflection, and limited access to environment variables.
+Policy_IntranetNet_Name = Intranet_Same_Site_Access
+Policy_IntranetNet_Description = All intranet code gets the right to connect back to the site of its origin.
+Policy_IntranetFile_Name = Intranet_Same_Directory_Access
+Policy_IntranetFile_Description = All intranet code gets the right to read from its install directory.
+Policy_Internet_Name = Internet_Zone
+Policy_Internet_Description = Code group grants code from the Internet zone the Internet permission set. This permission set grants Internet code the right to use isolated storage and limited UI access.
+Policy_InternetNet_Name = Internet_Same_Site_Access
+Policy_InternetNet_Description = All Internet code gets the right to connect back to the site of its origin.
+Policy_Trusted_Name = Trusted_Zone
+Policy_Trusted_Description = Code from a trusted zone is granted the Internet permission set. This permission set grants the right to use isolated storage and limited UI access.
+Policy_TrustedNet_Name = Trusted_Same_Site_Access
+Policy_TrustedNet_Description = All Trusted Code gets the right to connect back to the site of its origin.
+Policy_Untrusted_Name = Restricted_Zone
+Policy_Untrusted_Description = Code coming from a restricted zone does not receive any permissions.
+Policy_Microsoft_Name = Microsoft_Strong_Name
+Policy_Microsoft_Description = Code group grants full trust to code signed with the Microsoft strong name.
+Policy_Ecma_Name = ECMA_Strong_Name
+Policy_Ecma_Description = Code group grants full trust to code signed with the ECMA strong name.
+
+; Policy permission set descriptions
+Policy_PS_FullTrust = Allows full access to all resources
+Policy_PS_Everything = Allows unrestricted access to all resources covered by built-in permissions
+Policy_PS_Nothing = Denies all resources, including the right to execute
+Policy_PS_Execution = Permits execution
+Policy_PS_SkipVerification = Grants right to bypass the verification
+Policy_PS_Internet = Default rights given to Internet applications
+Policy_PS_LocalIntranet = Default rights given to applications on the local intranet
+
+; default Policy level names
+Policy_PL_Enterprise = Enterprise
+Policy_PL_Machine = Machine
+Policy_PL_User = User
+Policy_PL_AppDomain = AppDomain
+#endif // FEATURE_CAS_POLICY
+
+; RankException
+Rank_MultiDimNotSupported = Only single dimension arrays are supported here.
+Rank_MustMatch = The specified arrays must have the same number of dimensions.
+
+; TypeInitializationException
+TypeInitialization_Default = Type constructor threw an exception.
+TypeInitialization_Type = The type initializer for '{0}' threw an exception.
+
+; TypeLoadException
+
+
+;
+; Reflection exceptions
+;
+RtType.InvalidCaller = Caller is not a friend.
+
+;CustomAttributeFormatException
+RFLCT.InvalidPropFail = '{0}' property specified was not found.
+RFLCT.InvalidFieldFail = '{0}' field specified was not found.
+
+;InvalidFilterCriteriaException
+RFLCT.FltCritString = A String must be provided for the filter criteria.
+RFLCT.FltCritInt = An Int32 must be provided for the filter criteria.
+
+; TargetException
+RFLCT.Targ_ITargMismatch = Object does not match target type.
+RFLCT.Targ_StatMethReqTarg = Non-static method requires a target.
+RFLCT.Targ_StatFldReqTarg = Non-static field requires a target.
+
+;AmbiguousMatchException
+RFLCT.Ambiguous = Ambiguous match found.
+RFLCT.AmbigCust = Multiple custom attributes of the same type found.
+
+;
+; Remoting exceptions
+;
+Remoting_AppDomainUnloaded_ThreadUnwound = The application domain in which the thread was running has been unloaded.
+Remoting_AppDomainUnloaded = The target application domain has been unloaded.
+Remoting_CantRemotePointerType = Pointer types cannot be passed in a remote call.
+Remoting_TypeCantBeRemoted = The given type cannot be passed in a remote call.
+Remoting_Delegate_TooManyTargets = The delegate must have only one target.
+Remoting_InvalidContext = The context is not valid.
+Remoting_InvalidValueTypeFieldAccess = An attempt was made to calculate the address of a value type field on a remote object. This was likely caused by an attempt to directly get or set the value of a field within this embedded value type. Avoid this and instead provide and use access methods for each field in the object that will be accessed remotely.
+Remoting_Message_BadRetValOrOutArg = Bad return value or out-argument inside the return message.
+Remoting_NonPublicOrStaticCantBeCalledRemotely = Permission denied: cannot call non-public or static methods remotely.
+Remoting_Proxy_ProxyTypeIsNotMBR = classToProxy argument must derive from MarshalByRef type.
+Remoting_TP_NonNull = The transparent proxy field of a real proxy must be null.
+#if FEATURE_REMOTING
+Remoting_Activation_BadAttribute = Activation attribute does not implement the IContextAttribute interface.
+Remoting_Activation_BadObject = Proxy Attribute returned an incompatible object when constructing an instance of type {0}.
+Remoting_Activation_MBR_ProxyAttribute = Proxy Attributes are supported on ContextBound types only.
+Remoting_Activation_ConnectFailed = An attempt to connect to the remote activator failed with exception '{0}'.
+Remoting_Activation_Failed = Activation failed due to an unknown reason.
+Remoting_Activation_InconsistentState = Inconsistent state during activation; there may be two proxies for the same object.
+Remoting_Activation_MissingRemoteAppEntry = Cannot find an entry for remote application '{0}'.
+Remoting_Activation_NullReturnValue = Return value of construction call was null.
+Remoting_Activation_NullFromInternalUnmarshal = InternalUnmarshal of returned ObjRef from activation call returned null.
+Remoting_Activation_WellKnownCTOR = Cannot run a non-default constructor when connecting to well-known objects.
+Remoting_Activation_PermissionDenied = Type '{0}' is not registered for activation.
+Remoting_Activation_PropertyUnhappy = A context property did not approve the candidate context for activating the object.
+Remoting_Activation_AsyncUnsupported = Async Activation not supported.
+Remoting_AmbiguousCTOR = Cannot resolve the invocation to the correct constructor.
+Remoting_AmbiguousMethod = Cannot resolve the invocation to the correct method.
+Remoting_AppDomains_NYI = This feature is not yet supported for cross-application domain.
+Remoting_AppDomainsCantBeCalledRemotely = Permission denied: cannot call methods on the AppDomain class remotely.
+Remoting_AssemblyLoadFailed = Cannot load assembly '{0}'.
+Remoting_Attribute_UseAttributeNotsettable = UseAttribute not allowed in SoapTypeAttribute.
+Remoting_BadType = Cannot load type '{0}'.
+Remoting_BadField = Remoting cannot find field '{0}' on type '{1}'.
+Remoting_BadInternalState_ActivationFailure = Invalid internal state: Activation service failed to initialize.
+Remoting_BadInternalState_ProxySameAppDomain = Invalid internal state: A marshal by ref object should not have a proxy in its own AppDomain.
+Remoting_BadInternalState_FailEnvoySink = Invalid internal state: Failed to create an envoy sink for the object.
+Remoting_CantDisconnectClientProxy = Cannot call disconnect on a proxy.
+Remoting_CantInvokeIRemoteDispatch = Cannot invoke methods on IRemoteDispatch.
+Remoting_ChannelNameAlreadyRegistered = The channel '{0}' is already registered.
+Remoting_ChannelNotRegistered = The channel '{0}' is not registered with remoting services.
+Remoting_Channel_PopOnEmptySinkStack = Tried to pop data from an empty channel sink stack.
+Remoting_Channel_PopFromSinkStackWithoutPush = A channel sink tried to pop data from the stack without first pushing data onto the stack.
+Remoting_Channel_StoreOnEmptySinkStack = A channel sink called the Store method when the sink stack was empty.
+Remoting_Channel_StoreOnSinkStackWithoutPush = A channel sink called the Store method on the sink stack without first pushing data onto the stack.
+Remoting_Channel_CantCallAPRWhenStackEmpty = Cannot call the AsyncProcessResponse method on the previous channel sink because the stack is empty.
+Remoting_Channel_CantCallFRSWhenStackEmtpy = Called FlipRememberedStack() when stack was not null.
+Remoting_Channel_CantCallGetResponseStreamWhenStackEmpty = Cannot call the GetResponseStream method on the previous channel sink because the stack is empty.
+Remoting_Channel_DispatchSinkMessageMissing = No message was deserialized prior to calling the DispatchChannelSink.
+Remoting_Channel_DispatchSinkWantsNullRequestStream = The request stream should be null when the DispatchChannelSink is called.
+Remoting_Channel_CannotBeSecured = Channel {0} cannot be secured. Please consider using a channel that implements ISecurableChannel
+Remoting_Config_ChannelMissingCtor = To be used from a .config file, the channel type '{0}' must have a constructor of the form '{1}'
+Remoting_Config_SinkProviderMissingCtor = To be used from a .config file, the sink provider type '{0}' must have a constructor of the form '{1}'
+Remoting_Config_SinkProviderNotFormatter = A sink provider of type '{0}' is incorrectly labeled as a 'formatter'.
+Remoting_Config_ConfigurationFailure = Remoting configuration failed with the exception '{0}'.
+Remoting_Config_InvalidTimeFormat = Invalid time format '{0}'. Examples of valid time formats include 7D, 10H, 5M, 30S, or 20MS.
+Remoting_Config_AppNameSet = The remoting application name, '{0}', had already been set.
+Remoting_Config_ErrorsModeSet = The remoting custom errors mode had already been set.
+Remoting_Config_CantRedirectActivationOfWellKnownService = Attempt to redirect activation for type '{0}, {1}'. This is not allowed since either a well-known service type has already been registered with that type or that type has been registered has a activated service type.
+Remoting_Config_CantUseRedirectedTypeForWellKnownService = Attempt to register a well-known or activated service type of type '{0}, {1}'. This is not allowed since the type has already been redirected to activate elsewhere.
+Remoting_Config_InvalidChannelType = '{0}' does not implement IChannelReceiver or IChannelSender. All channels must implement one of these interfaces.
+Remoting_Config_InvalidSinkProviderType = Unable to use '{0}' as a channel sink provider. It does not implement '{1}'.
+Remoting_Config_MissingWellKnownModeAttribute = Well-known service entries must contain a 'mode' attribute with a value of 'Singleton' or 'SingleCall'.
+Remoting_Config_MissingTypeAttribute = '{0}' entries must contain a '{1}' attribute of the form 'typeName, assemblyName'.
+Remoting_Config_MissingXmlTypeAttribute = '{0}' entries must contain a '{1}' attribute of the form 'xmlTypeName, xmlTypeNamespace'.
+Remoting_Config_NoAppName = Improper remoting configuration: missing ApplicationName property.
+Remoting_Config_NonTemplateIdAttribute = Only '{0}' templates can have an 'id' attribute.
+Remoting_Config_PreloadRequiresTypeOrAssembly = Preload entries require a type or assembly attribute.
+Remoting_Config_ProviderNeedsElementName = Sink providers must have an element name of 'formatter' or 'provider'.
+Remoting_Config_RequiredXmlAttribute = '{0}' entries require a '{1}' attribute.
+Remoting_Config_ReadFailure = .Config file '{0}' cannot be read successfully due to exception '{1}'.
+Remoting_Config_NodeMustBeUnique = There can be only one '{0}' node in the '{1}' section of a config file.
+Remoting_Config_TemplateCannotReferenceTemplate = A '{0}' template cannot reference another '{0}' template.
+Remoting_Config_TypeAlreadyRedirected = Attempt to redirect activation of type '{0}, {1}' which is already redirected.
+Remoting_Config_UnknownValue = Unknown value {1} was found on the {0} node.
+Remoting_Config_UnableToResolveTemplate = Cannot resolve '{0}' template reference: '{1}'.
+Remoting_Config_VersionPresent = Version information is present in the assembly name '{0}' which is not allowed for '{1}' entries.
+Remoting_Contexts_BadProperty = A property that contributed a bad sink to the chain was found.
+Remoting_Contexts_NoProperty = A property with the name '{0}' was not found.
+Remoting_Contexts_ContextNotFrozenForCallBack = Context should be frozen before calling the DoCallBack method.
+Remoting_Default = Unknown remoting error.
+Remoting_HandlerNotRegistered = The tracking handler of type '{0}' is not registered with Remoting Services.
+Remoting_InvalidMsg = Invalid Message Object.
+Remoting_InvalidCallingType = Attempted to call a method declared on type '{0}' on an object which exposes '{1}'.
+Remoting_InvalidRequestedType = The server object type cannot be cast to the requested type '{0}'.
+Remoting_InternalError = Server encountered an internal error. For more information, turn off customErrors in the server's .config file.
+Remoting_Lifetime_ILeaseReturn = Expected a return object of type ILease, but received '{0}'.
+Remoting_Lifetime_InitialStateInitialLeaseTime = InitialLeaseTime property can only be set when the lease is in initial state. The state is '{0}'.
+Remoting_Lifetime_InitialStateRenewOnCall = RenewOnCallTime property can only be set when the lease is in initial state. The state is '{0}'.
+Remoting_Lifetime_InitialStateSponsorshipTimeout = SponsorshipTimeout property can only be set when the lease is in initial state. State is '{0}'.
+Remoting_Lifetime_SetOnce = '{0}' can only be set once within an AppDomain.
+Remoting_Message_ArgMismatch = {2} arguments were passed to '{0}::{1}'. {3} arguments were expected by this method.
+Remoting_Message_BadAsyncResult = The async result object is null or of an unexpected type.
+Remoting_Message_BadType = The method was called with a Message of an unexpected type.
+Remoting_Message_CoercionFailed = The argument type '{0}' cannot be converted into parameter type '{1}'.
+Remoting_Message_MissingArgValue = Expecting an instance of type '{0}' at pos {1} in the args array.
+Remoting_Message_BadSerialization = Invalid or malformed serialization information for the message object.
+Remoting_NoIdentityEntry = No remoting information was found for this object.
+Remoting_NotRemotableByReference = Trying to create a proxy to an unbound type.
+Remoting_NullMessage = The method was called with a null message.
+Remoting_Proxy_BadType = The proxy is of an unsupported type.
+Remoting_ResetURI = Attempt to reset the URI for an object from '{0}' to '{1}'.
+Remoting_ServerObjectNotFound = The server object for URI '{0}' is not registered with the remoting infrastructure (it may have been disconnected).
+Remoting_SetObjectUriForMarshal__ObjectNeedsToBeLocal = SetObjectUriForMarshal method should only be called for MarshalByRefObjects that exist in the current AppDomain.
+Remoting_SetObjectUriForMarshal__UriExists = SetObjectUriForMarshal method has already been called on this object or the object has already been marshaled.
+Remoting_Proxy_BadReturnType = Return argument has an invalid type.
+Remoting_Proxy_ReturnValueTypeCannotBeNull = ByRef value type parameter cannot be null.
+Remoting_Proxy_BadReturnTypeForActivation = Bad return type for activation call via Invoke: must be of type IConstructionReturnMessage.
+Remoting_Proxy_BadTypeForActivation = Type mismatch between proxy type '{0}' and activation type '{1}'.
+Remoting_Proxy_ExpectedOriginalMessage = The message passed to Invoke should be passed to PropagateOutParameters.
+Remoting_Proxy_InvalidCall = Trying to call proxy while constructor call is in progress.
+Remoting_Proxy_InvalidState = Channel sink does not exist. Failed to dispatch async call.
+Remoting_Proxy_NoChannelSink = This remoting proxy has no channel sink which means either the server has no registered server channels that are listening, or this application has no suitable client channel to talk to the server.
+Remoting_Proxy_InvalidCallType = Only the synchronous call type is supported for messages that are not of type Message.
+Remoting_Proxy_WrongContext = ExecuteMessage can be called only from the native context of the object.
+Remoting_SOAPInteropxsdInvalid = Soap Parse error, xsd:type '{0}' invalid {1}
+Remoting_SOAPQNameNamespace = SoapQName missing a Namespace value '{0}'.
+Remoting_ThreadAffinity_InvalidFlag = The specified flag '{0}' does not have one of the valid values.
+Remoting_TrackingHandlerAlreadyRegistered = The handler has already been registered with TrackingServices.
+Remoting_URIClash = Found two different objects associated with the same URI, '{0}'.
+Remoting_URIExists = The remoted object already has an associated URI.
+Remoting_URIToProxy = Trying to associate the URI with a proxy.
+Remoting_WellKnown_MustBeMBR = Attempted to create well-known object of type '{0}'. Well-known objects must derive from the MarshalByRefObject class.
+Remoting_WellKnown_CtorCantMarshal = '{0}': A well-known object cannot marshal itself in its constructor, or perform any action that would cause it to be marshaled (such as passing the 'this' pointer as a parameter to a remote method).
+Remoting_WellKnown_CantDirectlyConnect = Attempt to connect to a server using its object URI: '{0}'. A valid, complete URL must be used.
+Remoting_Connect_CantCreateChannelSink = Cannot create channel sink to connect to URL '{0}'. An appropriate channel has probably not been registered.
+Remoting_UnexpectedNullTP = Failed to create a transparent proxy. If a custom RealProxy is being used ensure it sets the proxy type.
+; The following remoting exception messages appear in native resources too (mscorrc.rc)
+Remoting_Disconnected = Object '{0}' has been disconnected or does not exist at the server.
+Remoting_Message_MethodMissing = The method '{0}' was not found on the interface/type '{1}'.
+#endif // FEATURE_REMOTING
+
+; Resources exceptions
+;
+Resources_StreamNotValid = Stream is not a valid resource file.
+ResourceReaderIsClosed = ResourceReader is closed.
+
+; RuntimeWrappedException
+RuntimeWrappedException = An object that does not derive from System.Exception has been wrapped in a RuntimeWrappedException.
+
+; UnauthorizedAccessException
+UnauthorizedAccess_MemStreamBuffer = MemoryStream's internal buffer cannot be accessed.
+UnauthorizedAccess_IODenied_Path = Access to the path '{0}' is denied.
+UnauthorizedAccess_IODenied_NoPathName = Access to the path is denied.
+UnauthorizedAccess_RegistryKeyGeneric_Key = Access to the registry key '{0}' is denied.
+UnauthorizedAccess_RegistryNoWrite = Cannot write to the registry key.
+UnauthorizedAccess_SystemDomain = Cannot execute an assembly in the system domain.
+
+;
+; Security exceptions
+;
+
+;SecurityException
+; These still appear in bcl.small but should go away eventually
+Security_Generic = Request for the permission of type '{0}' failed.
+Security_GenericNoType = Request failed.
+Security_NoAPTCA = That assembly does not allow partially trusted callers.
+Security_RegistryPermission = Requested registry access is not allowed.
+Security_MustRevertOverride = Stack walk modifier must be reverted before another modification of the same type can be performed.
+#if FEATURE_CAS_POLICY
+Security_CannotGenerateHash = Hash for the assembly cannot be generated.
+Security_CannotGetRawData = Assembly bytes could not be retrieved.
+Security_PrincipalPermission = Request for principal permission failed.
+Security_Action = The action that failed was:
+Security_TypeFirstPermThatFailed = The type of the first permission that failed was:
+Security_FirstPermThatFailed = The first permission that failed was:
+Security_Demanded = The demand was for:
+Security_GrantedSet = The granted set of the failing assembly was:
+Security_RefusedSet = The refused set of the failing assembly was:
+Security_Denied = The denied permissions were:
+Security_PermitOnly = The only permitted permissions were:
+Security_Assembly = The assembly or AppDomain that failed was:
+Security_Method = The method that caused the failure was:
+Security_Zone = The Zone of the assembly that failed was:
+Security_Url = The Url of the assembly that failed was:
+Security_AnonymouslyHostedDynamicMethodCheckFailed = The demand failed due to the code access security information captured during the creation of an anonymously hosted dynamic method. In order for this operation to succeed, ensure that the demand would have succeeded at the time the method was created. See http://go.microsoft.com/fwlink/?LinkId=288746 for more information.
+#endif // FEATURE_CAS_POLICY
+
+;
+; HostProtection exceptions
+;
+
+HostProtection_HostProtection = Attempted to perform an operation that was forbidden by the CLR host.
+HostProtection_ProtectedResources = The protected resources (only available with full trust) were:
+HostProtection_DemandedResources = The demanded resources were:
+
+;
+; IO exceptions
+;
+
+; EOFException
+IO.EOF_ReadBeyondEOF = Unable to read beyond the end of the stream.
+
+; FileNotFoundException
+IO.FileNotFound = Unable to find the specified file.
+IO.FileNotFound_FileName = Could not find file '{0}'.
+IO.FileName_Name = File name: '{0}'
+IO.FileLoad = Could not load the specified file.
+
+; IOException
+IO.IO_AlreadyExists_Name = Cannot create "{0}" because a file or directory with the same name already exists.
+IO.IO_BindHandleFailed = BindHandle for ThreadPool failed on this handle.
+IO.IO_FileExists_Name = The file '{0}' already exists.
+IO.IO_FileStreamHandlePosition = The OS handle's position is not what FileStream expected. Do not use a handle simultaneously in one FileStream and in Win32 code or another FileStream. This may cause data loss.
+IO.IO_FileTooLong2GB = The file is too long. This operation is currently limited to supporting files less than 2 gigabytes in size.
+IO.IO_FileTooLongOrHandleNotSync = IO operation will not work. Most likely the file will become too long or the handle was not opened to support synchronous IO operations.
+IO.IO_FixedCapacity = Unable to expand length of this stream beyond its capacity.
+IO.IO_InvalidStringLen_Len = BinaryReader encountered an invalid string length of {0} characters.
+IO.IO_NoConsole = There is no console.
+IO.IO_NoPermissionToDirectoryName = <Path discovery permission to the specified directory was denied.>
+IO.IO_SeekBeforeBegin = An attempt was made to move the position before the beginning of the stream.
+IO.IO_SeekAppendOverwrite = Unable seek backward to overwrite data that previously existed in a file opened in Append mode.
+IO.IO_SetLengthAppendTruncate = Unable to truncate data that previously existed in a file opened in Append mode.
+IO.IO_SharingViolation_File = The process cannot access the file '{0}' because it is being used by another process.
+IO.IO_SharingViolation_NoFileName = The process cannot access the file because it is being used by another process.
+IO.IO_StreamTooLong = Stream was too long.
+IO.IO_CannotCreateDirectory = The specified directory '{0}' cannot be created.
+IO.IO_SourceDestMustBeDifferent = Source and destination path must be different.
+IO.IO_SourceDestMustHaveSameRoot = Source and destination path must have identical roots. Move will not work across volumes.
+
+; DirectoryNotFoundException
+IO.DriveNotFound_Drive = Could not find the drive '{0}'. The drive might not be ready or might not be mapped.
+IO.PathNotFound_Path = Could not find a part of the path '{0}'.
+IO.PathNotFound_NoPathName = Could not find a part of the path.
+
+; PathTooLongException
+IO.PathTooLong = The specified path, file name, or both are too long. The fully qualified file name must be less than 260 characters, and the directory name must be less than 248 characters.
+
+#if FEATURE_CORECLR
+; SecurityException
+FileSecurityState_OperationNotPermitted = File operation not permitted. Access to path '{0}' is denied.
+#endif
+
+; PrivilegeNotHeldException
+PrivilegeNotHeld_Default = The process does not possess some privilege required for this operation.
+PrivilegeNotHeld_Named = The process does not possess the '{0}' privilege which is required for this operation.
+
+; General strings used in the IO package
+IO_UnknownFileName = [Unknown]
+IO_StreamWriterBufferedDataLost = A StreamWriter was not closed and all buffered data within that StreamWriter was not flushed to the underlying stream. (This was detected when the StreamWriter was finalized with data in its buffer.) A portion of the data was lost. Consider one of calling Close(), Flush(), setting the StreamWriter's AutoFlush property to true, or allocating the StreamWriter with a "using" statement. Stream type: {0}\r\nFile name: {1}\r\nAllocated from:\r\n {2}
+IO_StreamWriterBufferedDataLostCaptureAllocatedFromCallstackNotEnabled = callstack information is not captured by default for performance reasons. Please enable captureAllocatedCallStack config switch for streamWriterBufferedDataLost MDA (refer to MSDN MDA documentation for how to do this).
+
+;
+; Serialization Exceptions
+;
+#if FEATURE_SERIALIZATION
+; SerializationException
+Serialization_NoID = Object has never been assigned an objectID.
+Serialization_UnknownMemberInfo = Only FieldInfo, PropertyInfo, and SerializationMemberInfo are recognized.
+Serialization_UnableToFixup = Cannot perform fixup.
+Serialization_NoType = Object does not specify a type.
+Serialization_ValueTypeFixup = ValueType fixup on Arrays is not implemented.
+Serialization_PartialValueTypeFixup = Fixing up a partially available ValueType chain is not implemented.
+Serialization_InvalidData=An error occurred while deserializing the object. The serialized data is corrupt.
+Serialization_InvalidID = Object specifies an invalid ID.
+Serialization_InvalidPtrValue = An IntPtr or UIntPtr with an eight byte value cannot be deserialized on a machine with a four byte word size.
+Serialization_DuplicateSelector = Selector is already on the list of checked selectors.
+Serialization_MemberTypeNotRecognized = Unknown member type.
+Serialization_NoBaseType = Object does not specify a base type.
+Serialization_ArrayNoLength = Array does not specify a length.
+Serialization_CannotGetType = Cannot get the type '{0}'.
+Serialization_AssemblyNotFound = Unable to find assembly '{0}'.
+Serialization_ArrayInvalidLength = Array specifies an invalid length.
+Serialization_MalformedArray = The array information in the stream is invalid.
+Serialization_InsufficientState = Insufficient state to return the real object.
+Serialization_InvalidFieldState = Object fields may not be properly initialized.
+Serialization_MissField = Field {0} is missing.
+Serialization_MultipleMembers = Cannot resolve multiple members with the same name.
+Serialization_NullSignature = The method signature cannot be null.
+Serialization_ObjectUsedBeforeDeserCallback = An object was used before its deserialization callback ran, which may break higher-level consistency guarantees in the application.
+Serialization_UnknownMember = Cannot get the member '{0}'.
+Serialization_RegisterTwice = An object cannot be registered twice.
+Serialization_IdTooSmall = Object IDs must be greater than zero.
+Serialization_NotFound = Member '{0}' was not found.
+Serialization_InsufficientDeserializationState = Insufficient state to deserialize the object. Missing field '{0}'. More information is needed.
+Serialization_UnableToFindModule = The given module {0} cannot be found within the assembly {1}.
+Serialization_TooManyReferences = The implementation of the IObjectReference interface returns too many nested references to other objects that implement IObjectReference.
+Serialization_NotISer = The given object does not implement the ISerializable interface.
+Serialization_InvalidOnDeser = OnDeserialization method was called while the object was not being deserialized.
+Serialization_MissingKeys = The Keys for this Hashtable are missing.
+Serialization_MissingKeyValuePairs = The KeyValuePairs for this Dictionary are missing.
+Serialization_MissingValues = The values for this dictionary are missing.
+Serialization_NullKey = One of the serialized keys is null.
+Serialization_KeyValueDifferentSizes = The keys and values arrays have different sizes.
+Serialization_SurrogateCycleInArgument = Selector contained a cycle.
+Serialization_SurrogateCycle = Adding selector will introduce a cycle.
+Serialization_NeverSeen = A fixup is registered to the object with ID {0}, but the object does not appear in the graph.
+Serialization_IORIncomplete = The object with ID {0} implements the IObjectReference interface for which all dependencies cannot be resolved. The likely cause is two instances of IObjectReference that have a mutual dependency on each other.
+Serialization_NotCyclicallyReferenceableSurrogate = {0}.SetObjectData returns a value that is neither null nor equal to the first parameter. Such Surrogates cannot be part of cyclical reference.
+Serialization_ObjectNotSupplied = The object with ID {0} was referenced in a fixup but does not exist.
+Serialization_TooManyElements = The internal array cannot expand to greater than Int32.MaxValue elements.
+Serialization_SameNameTwice = Cannot add the same member twice to a SerializationInfo object.
+Serialization_InvalidType = Only system-provided types can be passed to the GetUninitializedObject method. '{0}' is not a valid instance of a type.
+Serialization_MissingObject = The object with ID {0} was referenced in a fixup but has not been registered.
+Serialization_InvalidFixupType = A member fixup was registered for an object which implements ISerializable or has a surrogate. In this situation, a delayed fixup must be used.
+Serialization_InvalidFixupDiscovered = A fixup on an object implementing ISerializable or having a surrogate was discovered for an object which does not have a SerializationInfo available.
+Serialization_InvalidFormat = The input stream is not a valid binary format. The starting contents (in bytes) are: {0} ...
+Serialization_ParentChildIdentical = The ID of the containing object cannot be the same as the object ID.
+Serialization_IncorrectNumberOfFixups = The ObjectManager found an invalid number of fixups. This usually indicates a problem in the Formatter.
+Serialization_BadParameterInfo = Non existent ParameterInfo. Position bigger than member's parameters length.
+Serialization_NoParameterInfo = Serialized member does not have a ParameterInfo.
+Serialization_StringBuilderMaxCapacity = The serialized MaxCapacity property of StringBuilder must be positive and greater than or equal to the String length.
+Serialization_StringBuilderCapacity = The serialized Capacity property of StringBuilder must be positive, less than or equal to MaxCapacity and greater than or equal to the String length.
+Serialization_InvalidDelegateType = Cannot serialize delegates over unmanaged function pointers, dynamic methods or methods outside the delegate creator's assembly.
+Serialization_OptionalFieldVersionValue = Version value must be positive.
+Serialization_MissingDateTimeData = Invalid serialized DateTime data. Unable to find 'ticks' or 'dateData'.
+Serialization_DateTimeTicksOutOfRange = Invalid serialized DateTime data. Ticks must be between DateTime.MinValue.Ticks and DateTime.MaxValue.Ticks.
+; The following serialization exception messages appear in native resources too (mscorrc.rc)
+Serialization_NonSerType = Type '{0}' in Assembly '{1}' is not marked as serializable.
+Serialization_ConstructorNotFound = The constructor to deserialize an object of type '{0}' was not found.
+
+; SerializationException used by Formatters
+Serialization_ArrayType = Invalid array type '{0}'.
+Serialization_ArrayTypeObject = Array element type is Object, 'dt' attribute is null.
+Serialization_Assembly = No assembly information is available for object on the wire, '{0}'.
+Serialization_AssemblyId = No assembly ID for object type '{0}'.
+Serialization_BinaryHeader = Binary stream '{0}' does not contain a valid BinaryHeader. Possible causes are invalid stream or object version change between serialization and deserialization.
+Serialization_CrossAppDomainError = Cross-AppDomain BinaryFormatter error; expected '{0}' but received '{1}'.
+Serialization_CorruptedStream = Invalid BinaryFormatter stream.
+Serialization_HeaderReflection = Header reflection error: number of value members: {0}.
+Serialization_ISerializableTypes = Types not available for ISerializable object '{0}'.
+Serialization_ISerializableMemberInfo = MemberInfo requested for ISerializable type.
+Serialization_MBRAsMBV = Type {0} must be marshaled by reference in this context.
+Serialization_Map = No map for object '{0}'.
+Serialization_MemberInfo = MemberInfo cannot be obtained for ISerialized Object '{0}'.
+Serialization_Method = Invalid MethodCall or MethodReturn stream format.
+Serialization_MissingMember = Member '{0}' in class '{1}' is not present in the serialized stream and is not marked with {2}.
+Serialization_NoMemberInfo = No MemberInfo for Object {0}.
+Serialization_ObjNoID = Object {0} has never been assigned an objectID.
+Serialization_ObjectTypeEnum = Invalid ObjectTypeEnum {0}.
+Serialization_ParseError = Parse error. Current element is not compatible with the next element, {0}.
+Serialization_SerMemberInfo = MemberInfo type {0} cannot be serialized.
+Serialization_Stream = Attempting to deserialize an empty stream.
+Serialization_StreamEnd = End of Stream encountered before parsing was completed.
+Serialization_TopObject = No top object.
+Serialization_TopObjectInstantiate = Top object cannot be instantiated for element '{0}'.
+Serialization_TypeCode = Invalid type code in stream '{0}'.
+Serialization_TypeExpected = Invalid expected type.
+Serialization_TypeMissing = Type is missing for member of type Object '{0}'.
+Serialization_TypeRead = Invalid read type request '{0}'.
+Serialization_TypeSecurity = Type {0} and the types derived from it (such as {1}) are not permitted to be deserialized at this security level.
+Serialization_TypeWrite = Invalid write type request '{0}'.
+Serialization_XMLElement = Invalid element '{0}'.
+Serialization_Security = Because of security restrictions, the type {0} cannot be accessed.
+Serialization_TypeLoadFailure = Unable to load type {0} required for deserialization.
+Serialization_RequireFullTrust = A type '{0}' that is defined in a partially trusted assembly cannot be type forwarded from an assembly with a different Public Key Token or without a public key token. To fix this, please either turn on unsafeTypeForwarding flag in the configuration file or remove the TypeForwardedFrom attribute.
+; The following serialization exception messages appear in native resources too (mscorrc.rc)
+Serialization_TypeResolved = Type is not resolved for member '{0}'.
+Serialization_MemberOutOfRange = The deserialized value of the member "{0}" in the class "{1}" is out of range.
+#endif // FEATURE_SERIALIZATION
+
+;
+; StringBuilder Exceptions
+;
+Arg_LongerThanSrcString = Source string was not long enough. Check sourceIndex and count.
+
+
+;
+; System.Threading
+;
+
+;
+; Thread Exceptions
+;
+ThreadState_NoAbortRequested = Unable to reset abort because no abort was requested.
+Threading.WaitHandleTooManyPosts = The WaitHandle cannot be signaled because it would exceed its maximum count.
+;
+; WaitHandleCannotBeOpenedException
+;
+Threading.WaitHandleCannotBeOpenedException = No handle of the given name exists.
+Threading.WaitHandleCannotBeOpenedException_InvalidHandle = A WaitHandle with system-wide name '{0}' cannot be created. A WaitHandle of a different type might have the same name.
+
+;
+; AbandonedMutexException
+;
+Threading.AbandonedMutexException = The wait completed due to an abandoned mutex.
+
+; AggregateException
+AggregateException_ctor_DefaultMessage=One or more errors occurred.
+AggregateException_ctor_InnerExceptionNull=An element of innerExceptions was null.
+AggregateException_DeserializationFailure=The serialization stream contains no inner exceptions.
+AggregateException_ToString={0}{1}---> (Inner Exception #{2}) {3}{4}{5}
+
+; Cancellation
+CancellationToken_CreateLinkedToken_TokensIsEmpty=No tokens were supplied.
+CancellationTokenSource_Disposed=The CancellationTokenSource has been disposed.
+CancellationToken_SourceDisposed=The CancellationTokenSource associated with this CancellationToken has been disposed.
+
+; Exceptions shared by all concurrent collection
+ConcurrentCollection_SyncRoot_NotSupported=The SyncRoot property may not be used for the synchronization of concurrent collections.
+
+; Exceptions shared by ConcurrentStack and ConcurrentQueue
+ConcurrentStackQueue_OnDeserialization_NoData=The serialization stream contains no elements.
+
+; ConcurrentStack<T>
+ConcurrentStack_PushPopRange_StartOutOfRange=The startIndex argument must be greater than or equal to zero.
+ConcurrentStack_PushPopRange_CountOutOfRange=The count argument must be greater than or equal to zero.
+ConcurrentStack_PushPopRange_InvalidCount=The sum of the startIndex and count arguments must be less than or equal to the collection's Count.
+
+; ConcurrentDictionary<TKey, TValue>
+ConcurrentDictionary_ItemKeyIsNull=TKey is a reference type and item.Key is null.
+ConcurrentDictionary_SourceContainsDuplicateKeys=The source argument contains duplicate keys.
+ConcurrentDictionary_IndexIsNegative=The index argument is less than zero.
+ConcurrentDictionary_ConcurrencyLevelMustBePositive=The concurrencyLevel argument must be positive.
+ConcurrentDictionary_CapacityMustNotBeNegative=The capacity argument must be greater than or equal to zero.
+ConcurrentDictionary_ArrayNotLargeEnough=The index is equal to or greater than the length of the array, or the number of elements in the dictionary is greater than the available space from index to the end of the destination array.
+ConcurrentDictionary_ArrayIncorrectType=The array is multidimensional, or the type parameter for the set cannot be cast automatically to the type of the destination array.
+ConcurrentDictionary_KeyAlreadyExisted=The key already existed in the dictionary.
+ConcurrentDictionary_TypeOfKeyIncorrect=The key was of an incorrect type for this dictionary.
+ConcurrentDictionary_TypeOfValueIncorrect=The value was of an incorrect type for this dictionary.
+
+; Partitioner
+Partitioner_DynamicPartitionsNotSupported=Dynamic partitions are not supported by this partitioner.
+
+; OrderablePartitioner
+OrderablePartitioner_GetPartitions_WrongNumberOfPartitions=GetPartitions returned an incorrect number of partitions.
+
+; PartitionerStatic
+PartitionerStatic_CurrentCalledBeforeMoveNext=MoveNext must be called at least once before calling Current.
+PartitionerStatic_CanNotCallGetEnumeratorAfterSourceHasBeenDisposed=Can not call GetEnumerator on partitions after the source enumerable is disposed
+
+; CDSCollectionETWBCLProvider events
+event_ConcurrentStack_FastPushFailed=Push to ConcurrentStack spun {0} time(s).
+event_ConcurrentStack_FastPopFailed=Pop from ConcurrentStack spun {0} time(s).
+event_ConcurrentDictionary_AcquiringAllLocks=ConcurrentDictionary acquiring all locks on {0} bucket(s).
+event_ConcurrentBag_TryTakeSteals=ConcurrentBag stealing in TryTake.
+event_ConcurrentBag_TryPeekSteals=ConcurrentBag stealing in TryPeek.
+
+; CountdownEvent
+CountdownEvent_Decrement_BelowZero=Invalid attempt made to decrement the event's count below zero.
+CountdownEvent_Increment_AlreadyZero=The event is already signaled and cannot be incremented.
+CountdownEvent_Increment_AlreadyMax=The increment operation would cause the CurrentCount to overflow.
+
+; Parallel
+Parallel_Invoke_ActionNull=One of the actions was null.
+Parallel_ForEach_OrderedPartitionerKeysNotNormalized=This method requires the use of an OrderedPartitioner with the KeysNormalized property set to true.
+Parallel_ForEach_PartitionerNotDynamic=The Partitioner used here must support dynamic partitioning.
+Parallel_ForEach_PartitionerReturnedNull=The Partitioner used here returned a null partitioner source.
+Parallel_ForEach_NullEnumerator=The Partitioner source returned a null enumerator.
+
+; Semaphore
+Argument_SemaphoreInitialMaximum=The initial count for the semaphore must be greater than or equal to zero and less than the maximum count.
+
+; SemaphoreFullException
+Threading_SemaphoreFullException=Adding the specified count to the semaphore would cause it to exceed its maximum count.
+
+; Lazy
+Lazy_ctor_ValueSelectorNull=The valueSelector argument is null.
+Lazy_ctor_InfoNull=The info argument is null.
+Lazy_ctor_deserialization_ValueInvalid=The Value cannot be null.
+Lazy_ctor_ModeInvalid=The mode argument specifies an invalid value.
+Lazy_CreateValue_NoParameterlessCtorForT=The lazily-initialized type does not have a public, parameterless constructor.
+Lazy_StaticInit_InvalidOperation=ValueFactory returned null.
+Lazy_Value_RecursiveCallsToValue=ValueFactory attempted to access the Value property of this instance.
+Lazy_ToString_ValueNotCreated=Value is not created.
+
+
+;ThreadLocal
+ThreadLocal_Value_RecursiveCallsToValue=ValueFactory attempted to access the Value property of this instance.
+ThreadLocal_Disposed=The ThreadLocal object has been disposed.
+ThreadLocal_ValuesNotAvailable=The ThreadLocal object is not tracking values. To use the Values property, use a ThreadLocal constructor that accepts the trackAllValues parameter and set the parameter to true.
+
+; SemaphoreSlim
+SemaphoreSlim_ctor_InitialCountWrong=The initialCount argument must be non-negative and less than or equal to the maximumCount.
+SemaphoreSlim_ctor_MaxCountWrong=The maximumCount argument must be a positive number. If a maximum is not required, use the constructor without a maxCount parameter.
+SemaphoreSlim_Wait_TimeoutWrong=The timeout must represent a value between -1 and Int32.MaxValue, inclusive.
+SemaphoreSlim_Release_CountWrong=The releaseCount argument must be greater than zero.
+SemaphoreSlim_Disposed=The semaphore has been disposed.
+
+; ManualResetEventSlim
+ManualResetEventSlim_ctor_SpinCountOutOfRange=The spinCount argument must be in the range 0 to {0}, inclusive.
+ManualResetEventSlim_ctor_TooManyWaiters=There are too many threads currently waiting on the event. A maximum of {0} waiting threads are supported.
+ManualResetEventSlim_Disposed=The event has been disposed.
+
+; SpinLock
+SpinLock_TryEnter_ArgumentOutOfRange=The timeout must be a value between -1 and Int32.MaxValue, inclusive.
+SpinLock_TryEnter_LockRecursionException=The calling thread already holds the lock.
+SpinLock_TryReliableEnter_ArgumentException=The tookLock argument must be set to false before calling this method.
+SpinLock_Exit_SynchronizationLockException=The calling thread does not hold the lock.
+SpinLock_IsHeldByCurrentThread=Thread tracking is disabled.
+
+; SpinWait
+SpinWait_SpinUntil_TimeoutWrong=The timeout must represent a value between -1 and Int32.MaxValue, inclusive.
+SpinWait_SpinUntil_ArgumentNull=The condition argument is null.
+
+; CdsSyncEtwBCLProvider events
+event_SpinLock_FastPathFailed=SpinLock beginning to spin.
+event_SpinWait_NextSpinWillYield=Next spin will yield.
+event_Barrier_PhaseFinished=Barrier finishing phase {1}.
+
+#if PLATFORM_UNIX
+; Unix threading
+PlatformNotSupported_NamedSynchronizationPrimitives=Named synchronization primitives are not supported on this platform.
+#endif
+
+;
+; System.Threading.Tasks
+;
+
+; AsyncMethodBuilder
+AsyncMethodBuilder_InstanceNotInitialized=The builder was not properly initialized.
+
+; TaskAwaiter and YieldAwaitable
+AwaitableAwaiter_InstanceNotInitialized=The awaitable or awaiter was not properly initialized.
+TaskAwaiter_TaskNotCompleted=The awaited task has not yet completed.
+
+; Task<T>
+TaskT_SetException_HasAnInitializer=A task's Exception may only be set directly if the task was created without a function.
+TaskT_TransitionToFinal_AlreadyCompleted=An attempt was made to transition a task to a final state when it had already completed.
+TaskT_ctor_SelfReplicating=It is invalid to specify TaskCreationOptions.SelfReplicating for a Task<TResult>.
+TaskT_DebuggerNoResult={Not yet computed}
+
+; Task
+Task_ctor_LRandSR=(Internal)An attempt was made to create a LongRunning SelfReplicating task.
+Task_ThrowIfDisposed=The task has been disposed.
+Task_Dispose_NotCompleted=A task may only be disposed if it is in a completion state (RanToCompletion, Faulted or Canceled).
+Task_Start_Promise=Start may not be called on a promise-style task.
+Task_Start_AlreadyStarted=Start may not be called on a task that was already started.
+Task_Start_TaskCompleted=Start may not be called on a task that has completed.
+Task_Start_ContinuationTask=Start may not be called on a continuation task.
+Task_RunSynchronously_AlreadyStarted=RunSynchronously may not be called on a task that was already started.
+Task_RunSynchronously_TaskCompleted=RunSynchronously may not be called on a task that has already completed.
+Task_RunSynchronously_Promise=RunSynchronously may not be called on a task not bound to a delegate, such as the task returned from an asynchronous method.
+Task_RunSynchronously_Continuation=RunSynchronously may not be called on a continuation task.
+Task_ContinueWith_NotOnAnything=The specified TaskContinuationOptions excluded all continuation kinds.
+Task_ContinueWith_ESandLR=The specified TaskContinuationOptions combined LongRunning and ExecuteSynchronously. Synchronous continuations should not be long running.
+Task_MultiTaskContinuation_NullTask=The tasks argument included a null value.
+Task_MultiTaskContinuation_FireOptions=It is invalid to exclude specific continuation kinds for continuations off of multiple tasks.
+Task_MultiTaskContinuation_EmptyTaskList=The tasks argument contains no tasks.
+Task_FromAsync_TaskManagerShutDown=FromAsync was called with a TaskManager that had already shut down.
+Task_FromAsync_SelfReplicating=It is invalid to specify TaskCreationOptions.SelfReplicating in calls to FromAsync.
+Task_FromAsync_LongRunning=It is invalid to specify TaskCreationOptions.LongRunning in calls to FromAsync.
+Task_FromAsync_PreferFairness=It is invalid to specify TaskCreationOptions.PreferFairness in calls to FromAsync.
+Task_WaitMulti_NullTask=The tasks array included at least one null element.
+Task_Delay_InvalidMillisecondsDelay=The value needs to be either -1 (signifying an infinite timeout), 0 or a positive integer.
+Task_Delay_InvalidDelay=The value needs to translate in milliseconds to -1 (signifying an infinite timeout), 0 or a positive integer less than or equal to Int32.MaxValue.
+
+; TaskCanceledException
+TaskCanceledException_ctor_DefaultMessage=A task was canceled.
+
+;TaskCompletionSource<T>
+TaskCompletionSourceT_TrySetException_NullException=The exceptions collection included at least one null element.
+TaskCompletionSourceT_TrySetException_NoExceptions=The exceptions collection was empty.
+
+;TaskExceptionHolder
+TaskExceptionHolder_UnknownExceptionType=(Internal)Expected an Exception or an IEnumerable<Exception>
+TaskExceptionHolder_UnhandledException=A Task's exception(s) were not observed either by Waiting on the Task or accessing its Exception property. As a result, the unobserved exception was rethrown by the finalizer thread.
+
+; TaskScheduler
+TaskScheduler_ExecuteTask_TaskAlreadyExecuted=ExecuteTask may not be called for a task which was already executed.
+TaskScheduler_ExecuteTask_WrongTaskScheduler=ExecuteTask may not be called for a task which was previously queued to a different TaskScheduler.
+TaskScheduler_InconsistentStateAfterTryExecuteTaskInline=The TryExecuteTaskInline call to the underlying scheduler succeeded, but the task body was not invoked.
+TaskScheduler_FromCurrentSynchronizationContext_NoCurrent=The current SynchronizationContext may not be used as a TaskScheduler.
+
+; TaskSchedulerException
+TaskSchedulerException_ctor_DefaultMessage=An exception was thrown by a TaskScheduler.
+
+;
+; ParallelState ( used in Parallel.For(), Parallel.ForEach() )
+ParallelState_Break_InvalidOperationException_BreakAfterStop=Break was called after Stop was called.
+ParallelState_Stop_InvalidOperationException_StopAfterBreak=Stop was called after Break was called.
+ParallelState_NotSupportedException_UnsupportedMethod=This method is not supported.
+
+;
+; TPLETWProvider events
+event_ParallelLoopBegin=Beginning {3} loop {2} from Task {1}.
+event_ParallelLoopEnd=Ending loop {2} after {3} iterations.
+event_ParallelInvokeBegin=Beginning ParallelInvoke {2} from Task {1} for {4} actions.
+event_ParallelInvokeEnd=Ending ParallelInvoke {2}.
+event_ParallelFork=Task {1} entering fork/join {2}.
+event_ParallelJoin=Task {1} leaving fork/join {2}.
+event_TaskScheduled=Task {2} scheduled to TaskScheduler {0}.
+event_TaskStarted=Task {2} executing.
+event_TaskCompleted=Task {2} completed.
+event_TaskWaitBegin=Beginning wait ({3}) on Task {2}.
+event_TaskWaitEnd=Ending wait on Task {2}.
+
+
+;
+; Weak Reference Exception
+;
+WeakReference_NoLongerValid = The weak reference is no longer valid.
+
+
+;
+; Interop Exceptions
+;
+Interop.COM_TypeMismatch = Type mismatch between source and destination types.
+Interop_Marshal_Unmappable_Char = Cannot marshal: Encountered unmappable character.
+
+#if FEATURE_COMINTEROP_WINRT_DESKTOP_HOST
+WinRTHostDomainName = Windows Runtime Object Host Domain for '{0}'
+#endif
+
+;
+; Loader Exceptions
+;
+Loader_InvalidPath = Relative path must be a string that contains the substring, "..", or does not contain a root directory.
+Loader_Name = Name:
+Loader_NoContextPolicies = There are no context policies.
+Loader_ContextPolicies = Context Policies:
+
+;
+; AppDomain Exceptions
+AppDomain_RequireApplicationName = ApplicationName must be set before the DynamicBase can be set.
+AppDomain_AppBaseNotSet = The ApplicationBase must be set before retrieving this property.
+
+#if FEATURE_HOST_ASSEMBLY_RESOLVER
+AppDomain_BindingModelIsLocked = Binding model is already locked for the AppDomain and cannot be reset.
+Argument_CustomAssemblyLoadContextRequestedNameMismatch = Resolved assembly's simple name should be the same as of the requested assembly.
+#endif // FEATURE_HOST_ASSEMBLY_RESOLVER
+;
+; XMLSyntaxExceptions
+XMLSyntax_UnexpectedEndOfFile = Unexpected end of file.
+XMLSyntax_ExpectedCloseBracket = Expected > character.
+XMLSyntax_ExpectedSlashOrString = Expected / character or string.
+XMLSyntax_UnexpectedCloseBracket = Unexpected > character.
+XMLSyntax_SyntaxError = Invalid syntax on line {0}.
+XMLSyntax_SyntaxErrorEx = Invalid syntax on line {0} - '{1}'.
+XMLSyntax_InvalidSyntax = Invalid syntax.
+XML_Syntax_InvalidSyntaxInFile = Invalid XML in file '{0}' near element '{1}'.
+XMLSyntax_InvalidSyntaxSatAssemTag = Invalid XML in file "{0}" near element "{1}". The <satelliteassemblies> section only supports <assembly> tags.
+XMLSyntax_InvalidSyntaxSatAssemTagBadAttr = Invalid XML in file "{0}" near "{1}" and "{2}". In the <satelliteassemblies> section, the <assembly> tag must have exactly 1 attribute called 'name', whose value is a fully-qualified assembly name.
+XMLSyntax_InvalidSyntaxSatAssemTagNoAttr = Invalid XML in file "{0}". In the <satelliteassemblies> section, the <assembly> tag must have exactly 1 attribute called 'name', whose value is a fully-qualified assembly name.
+
+; CodeGroup
+#if FEATURE_CAS_POLICY
+NetCodeGroup_PermissionSet = Same site Web
+MergeLogic_Union = Union
+MergeLogic_FirstMatch = First Match
+FileCodeGroup_PermissionSet = Same directory FileIO - '{0}'
+#endif // FEATURE_CAS_POLICY
+
+; MembershipConditions
+StrongName_ToString = StrongName - {0}{1}{2}
+StrongName_Name = name = {0}
+StrongName_Version = version = {0}
+Site_ToString = Site
+Publisher_ToString = Publisher
+Hash_ToString = Hash - {0} = {1}
+ApplicationDirectory_ToString = ApplicationDirectory
+Zone_ToString = Zone - {0}
+All_ToString = All code
+Url_ToString = Url
+GAC_ToString = GAC
+#if FEATURE_CAS_POLICY
+Site_ToStringArg = Site - {0}
+Publisher_ToStringArg = Publisher - {0}
+Url_ToStringArg = Url - {0}
+#endif // FEATURE_CAS_POLICY
+
+
+; Interop non exception strings.
+TypeLibConverter_ImportedTypeLibProductName = Assembly imported from type library '{0}'.
+
+;
+; begin System.TimeZoneInfo ArgumentException's
+;
+Argument_AdjustmentRulesNoNulls = The AdjustmentRule array cannot contain null elements.
+Argument_AdjustmentRulesOutOfOrder = The elements of the AdjustmentRule array must be in chronological order and must not overlap.
+Argument_AdjustmentRulesAmbiguousOverlap = The elements of the AdjustmentRule array must not contain ambiguous time periods that extend beyond the DateStart or DateEnd properties of the element.
+Argument_AdjustmentRulesrDaylightSavingTimeOverlap = The elements of the AdjustmentRule array must not contain Daylight Saving Time periods that overlap adjacent elements in such a way as to cause invalid or ambiguous time periods.
+Argument_AdjustmentRulesrDaylightSavingTimeOverlapNonRuleRange = The elements of the AdjustmentRule array must not contain Daylight Saving Time periods that overlap the DateStart or DateEnd properties in such a way as to cause invalid or ambiguous time periods.
+Argument_AdjustmentRulesInvalidOverlap = The elements of the AdjustmentRule array must not contain invalid time periods that extend beyond the DateStart or DateEnd properties of the element.
+Argument_ConvertMismatch = The conversion could not be completed because the supplied DateTime did not have the Kind property set correctly. For example, when the Kind property is DateTimeKind.Local, the source time zone must be TimeZoneInfo.Local.
+Argument_DateTimeHasTimeOfDay = The supplied DateTime includes a TimeOfDay setting. This is not supported.
+Argument_DateTimeIsInvalid = The supplied DateTime represents an invalid time. For example, when the clock is adjusted forward, any time in the period that is skipped is invalid.
+Argument_DateTimeIsNotAmbiguous = The supplied DateTime is not in an ambiguous time range.
+Argument_DateTimeOffsetIsNotAmbiguous = The supplied DateTimeOffset is not in an ambiguous time range.
+Argument_DateTimeKindMustBeUnspecifiedOrUtc = The supplied DateTime must have the Kind property set to DateTimeKind.Unspecified or DateTimeKind.Utc.
+Argument_DateTimeHasTicks = The supplied DateTime must have the Year, Month, and Day properties set to 1. The time cannot be specified more precisely than whole milliseconds.
+Argument_InvalidId = The specified ID parameter '{0}' is not supported.
+Argument_InvalidSerializedString = The specified serialized string '{0}' is not supported.
+Argument_InvalidREG_TZI_FORMAT = The REG_TZI_FORMAT structure is corrupt.
+Argument_OutOfOrderDateTimes = The DateStart property must come before the DateEnd property.
+Argument_TimeSpanHasSeconds = The TimeSpan parameter cannot be specified more precisely than whole minutes.
+Argument_TimeZoneInfoBadTZif = The tzfile does not begin with the magic characters 'TZif'. Please verify that the file is not corrupt.
+Argument_TimeZoneInfoInvalidTZif = The TZif data structure is corrupt.
+Argument_TransitionTimesAreIdentical = The DaylightTransitionStart property must not equal the DaylightTransitionEnd property.
+;
+; begin System.TimeZoneInfo ArgumentOutOfRangeException's
+;
+ArgumentOutOfRange_DayParam = The Day parameter must be in the range 1 through 31.
+ArgumentOutOfRange_DayOfWeek = The DayOfWeek enumeration must be in the range 0 through 6.
+ArgumentOutOfRange_MonthParam = The Month parameter must be in the range 1 through 12.
+ArgumentOutOfRange_UtcOffset = The TimeSpan parameter must be within plus or minus 14.0 hours.
+ArgumentOutOfRange_UtcOffsetAndDaylightDelta = The sum of the BaseUtcOffset and DaylightDelta properties must within plus or minus 14.0 hours.
+ArgumentOutOfRange_Week = The Week parameter must be in the range 1 through 5.
+;
+; begin System.TimeZoneInfo InvalidTimeZoneException's
+;
+InvalidTimeZone_InvalidRegistryData = The time zone ID '{0}' was found on the local computer, but the registry information was corrupt.
+InvalidTimeZone_InvalidFileData = The time zone ID '{0}' was found on the local computer, but the file at '{1}' was corrupt.
+InvalidTimeZone_InvalidWin32APIData = The Local time zone was found on the local computer, but the data was corrupt.
+InvalidTimeZone_NoTTInfoStructures = There are no ttinfo structures in the tzfile. At least one ttinfo structure is required in order to construct a TimeZoneInfo object.
+InvalidTimeZone_UnparseablePosixMDateString = '{0}' is not a valid POSIX-TZ-environment-variable MDate rule. A valid rule has the format 'Mm.w.d'.
+InvalidTimeZone_JulianDayNotSupported = Julian dates in POSIX strings are unsupported.
+;
+; begin System.TimeZoneInfo SecurityException's
+;
+Security_CannotReadRegistryData = The time zone ID '{0}' was found on the local computer, but the application does not have permission to read the registry information.
+Security_CannotReadFileData = The time zone ID '{0}' was found on the local computer, but the application does not have permission to read the file.
+;
+; begin System.TimeZoneInfo SerializationException's
+;
+Serialization_CorruptField = The value of the field '{0}' is invalid. The serialized data is corrupt.
+Serialization_InvalidEscapeSequence = The serialized data contained an invalid escape sequence '\\{0}'.
+;
+; begin System.TimeZoneInfo TimeZoneNotFoundException's
+;
+TimeZoneNotFound_MissingData = The time zone ID '{0}' was not found on the local computer.
+;
+; end System.TimeZoneInfo
+;
+
+
+; Tuple
+ArgumentException_TupleIncorrectType=Argument must be of type {0}.
+ArgumentException_TupleNonIComparableElement=The tuple contains an element of type {0} which does not implement the IComparable interface.
+ArgumentException_TupleLastArgumentNotATuple=The last element of an eight element tuple must be a Tuple.
+ArgumentException_OtherNotArrayOfCorrectLength=Object is not a array with the same number of elements as the array to compare it to.
+
+; WinRT collection adapters
+Argument_IndexOutOfArrayBounds=The specified index is out of bounds of the specified array.
+Argument_InsufficientSpaceToCopyCollection=The specified space is not sufficient to copy the elements from this Collection.
+ArgumentOutOfRange_IndexLargerThanMaxValue=This collection cannot work with indices larger than Int32.MaxValue - 1 (0x7FFFFFFF - 1).
+ArgumentOutOfRange_IndexOutOfRange=The specified index is outside the current index range of this collection.
+InvalidOperation_CollectionBackingListTooLarge=The collection backing this List contains too many elements.
+InvalidOperation_CollectionBackingDictionaryTooLarge=The collection backing this Dictionary contains too many elements.
+InvalidOperation_CannotRemoveLastFromEmptyCollection=Cannot remove the last element from an empty collection.
+
+; Globalization resources
+;------------------
+
+#if !FEATURE_CORECLR
+Globalization.LegacyModifier = Legacy
+
+;
+;Total items: 809
+;
+Globalization.ci_ = Invariant Language (Invariant Country)
+Globalization.ci_aa = Afar
+Globalization.ci_aa-DJ = Afar (Djibouti)
+Globalization.ci_aa-ER = Afar (Eritrea)
+Globalization.ci_aa-ET = Afar (Ethiopia)
+Globalization.ci_af = Afrikaans
+Globalization.ci_af-NA = Afrikaans (Namibia)
+Globalization.ci_af-ZA = Afrikaans (South Africa)
+Globalization.ci_agq = Aghem
+Globalization.ci_agq-CM = Aghem (Cameroon)
+Globalization.ci_ak = Akan
+Globalization.ci_ak-GH = Akan (Ghana)
+Globalization.ci_am = Amharic
+Globalization.ci_am-ET = Amharic (Ethiopia)
+Globalization.ci_ar = Arabic
+Globalization.ci_ar-001 = Arabic (World)
+Globalization.ci_ar-AE = Arabic (U.A.E.)
+Globalization.ci_ar-BH = Arabic (Bahrain)
+Globalization.ci_ar-DJ = Arabic (Djibouti)
+Globalization.ci_ar-DZ = Arabic (Algeria)
+Globalization.ci_ar-EG = Arabic (Egypt)
+Globalization.ci_ar-ER = Arabic (Eritrea)
+Globalization.ci_ar-IL = Arabic (Israel)
+Globalization.ci_ar-IQ = Arabic (Iraq)
+Globalization.ci_ar-JO = Arabic (Jordan)
+Globalization.ci_ar-KM = Arabic (Comoros)
+Globalization.ci_ar-KW = Arabic (Kuwait)
+Globalization.ci_ar-LB = Arabic (Lebanon)
+Globalization.ci_ar-LY = Arabic (Libya)
+Globalization.ci_ar-MA = Arabic (Morocco)
+Globalization.ci_ar-MR = Arabic (Mauritania)
+Globalization.ci_ar-OM = Arabic (Oman)
+Globalization.ci_ar-PS = Arabic (Palestinian Authority)
+Globalization.ci_ar-QA = Arabic (Qatar)
+Globalization.ci_ar-SA = Arabic (Saudi Arabia)
+Globalization.ci_ar-SD = Arabic (Sudan)
+Globalization.ci_ar-SO = Arabic (Somalia)
+Globalization.ci_ar-SS = Arabic (South Sudan)
+Globalization.ci_ar-SY = Arabic (Syria)
+Globalization.ci_ar-TD = Arabic (Chad)
+Globalization.ci_ar-TN = Arabic (Tunisia)
+Globalization.ci_ar-YE = Arabic (Yemen)
+Globalization.ci_arn = Mapudungun
+Globalization.ci_arn-CL = Mapudungun (Chile)
+Globalization.ci_as = Assamese
+Globalization.ci_as-IN = Assamese (India)
+Globalization.ci_asa = Asu
+Globalization.ci_asa-TZ = Asu (Tanzania)
+Globalization.ci_ast = Asturian
+Globalization.ci_ast-ES = Asturian (Spain)
+Globalization.ci_az = Azerbaijani
+Globalization.ci_az-Cyrl = Azerbaijani (Cyrillic)
+Globalization.ci_az-Cyrl-AZ = Azerbaijani (Cyrillic, Azerbaijan)
+Globalization.ci_az-Latn = Azerbaijani (Latin)
+Globalization.ci_az-Latn-AZ = Azerbaijani (Latin, Azerbaijan)
+Globalization.ci_ba = Bashkir
+Globalization.ci_ba-RU = Bashkir (Russia)
+Globalization.ci_bas = Basaa
+Globalization.ci_bas-CM = Basaa (Cameroon)
+Globalization.ci_be = Belarusian
+Globalization.ci_be-BY = Belarusian (Belarus)
+Globalization.ci_bem = Bemba
+Globalization.ci_bem-ZM = Bemba (Zambia)
+Globalization.ci_bez = Bena
+Globalization.ci_bez-TZ = Bena (Tanzania)
+Globalization.ci_bg = Bulgarian
+Globalization.ci_bg-BG = Bulgarian (Bulgaria)
+Globalization.ci_bm = Bambara
+Globalization.ci_bm-Latn = Bambara (Latin)
+Globalization.ci_bm-Latn-ML = Bambara (Latin, Mali)
+Globalization.ci_bm-ML = Bamanankan (Latin, Mali)
+Globalization.ci_bn = Bangla
+Globalization.ci_bn-BD = Bangla (Bangladesh)
+Globalization.ci_bn-IN = Bangla (India)
+Globalization.ci_bo = Tibetan
+Globalization.ci_bo-CN = Tibetan (PRC)
+Globalization.ci_bo-IN = Tibetan (India)
+Globalization.ci_br = Breton
+Globalization.ci_br-FR = Breton (France)
+Globalization.ci_brx = Bodo
+Globalization.ci_brx-IN = Bodo (India)
+Globalization.ci_bs = Bosnian
+Globalization.ci_bs-Cyrl = Bosnian (Cyrillic)
+Globalization.ci_bs-Cyrl-BA = Bosnian (Cyrillic, Bosnia and Herzegovina)
+Globalization.ci_bs-Latn = Bosnian (Latin)
+Globalization.ci_bs-Latn-BA = Bosnian (Latin, Bosnia and Herzegovina)
+Globalization.ci_byn = Blin
+Globalization.ci_byn-ER = Blin (Eritrea)
+Globalization.ci_ca = Catalan
+Globalization.ci_ca-AD = Catalan (Andorra)
+Globalization.ci_ca-ES = Catalan (Catalan)
+Globalization.ci_ca-ES-valencia = Valencian (Spain)
+Globalization.ci_ca-FR = Catalan (France)
+Globalization.ci_ca-IT = Catalan (Italy)
+Globalization.ci_cgg = Chiga
+Globalization.ci_cgg-UG = Chiga (Uganda)
+Globalization.ci_chr = Cherokee
+Globalization.ci_chr-Cher = Cherokee (Cherokee)
+Globalization.ci_chr-Cher-US = Cherokee (Cherokee)
+Globalization.ci_co = Corsican
+Globalization.ci_co-FR = Corsican (France)
+Globalization.ci_cs = Czech
+Globalization.ci_cs-CZ = Czech (Czech Republic)
+Globalization.ci_cy = Welsh
+Globalization.ci_cy-GB = Welsh (United Kingdom)
+Globalization.ci_da = Danish
+Globalization.ci_da-DK = Danish (Denmark)
+Globalization.ci_da-GL = Danish (Greenland)
+Globalization.ci_dav = Taita
+Globalization.ci_dav-KE = Taita (Kenya)
+Globalization.ci_de = German
+Globalization.ci_de-AT = German (Austria)
+Globalization.ci_de-BE = German (Belgium)
+Globalization.ci_de-CH = German (Switzerland)
+Globalization.ci_de-DE = German (Germany)
+Globalization.ci_de-DE_phoneb = German (Germany)
+Globalization.ci_de-LI = German (Liechtenstein)
+Globalization.ci_de-LU = German (Luxembourg)
+Globalization.ci_dje = Zarma
+Globalization.ci_dje-NE = Zarma (Niger)
+Globalization.ci_dsb = Lower Sorbian
+Globalization.ci_dsb-DE = Lower Sorbian (Germany)
+Globalization.ci_dua = Duala
+Globalization.ci_dua-CM = Duala (Cameroon)
+Globalization.ci_dv = Divehi
+Globalization.ci_dv-MV = Divehi (Maldives)
+Globalization.ci_dyo = Jola-Fonyi
+Globalization.ci_dyo-SN = Jola-Fonyi (Senegal)
+Globalization.ci_dz = Dzongkha
+Globalization.ci_dz-BT = Dzongkha (Bhutan)
+Globalization.ci_ebu = Embu
+Globalization.ci_ebu-KE = Embu (Kenya)
+Globalization.ci_ee = Ewe
+Globalization.ci_ee-GH = Ewe (Ghana)
+Globalization.ci_ee-TG = Ewe (Togo)
+Globalization.ci_el = Greek
+Globalization.ci_el-CY = Greek (Cyprus)
+Globalization.ci_el-GR = Greek (Greece)
+Globalization.ci_en = English
+Globalization.ci_en-001 = English (World)
+Globalization.ci_en-029 = English (Caribbean)
+Globalization.ci_en-150 = English (Europe)
+Globalization.ci_en-AG = English (Antigua and Barbuda)
+Globalization.ci_en-AI = English (Anguilla)
+Globalization.ci_en-AS = English (American Samoa)
+Globalization.ci_en-AU = English (Australia)
+Globalization.ci_en-BB = English (Barbados)
+Globalization.ci_en-BE = English (Belgium)
+Globalization.ci_en-BM = English (Bermuda)
+Globalization.ci_en-BS = English (Bahamas)
+Globalization.ci_en-BW = English (Botswana)
+Globalization.ci_en-BZ = English (Belize)
+Globalization.ci_en-CA = English (Canada)
+Globalization.ci_en-CC = English (Cocos [Keeling] Islands)
+Globalization.ci_en-CK = English (Cook Islands)
+Globalization.ci_en-CM = English (Cameroon)
+Globalization.ci_en-CX = English (Christmas Island)
+Globalization.ci_en-DM = English (Dominica)
+Globalization.ci_en-ER = English (Eritrea)
+Globalization.ci_en-FJ = English (Fiji)
+Globalization.ci_en-FK = English (Falkland Islands)
+Globalization.ci_en-FM = English (Micronesia)
+Globalization.ci_en-GB = English (United Kingdom)
+Globalization.ci_en-GD = English (Grenada)
+Globalization.ci_en-GG = English (Guernsey)
+Globalization.ci_en-GH = English (Ghana)
+Globalization.ci_en-GI = English (Gibraltar)
+Globalization.ci_en-GM = English (Gambia)
+Globalization.ci_en-GU = English (Guam)
+Globalization.ci_en-GY = English (Guyana)
+Globalization.ci_en-HK = English (Hong Kong SAR)
+Globalization.ci_en-IE = English (Ireland)
+Globalization.ci_en-IM = English (Isle of Man)
+Globalization.ci_en-IN = English (India)
+Globalization.ci_en-IO = English (British Indian Ocean Territory)
+Globalization.ci_en-JE = English (Jersey)
+Globalization.ci_en-JM = English (Jamaica)
+Globalization.ci_en-KE = English (Kenya)
+Globalization.ci_en-KI = English (Kiribati)
+Globalization.ci_en-KN = English (Saint Kitts and Nevis)
+Globalization.ci_en-KY = English (Cayman Islands)
+Globalization.ci_en-LC = English (Saint Lucia)
+Globalization.ci_en-LR = English (Liberia)
+Globalization.ci_en-LS = English (Lesotho)
+Globalization.ci_en-MG = English (Madagascar)
+Globalization.ci_en-MH = English (Marshall Islands)
+Globalization.ci_en-MO = English (Macao SAR)
+Globalization.ci_en-MP = English (Northern Mariana Islands)
+Globalization.ci_en-MS = English (Montserrat)
+Globalization.ci_en-MT = English (Malta)
+Globalization.ci_en-MU = English (Mauritius)
+Globalization.ci_en-MW = English (Malawi)
+Globalization.ci_en-MY = English (Malaysia)
+Globalization.ci_en-NA = English (Namibia)
+Globalization.ci_en-NF = English (Norfolk Island)
+Globalization.ci_en-NG = English (Nigeria)
+Globalization.ci_en-NR = English (Nauru)
+Globalization.ci_en-NU = English (Niue)
+Globalization.ci_en-NZ = English (New Zealand)
+Globalization.ci_en-PG = English (Papua New Guinea)
+Globalization.ci_en-PH = English (Republic of the Philippines)
+Globalization.ci_en-PK = English (Pakistan)
+Globalization.ci_en-PN = English (Pitcairn Islands)
+Globalization.ci_en-PR = English (Puerto Rico)
+Globalization.ci_en-PW = English (Palau)
+Globalization.ci_en-RW = English (Rwanda)
+Globalization.ci_en-SB = English (Solomon Islands)
+Globalization.ci_en-SC = English (Seychelles)
+Globalization.ci_en-SD = English (Sudan)
+Globalization.ci_en-SG = English (Singapore)
+Globalization.ci_en-SH = English (St Helena, Ascension, Tristan da Cunha)
+Globalization.ci_en-SL = English (Sierra Leone)
+Globalization.ci_en-SS = English (South Sudan)
+Globalization.ci_en-SX = English (Sint Maarten)
+Globalization.ci_en-SZ = English (Swaziland)
+Globalization.ci_en-TC = English (Turks and Caicos Islands)
+Globalization.ci_en-TK = English (Tokelau)
+Globalization.ci_en-TO = English (Tonga)
+Globalization.ci_en-TT = English (Trinidad and Tobago)
+Globalization.ci_en-TV = English (Tuvalu)
+Globalization.ci_en-TZ = English (Tanzania)
+Globalization.ci_en-UG = English (Uganda)
+Globalization.ci_en-UM = English (US Minor Outlying Islands)
+Globalization.ci_en-US = English (United States)
+Globalization.ci_en-VC = English (Saint Vincent and the Grenadines)
+Globalization.ci_en-VG = English (British Virgin Islands)
+Globalization.ci_en-VI = English (US Virgin Islands)
+Globalization.ci_en-VU = English (Vanuatu)
+Globalization.ci_en-WS = English (Samoa)
+Globalization.ci_en-ZA = English (South Africa)
+Globalization.ci_en-ZM = English (Zambia)
+Globalization.ci_en-ZW = English (Zimbabwe)
+Globalization.ci_eo = Esperanto
+Globalization.ci_eo-001 = Esperanto (World)
+Globalization.ci_es = Spanish
+Globalization.ci_es-419 = Spanish (Latin America)
+Globalization.ci_es-AR = Spanish (Argentina)
+Globalization.ci_es-BO = Spanish (Bolivia)
+Globalization.ci_es-CL = Spanish (Chile)
+Globalization.ci_es-CO = Spanish (Colombia)
+Globalization.ci_es-CR = Spanish (Costa Rica)
+Globalization.ci_es-CU = Spanish (Cuba)
+Globalization.ci_es-DO = Spanish (Dominican Republic)
+Globalization.ci_es-EC = Spanish (Ecuador)
+Globalization.ci_es-ES = Spanish (Spain)
+Globalization.ci_es-ES_tradnl = Spanish (Spain)
+Globalization.ci_es-GQ = Spanish (Equatorial Guinea)
+Globalization.ci_es-GT = Spanish (Guatemala)
+Globalization.ci_es-HN = Spanish (Honduras)
+Globalization.ci_es-MX = Spanish (Mexico)
+Globalization.ci_es-NI = Spanish (Nicaragua)
+Globalization.ci_es-PA = Spanish (Panama)
+Globalization.ci_es-PE = Spanish (Peru)
+Globalization.ci_es-PH = Spanish (Philippines)
+Globalization.ci_es-PR = Spanish (Puerto Rico)
+Globalization.ci_es-PY = Spanish (Paraguay)
+Globalization.ci_es-SV = Spanish (El Salvador)
+Globalization.ci_es-US = Spanish (United States)
+Globalization.ci_es-UY = Spanish (Uruguay)
+Globalization.ci_es-VE = Spanish (Bolivarian Republic of Venezuela)
+Globalization.ci_et = Estonian
+Globalization.ci_et-EE = Estonian (Estonia)
+Globalization.ci_eu = Basque
+Globalization.ci_eu-ES = Basque (Basque)
+Globalization.ci_ewo = Ewondo
+Globalization.ci_ewo-CM = Ewondo (Cameroon)
+Globalization.ci_fa = Persian
+Globalization.ci_fa-AF = Persian (Afghanistan)
+Globalization.ci_fa-IR = Persian (Iran)
+Globalization.ci_ff = Fulah
+Globalization.ci_ff-CM = Fulah (Cameroon)
+Globalization.ci_ff-GN = Fulah (Guinea)
+Globalization.ci_ff-Latn = Fulah (Latin)
+Globalization.ci_ff-Latn-SN = Fulah (Latin, Senegal)
+Globalization.ci_ff-MR = Fulah (Mauritania)
+Globalization.ci_fi = Finnish
+Globalization.ci_fi-FI = Finnish (Finland)
+Globalization.ci_fil = Filipino
+Globalization.ci_fil-PH = Filipino (Philippines)
+Globalization.ci_fo = Faroese
+Globalization.ci_fo-FO = Faroese (Faroe Islands)
+Globalization.ci_fr = French
+Globalization.ci_fr-BE = French (Belgium)
+Globalization.ci_fr-BF = French (Burkina Faso)
+Globalization.ci_fr-BI = French (Burundi)
+Globalization.ci_fr-BJ = French (Benin)
+Globalization.ci_fr-BL = French (Saint Barthélemy)
+Globalization.ci_fr-CA = French (Canada)
+Globalization.ci_fr-CD = French (Congo DRC)
+Globalization.ci_fr-CF = French (Central African Republic)
+Globalization.ci_fr-CG = French (Congo)
+Globalization.ci_fr-CH = French (Switzerland)
+Globalization.ci_fr-CI = French (Côte d’Ivoire)
+Globalization.ci_fr-CM = French (Cameroon)
+Globalization.ci_fr-DJ = French (Djibouti)
+Globalization.ci_fr-DZ = French (Algeria)
+Globalization.ci_fr-FR = French (France)
+Globalization.ci_fr-GA = French (Gabon)
+Globalization.ci_fr-GF = French (French Guiana)
+Globalization.ci_fr-GN = French (Guinea)
+Globalization.ci_fr-GP = French (Guadeloupe)
+Globalization.ci_fr-GQ = French (Equatorial Guinea)
+Globalization.ci_fr-HT = French (Haiti)
+Globalization.ci_fr-KM = French (Comoros)
+Globalization.ci_fr-LU = French (Luxembourg)
+Globalization.ci_fr-MA = French (Morocco)
+Globalization.ci_fr-MC = French (Monaco)
+Globalization.ci_fr-MF = French (Saint Martin)
+Globalization.ci_fr-MG = French (Madagascar)
+Globalization.ci_fr-ML = French (Mali)
+Globalization.ci_fr-MQ = French (Martinique)
+Globalization.ci_fr-MR = French (Mauritania)
+Globalization.ci_fr-MU = French (Mauritius)
+Globalization.ci_fr-NC = French (New Caledonia)
+Globalization.ci_fr-NE = French (Niger)
+Globalization.ci_fr-PF = French (French Polynesia)
+Globalization.ci_fr-PM = French (Saint Pierre and Miquelon)
+Globalization.ci_fr-RE = French (Reunion)
+Globalization.ci_fr-RW = French (Rwanda)
+Globalization.ci_fr-SC = French (Seychelles)
+Globalization.ci_fr-SN = French (Senegal)
+Globalization.ci_fr-SY = French (Syria)
+Globalization.ci_fr-TD = French (Chad)
+Globalization.ci_fr-TG = French (Togo)
+Globalization.ci_fr-TN = French (Tunisia)
+Globalization.ci_fr-VU = French (Vanuatu)
+Globalization.ci_fr-WF = French (Wallis and Futuna)
+Globalization.ci_fr-YT = French (Mayotte)
+Globalization.ci_fur = Friulian
+Globalization.ci_fur-IT = Friulian (Italy)
+Globalization.ci_fy = Frisian
+Globalization.ci_fy-NL = Frisian (Netherlands)
+Globalization.ci_ga = Irish
+Globalization.ci_ga-IE = Irish (Ireland)
+Globalization.ci_gd = Scottish Gaelic
+Globalization.ci_gd-GB = Scottish Gaelic (United Kingdom)
+Globalization.ci_gl = Galician
+Globalization.ci_gl-ES = Galician (Galician)
+Globalization.ci_gn = Guarani
+Globalization.ci_gn-PY = Guarani (Paraguay)
+Globalization.ci_gsw = Alsatian
+Globalization.ci_gsw-CH = Alsatian (Switzerland)
+Globalization.ci_gsw-FR = Alsatian (France)
+Globalization.ci_gsw-LI = Alsatian (Liechtenstein)
+Globalization.ci_gu = Gujarati
+Globalization.ci_gu-IN = Gujarati (India)
+Globalization.ci_guz = Gusii
+Globalization.ci_guz-KE = Gusii (Kenya)
+Globalization.ci_gv = Manx
+Globalization.ci_gv-IM = Manx (Isle of Man)
+Globalization.ci_ha = Hausa
+Globalization.ci_ha-Latn = Hausa (Latin)
+Globalization.ci_ha-Latn-GH = Hausa (Latin, Ghana)
+Globalization.ci_ha-Latn-NE = Hausa (Latin, Niger)
+Globalization.ci_ha-Latn-NG = Hausa (Latin, Nigeria)
+Globalization.ci_haw = Hawaiian
+Globalization.ci_haw-US = Hawaiian (United States)
+Globalization.ci_he = Hebrew
+Globalization.ci_he-IL = Hebrew (Israel)
+Globalization.ci_hi = Hindi
+Globalization.ci_hi-IN = Hindi (India)
+Globalization.ci_hr = Croatian
+Globalization.ci_hr-BA = Croatian (Latin, Bosnia and Herzegovina)
+Globalization.ci_hr-HR = Croatian (Croatia)
+Globalization.ci_hsb = Upper Sorbian
+Globalization.ci_hsb-DE = Upper Sorbian (Germany)
+Globalization.ci_hu = Hungarian
+Globalization.ci_hu-HU = Hungarian (Hungary)
+Globalization.ci_hu-HU_technl = Hungarian (Hungary)
+Globalization.ci_hy = Armenian
+Globalization.ci_hy-AM = Armenian (Armenia)
+Globalization.ci_ia = Interlingua
+Globalization.ci_ia-001 = Interlingua (World)
+Globalization.ci_ia-FR = Interlingua (France)
+Globalization.ci_id = Indonesian
+Globalization.ci_id-ID = Indonesian (Indonesia)
+Globalization.ci_ig = Igbo
+Globalization.ci_ig-NG = Igbo (Nigeria)
+Globalization.ci_ii = Yi
+Globalization.ci_ii-CN = Yi (PRC)
+Globalization.ci_is = Icelandic
+Globalization.ci_is-IS = Icelandic (Iceland)
+Globalization.ci_it = Italian
+Globalization.ci_it-CH = Italian (Switzerland)
+Globalization.ci_it-IT = Italian (Italy)
+Globalization.ci_it-SM = Italian (San Marino)
+Globalization.ci_iu = Inuktitut
+Globalization.ci_iu-Cans = Inuktitut (Syllabics)
+Globalization.ci_iu-Cans-CA = Inuktitut (Syllabics, Canada)
+Globalization.ci_iu-Latn = Inuktitut (Latin)
+Globalization.ci_iu-Latn-CA = Inuktitut (Latin, Canada)
+Globalization.ci_ja = Japanese
+Globalization.ci_ja-JP = Japanese (Japan)
+Globalization.ci_ja-JP_radstr = Japanese (Japan)
+Globalization.ci_jgo = Ngomba
+Globalization.ci_jgo-CM = Ngomba (Cameroon)
+Globalization.ci_jmc = Machame
+Globalization.ci_jmc-TZ = Machame (Tanzania)
+Globalization.ci_jv = Javanese
+Globalization.ci_jv-Latn = Javanese
+Globalization.ci_jv-Latn-ID = Javanese (Indonesia)
+Globalization.ci_ka = Georgian
+Globalization.ci_ka-GE = Georgian (Georgia)
+Globalization.ci_ka-GE_modern = Georgian (Georgia)
+Globalization.ci_kab = Kabyle
+Globalization.ci_kab-DZ = Kabyle (Algeria)
+Globalization.ci_kam = Kamba
+Globalization.ci_kam-KE = Kamba (Kenya)
+Globalization.ci_kde = Makonde
+Globalization.ci_kde-TZ = Makonde (Tanzania)
+Globalization.ci_kea = Kabuverdianu
+Globalization.ci_kea-CV = Kabuverdianu (Cabo Verde)
+Globalization.ci_khq = Koyra Chiini
+Globalization.ci_khq-ML = Koyra Chiini (Mali)
+Globalization.ci_ki = Kikuyu
+Globalization.ci_ki-KE = Kikuyu (Kenya)
+Globalization.ci_kk = Kazakh
+Globalization.ci_kk-KZ = Kazakh (Kazakhstan)
+Globalization.ci_kkj = Kako
+Globalization.ci_kkj-CM = Kako (Cameroon)
+Globalization.ci_kl = Greenlandic
+Globalization.ci_kl-GL = Greenlandic (Greenland)
+Globalization.ci_kln = Kalenjin
+Globalization.ci_kln-KE = Kalenjin (Kenya)
+Globalization.ci_km = Khmer
+Globalization.ci_km-KH = Khmer (Cambodia)
+Globalization.ci_kn = Kannada
+Globalization.ci_kn-IN = Kannada (India)
+Globalization.ci_ko = Korean
+Globalization.ci_ko-KR = Korean (Korea)
+Globalization.ci_kok = Konkani
+Globalization.ci_kok-IN = Konkani (India)
+Globalization.ci_ks = Kashmiri
+Globalization.ci_ks-Arab = Kashmiri (Perso-Arabic)
+Globalization.ci_ks-Arab-IN = Kashmiri (Perso-Arabic)
+Globalization.ci_ksb = Shambala
+Globalization.ci_ksb-TZ = Shambala (Tanzania)
+Globalization.ci_ksf = Bafia
+Globalization.ci_ksf-CM = Bafia (Cameroon)
+Globalization.ci_ksh = Colognian
+Globalization.ci_ksh-DE = Ripuarian (Germany)
+Globalization.ci_ku = Central Kurdish
+Globalization.ci_ku-Arab = Central Kurdish (Arabic)
+Globalization.ci_ku-Arab-IQ = Central Kurdish (Iraq)
+Globalization.ci_kw = Cornish
+Globalization.ci_kw-GB = Cornish (United Kingdom)
+Globalization.ci_ky = Kyrgyz
+Globalization.ci_ky-KG = Kyrgyz (Kyrgyzstan)
+Globalization.ci_lag = Langi
+Globalization.ci_lag-TZ = Langi (Tanzania)
+Globalization.ci_lb = Luxembourgish
+Globalization.ci_lb-LU = Luxembourgish (Luxembourg)
+Globalization.ci_lg = Ganda
+Globalization.ci_lg-UG = Ganda (Uganda)
+Globalization.ci_lkt = Lakota
+Globalization.ci_lkt-US = Lakota (United States)
+Globalization.ci_ln = Lingala
+Globalization.ci_ln-AO = Lingala (Angola)
+Globalization.ci_ln-CD = Lingala (Congo DRC)
+Globalization.ci_ln-CF = Lingala (Central African Republic)
+Globalization.ci_ln-CG = Lingala (Congo)
+Globalization.ci_lo = Lao
+Globalization.ci_lo-LA = Lao (Lao P.D.R.)
+Globalization.ci_lt = Lithuanian
+Globalization.ci_lt-LT = Lithuanian (Lithuania)
+Globalization.ci_lu = Luba-Katanga
+Globalization.ci_lu-CD = Luba-Katanga (Congo DRC)
+Globalization.ci_luo = Luo
+Globalization.ci_luo-KE = Luo (Kenya)
+Globalization.ci_luy = Luyia
+Globalization.ci_luy-KE = Luyia (Kenya)
+Globalization.ci_lv = Latvian
+Globalization.ci_lv-LV = Latvian (Latvia)
+Globalization.ci_mas = Masai
+Globalization.ci_mas-KE = Masai (Kenya)
+Globalization.ci_mas-TZ = Masai (Tanzania)
+Globalization.ci_mer = Meru
+Globalization.ci_mer-KE = Meru (Kenya)
+Globalization.ci_mfe = Morisyen
+Globalization.ci_mfe-MU = Morisyen (Mauritius)
+Globalization.ci_mg = Malagasy
+Globalization.ci_mg-MG = Malagasy (Madagascar)
+Globalization.ci_mgh = Makhuwa-Meetto
+Globalization.ci_mgh-MZ = Makhuwa-Meetto (Mozambique)
+Globalization.ci_mgo = Meta'
+Globalization.ci_mgo-CM = Meta' (Cameroon)
+Globalization.ci_mi = Maori
+Globalization.ci_mi-NZ = Maori (New Zealand)
+Globalization.ci_mk = Macedonian (FYROM)
+Globalization.ci_mk-MK = Macedonian (Former Yugoslav Republic of Macedonia)
+Globalization.ci_ml = Malayalam
+Globalization.ci_ml-IN = Malayalam (India)
+Globalization.ci_mn = Mongolian
+Globalization.ci_mn-Cyrl = Mongolian (Cyrillic)
+Globalization.ci_mn-MN = Mongolian (Cyrillic, Mongolia)
+Globalization.ci_mn-Mong = Mongolian (Traditional Mongolian)
+Globalization.ci_mn-Mong-CN = Mongolian (Traditional Mongolian, PRC)
+Globalization.ci_mn-Mong-MN = Mongolian (Traditional Mongolian, Mongolia)
+Globalization.ci_moh = Mohawk
+Globalization.ci_moh-CA = Mohawk (Mohawk)
+Globalization.ci_mr = Marathi
+Globalization.ci_mr-IN = Marathi (India)
+Globalization.ci_ms = Malay
+Globalization.ci_ms-BN = Malay (Brunei Darussalam)
+Globalization.ci_ms-MY = Malay (Malaysia)
+Globalization.ci_ms-SG = Malay (Latin, Singapore)
+Globalization.ci_mt = Maltese
+Globalization.ci_mt-MT = Maltese (Malta)
+Globalization.ci_mua = Mundang
+Globalization.ci_mua-CM = Mundang (Cameroon)
+Globalization.ci_my = Burmese
+Globalization.ci_my-MM = Burmese (Myanmar)
+Globalization.ci_naq = Nama
+Globalization.ci_naq-NA = Nama (Namibia)
+Globalization.ci_nb = Norwegian (Bokmål)
+Globalization.ci_nb-NO = Norwegian, Bokmål (Norway)
+Globalization.ci_nb-SJ = Norwegian, Bokmål (Svalbard and Jan Mayen)
+Globalization.ci_nd = North Ndebele
+Globalization.ci_nd-ZW = North Ndebele (Zimbabwe)
+Globalization.ci_ne = Nepali
+Globalization.ci_ne-IN = Nepali (India)
+Globalization.ci_ne-NP = Nepali (Nepal)
+Globalization.ci_nl = Dutch
+Globalization.ci_nl-AW = Dutch (Aruba)
+Globalization.ci_nl-BE = Dutch (Belgium)
+Globalization.ci_nl-BQ = Dutch (Bonaire, Sint Eustatius and Saba)
+Globalization.ci_nl-CW = Dutch (Curaçao)
+Globalization.ci_nl-NL = Dutch (Netherlands)
+Globalization.ci_nl-SR = Dutch (Suriname)
+Globalization.ci_nl-SX = Dutch (Sint Maarten)
+Globalization.ci_nmg = Kwasio
+Globalization.ci_nmg-CM = Kwasio (Cameroon)
+Globalization.ci_nn = Norwegian (Nynorsk)
+Globalization.ci_nn-NO = Norwegian, Nynorsk (Norway)
+Globalization.ci_nnh = Ngiemboon
+Globalization.ci_nnh-CM = Ngiemboon (Cameroon)
+Globalization.ci_no = Norwegian
+Globalization.ci_nqo = N'ko
+Globalization.ci_nqo-GN = N'ko (Guinea)
+Globalization.ci_nr = South Ndebele
+Globalization.ci_nr-ZA = South Ndebele (South Africa)
+Globalization.ci_nso = Sesotho sa Leboa
+Globalization.ci_nso-ZA = Sesotho sa Leboa (South Africa)
+Globalization.ci_nus = Nuer
+Globalization.ci_nus-SD = Nuer (Sudan)
+Globalization.ci_nyn = Nyankole
+Globalization.ci_nyn-UG = Nyankole (Uganda)
+Globalization.ci_oc = Occitan
+Globalization.ci_oc-FR = Occitan (France)
+Globalization.ci_om = Oromo
+Globalization.ci_om-ET = Oromo (Ethiopia)
+Globalization.ci_om-KE = Oromo (Kenya)
+Globalization.ci_or = Odia
+Globalization.ci_or-IN = Odia (India)
+Globalization.ci_os = Ossetic
+Globalization.ci_os-GE = Ossetian (Cyrillic, Georgia)
+Globalization.ci_os-RU = Ossetian (Cyrillic, Russia)
+Globalization.ci_pa = Punjabi
+Globalization.ci_pa-Arab = Punjabi (Arabic)
+Globalization.ci_pa-Arab-PK = Punjabi (Islamic Republic of Pakistan)
+Globalization.ci_pa-IN = Punjabi (India)
+Globalization.ci_pl = Polish
+Globalization.ci_pl-PL = Polish (Poland)
+Globalization.ci_prs = Dari
+Globalization.ci_prs-AF = Dari (Afghanistan)
+Globalization.ci_ps = Pashto
+Globalization.ci_ps-AF = Pashto (Afghanistan)
+Globalization.ci_pt = Portuguese
+Globalization.ci_pt-AO = Portuguese (Angola)
+Globalization.ci_pt-BR = Portuguese (Brazil)
+Globalization.ci_pt-CV = Portuguese (Cabo Verde)
+Globalization.ci_pt-GW = Portuguese (Guinea-Bissau)
+Globalization.ci_pt-MO = Portuguese (Macao SAR)
+Globalization.ci_pt-MZ = Portuguese (Mozambique)
+Globalization.ci_pt-PT = Portuguese (Portugal)
+Globalization.ci_pt-ST = Portuguese (São Tomé and Príncipe)
+Globalization.ci_pt-TL = Portuguese (Timor-Leste)
+Globalization.ci_qps-ploc = Pseudo Language (Pseudo)
+Globalization.ci_qps-ploca = Pseudo Language (Pseudo Asia)
+Globalization.ci_qps-plocm = Pseudo Language (Pseudo Mirrored)
+Globalization.ci_qu = Quechua
+Globalization.ci_qu-BO = Quechua (Bolivia)
+Globalization.ci_qu-EC = Quechua (Ecuador)
+Globalization.ci_qu-PE = Quechua (Peru)
+Globalization.ci_quc = K'iche'
+Globalization.ci_quc-Latn = K'iche'
+Globalization.ci_quc-Latn-GT = K'iche' (Guatemala)
+Globalization.ci_qut = K'iche
+Globalization.ci_qut-GT = K'iche (Guatemala)
+Globalization.ci_quz = Quechua
+Globalization.ci_quz-BO = Quechua (Bolivia)
+Globalization.ci_quz-EC = Quechua (Ecuador)
+Globalization.ci_quz-PE = Quechua (Peru)
+Globalization.ci_rm = Romansh
+Globalization.ci_rm-CH = Romansh (Switzerland)
+Globalization.ci_rn = Rundi
+Globalization.ci_rn-BI = Rundi (Burundi)
+Globalization.ci_ro = Romanian
+Globalization.ci_ro-MD = Romanian (Moldova)
+Globalization.ci_ro-RO = Romanian (Romania)
+Globalization.ci_rof = Rombo
+Globalization.ci_rof-TZ = Rombo (Tanzania)
+Globalization.ci_ru = Russian
+Globalization.ci_ru-BY = Russian (Belarus)
+Globalization.ci_ru-KG = Russian (Kyrgyzstan)
+Globalization.ci_ru-KZ = Russian (Kazakhstan)
+Globalization.ci_ru-MD = Russian (Moldova)
+Globalization.ci_ru-RU = Russian (Russia)
+Globalization.ci_ru-UA = Russian (Ukraine)
+Globalization.ci_rw = Kinyarwanda
+Globalization.ci_rw-RW = Kinyarwanda (Rwanda)
+Globalization.ci_rwk = Rwa
+Globalization.ci_rwk-TZ = Rwa (Tanzania)
+Globalization.ci_sa = Sanskrit
+Globalization.ci_sa-IN = Sanskrit (India)
+Globalization.ci_sah = Sakha
+Globalization.ci_sah-RU = Sakha (Russia)
+Globalization.ci_saq = Samburu
+Globalization.ci_saq-KE = Samburu (Kenya)
+Globalization.ci_sbp = Sangu
+Globalization.ci_sbp-TZ = Sangu (Tanzania)
+Globalization.ci_sd = Sindhi
+Globalization.ci_sd-Arab = Sindhi (Arabic)
+Globalization.ci_sd-Arab-PK = Sindhi (Islamic Republic of Pakistan)
+Globalization.ci_se = Sami (Northern)
+Globalization.ci_se-FI = Sami, Northern (Finland)
+Globalization.ci_se-NO = Sami, Northern (Norway)
+Globalization.ci_se-SE = Sami, Northern (Sweden)
+Globalization.ci_seh = Sena
+Globalization.ci_seh-MZ = Sena (Mozambique)
+Globalization.ci_ses = Koyraboro Senni
+Globalization.ci_ses-ML = Koyraboro Senni (Mali)
+Globalization.ci_sg = Sango
+Globalization.ci_sg-CF = Sango (Central African Republic)
+Globalization.ci_shi = Tachelhit
+Globalization.ci_shi-Latn = Tachelhit (Latin)
+Globalization.ci_shi-Latn-MA = Tachelhit (Latin, Morocco)
+Globalization.ci_shi-Tfng = Tachelhit (Tifinagh)
+Globalization.ci_shi-Tfng-MA = Tachelhit (Tifinagh, Morocco)
+Globalization.ci_si = Sinhala
+Globalization.ci_si-LK = Sinhala (Sri Lanka)
+Globalization.ci_sk = Slovak
+Globalization.ci_sk-SK = Slovak (Slovakia)
+Globalization.ci_sl = Slovenian
+Globalization.ci_sl-SI = Slovenian (Slovenia)
+Globalization.ci_sma = Sami (Southern)
+Globalization.ci_sma-NO = Sami, Southern (Norway)
+Globalization.ci_sma-SE = Sami, Southern (Sweden)
+Globalization.ci_smj = Sami (Lule)
+Globalization.ci_smj-NO = Sami, Lule (Norway)
+Globalization.ci_smj-SE = Sami, Lule (Sweden)
+Globalization.ci_smn = Sami (Inari)
+Globalization.ci_smn-FI = Sami, Inari (Finland)
+Globalization.ci_sms = Sami (Skolt)
+Globalization.ci_sms-FI = Sami, Skolt (Finland)
+Globalization.ci_sn = Shona
+Globalization.ci_sn-Latn = Shona (Latin)
+Globalization.ci_sn-Latn-ZW = Shona (Latin, Zimbabwe)
+Globalization.ci_so = Somali
+Globalization.ci_so-DJ = Somali (Djibouti)
+Globalization.ci_so-ET = Somali (Ethiopia)
+Globalization.ci_so-KE = Somali (Kenya)
+Globalization.ci_so-SO = Somali (Somalia)
+Globalization.ci_sq = Albanian
+Globalization.ci_sq-AL = Albanian (Albania)
+Globalization.ci_sq-MK = Albanian (Macedonia, FYRO)
+Globalization.ci_sr = Serbian
+Globalization.ci_sr-Cyrl = Serbian (Cyrillic)
+Globalization.ci_sr-Cyrl-BA = Serbian (Cyrillic, Bosnia and Herzegovina)
+Globalization.ci_sr-Cyrl-CS = Serbian (Cyrillic, Serbia and Montenegro (Former))
+Globalization.ci_sr-Cyrl-ME = Serbian (Cyrillic, Montenegro)
+Globalization.ci_sr-Cyrl-RS = Serbian (Cyrillic, Serbia)
+Globalization.ci_sr-Latn = Serbian (Latin)
+Globalization.ci_sr-Latn-BA = Serbian (Latin, Bosnia and Herzegovina)
+Globalization.ci_sr-Latn-CS = Serbian (Latin, Serbia and Montenegro (Former))
+Globalization.ci_sr-Latn-ME = Serbian (Latin, Montenegro)
+Globalization.ci_sr-Latn-RS = Serbian (Latin, Serbia)
+Globalization.ci_ss = Swati
+Globalization.ci_ss-SZ = Swati (Swaziland)
+Globalization.ci_ss-ZA = Swati (South Africa)
+Globalization.ci_ssy = Saho
+Globalization.ci_ssy-ER = Saho (Eritrea)
+Globalization.ci_st = Southern Sotho
+Globalization.ci_st-LS = Sesotho (Lesotho)
+Globalization.ci_st-ZA = Southern Sotho (South Africa)
+Globalization.ci_sv = Swedish
+Globalization.ci_sv-AX = Swedish (Åland Islands)
+Globalization.ci_sv-FI = Swedish (Finland)
+Globalization.ci_sv-SE = Swedish (Sweden)
+Globalization.ci_sw = Kiswahili
+Globalization.ci_sw-KE = Kiswahili (Kenya)
+Globalization.ci_sw-TZ = Kiswahili (Tanzania)
+Globalization.ci_sw-UG = Kiswahili (Uganda)
+Globalization.ci_swc = Congo Swahili
+Globalization.ci_swc-CD = Congo Swahili (Congo DRC)
+Globalization.ci_syr = Syriac
+Globalization.ci_syr-SY = Syriac (Syria)
+Globalization.ci_ta = Tamil
+Globalization.ci_ta-IN = Tamil (India)
+Globalization.ci_ta-LK = Tamil (Sri Lanka)
+Globalization.ci_ta-MY = Tamil (Malaysia)
+Globalization.ci_ta-SG = Tamil (Singapore)
+Globalization.ci_te = Telugu
+Globalization.ci_te-IN = Telugu (India)
+Globalization.ci_teo = Teso
+Globalization.ci_teo-KE = Teso (Kenya)
+Globalization.ci_teo-UG = Teso (Uganda)
+Globalization.ci_tg = Tajik
+Globalization.ci_tg-Cyrl = Tajik (Cyrillic)
+Globalization.ci_tg-Cyrl-TJ = Tajik (Cyrillic, Tajikistan)
+Globalization.ci_th = Thai
+Globalization.ci_th-TH = Thai (Thailand)
+Globalization.ci_ti = Tigrinya
+Globalization.ci_ti-ER = Tigrinya (Eritrea)
+Globalization.ci_ti-ET = Tigrinya (Ethiopia)
+Globalization.ci_tig = Tigre
+Globalization.ci_tig-ER = Tigre (Eritrea)
+Globalization.ci_tk = Turkmen
+Globalization.ci_tk-TM = Turkmen (Turkmenistan)
+Globalization.ci_tn = Setswana
+Globalization.ci_tn-BW = Setswana (Botswana)
+Globalization.ci_tn-ZA = Setswana (South Africa)
+Globalization.ci_to = Tongan
+Globalization.ci_to-TO = Tongan (Tonga)
+Globalization.ci_tr = Turkish
+Globalization.ci_tr-CY = Turkish (Cyprus)
+Globalization.ci_tr-TR = Turkish (Turkey)
+Globalization.ci_ts = Tsonga
+Globalization.ci_ts-ZA = Tsonga (South Africa)
+Globalization.ci_tt = Tatar
+Globalization.ci_tt-RU = Tatar (Russia)
+Globalization.ci_twq = Tasawaq
+Globalization.ci_twq-NE = Tasawaq (Niger)
+Globalization.ci_tzm = Tamazight
+Globalization.ci_tzm-Latn = Tamazight (Latin)
+Globalization.ci_tzm-Latn-DZ = Tamazight (Latin, Algeria)
+Globalization.ci_tzm-Latn-MA = Central Atlas Tamazight (Latin, Morocco)
+Globalization.ci_tzm-Tfng = Tamazight (Tifinagh)
+Globalization.ci_tzm-Tfng-MA = Central Atlas Tamazight (Tifinagh, Morocco)
+Globalization.ci_ug = Uyghur
+Globalization.ci_ug-CN = Uyghur (PRC)
+Globalization.ci_uk = Ukrainian
+Globalization.ci_uk-UA = Ukrainian (Ukraine)
+Globalization.ci_ur = Urdu
+Globalization.ci_ur-IN = Urdu (India)
+Globalization.ci_ur-PK = Urdu (Islamic Republic of Pakistan)
+Globalization.ci_uz = Uzbek
+Globalization.ci_uz-Arab = Uzbek (Perso-Arabic)
+Globalization.ci_uz-Arab-AF = Uzbek (Perso-Arabic, Afghanistan)
+Globalization.ci_uz-Cyrl = Uzbek (Cyrillic)
+Globalization.ci_uz-Cyrl-UZ = Uzbek (Cyrillic, Uzbekistan)
+Globalization.ci_uz-Latn = Uzbek (Latin)
+Globalization.ci_uz-Latn-UZ = Uzbek (Latin, Uzbekistan)
+Globalization.ci_vai = Vai
+Globalization.ci_vai-Latn = Vai (Latin)
+Globalization.ci_vai-Latn-LR = Vai (Latin, Liberia)
+Globalization.ci_vai-Vaii = Vai (Vai)
+Globalization.ci_vai-Vaii-LR = Vai (Vai, Liberia)
+Globalization.ci_ve = Venda
+Globalization.ci_ve-ZA = Venda (South Africa)
+Globalization.ci_vi = Vietnamese
+Globalization.ci_vi-VN = Vietnamese (Vietnam)
+Globalization.ci_vo = Volapük
+Globalization.ci_vo-001 = Volapük (World)
+Globalization.ci_vun = Vunjo
+Globalization.ci_vun-TZ = Vunjo (Tanzania)
+Globalization.ci_wae = Walser
+Globalization.ci_wae-CH = Walser (Switzerland)
+Globalization.ci_wal = Wolaytta
+Globalization.ci_wal-ET = Wolaytta (Ethiopia)
+Globalization.ci_wo = Wolof
+Globalization.ci_wo-SN = Wolof (Senegal)
+Globalization.ci_x-IV = Invariant Language (Invariant Country)
+Globalization.ci_x-IV_mathan = Invariant Language (Invariant Country)
+Globalization.ci_xh = isiXhosa
+Globalization.ci_xh-ZA = isiXhosa (South Africa)
+Globalization.ci_xog = Soga
+Globalization.ci_xog-UG = Soga (Uganda)
+Globalization.ci_yav = Yangben
+Globalization.ci_yav-CM = Yangben (Cameroon)
+Globalization.ci_yi = Yiddish
+Globalization.ci_yi-001 = Yiddish (World)
+Globalization.ci_yo = Yoruba
+Globalization.ci_yo-BJ = Yoruba (Benin)
+Globalization.ci_yo-NG = Yoruba (Nigeria)
+Globalization.ci_zgh = Standard Moroccan Tamazight
+Globalization.ci_zgh-Tfng = Standard Moroccan Tamazight (Tifinagh)
+Globalization.ci_zgh-Tfng-MA = Standard Moroccan Tamazight (Tifinagh, Morocco)
+Globalization.ci_zh = Chinese
+Globalization.ci_zh-CHS = Chinese (Simplified) Legacy
+Globalization.ci_zh-CHT = Chinese (Traditional) Legacy
+Globalization.ci_zh-CN = Chinese (Simplified, PRC)
+Globalization.ci_zh-CN_stroke = Chinese (Simplified, PRC)
+Globalization.ci_zh-Hans = Chinese (Simplified)
+Globalization.ci_zh-Hant = Chinese (Traditional)
+Globalization.ci_zh-HK = Chinese (Traditional, Hong Kong S.A.R.)
+Globalization.ci_zh-HK_radstr = Chinese (Traditional, Hong Kong S.A.R.)
+Globalization.ci_zh-MO = Chinese (Traditional, Macao S.A.R.)
+Globalization.ci_zh-MO_radstr = Chinese (Traditional, Macao S.A.R.)
+Globalization.ci_zh-MO_stroke = Chinese (Traditional, Macao S.A.R.)
+Globalization.ci_zh-SG = Chinese (Simplified, Singapore)
+Globalization.ci_zh-SG_stroke = Chinese (Simplified, Singapore)
+Globalization.ci_zh-TW = Chinese (Traditional, Taiwan)
+Globalization.ci_zh-TW_pronun = Chinese (Traditional, Taiwan)
+Globalization.ci_zh-TW_radstr = Chinese (Traditional, Taiwan)
+Globalization.ci_zu = isiZulu
+Globalization.ci_zu-ZA = isiZulu (South Africa)
+;------------------
+;
+;Total items: 129
+;
+Globalization.ri_029 = Caribbean
+Globalization.ri_AE = U.A.E.
+Globalization.ri_AF = Afghanistan
+Globalization.ri_AL = Albania
+Globalization.ri_AM = Armenia
+Globalization.ri_AR = Argentina
+Globalization.ri_AT = Austria
+Globalization.ri_AU = Australia
+Globalization.ri_AZ = Azerbaijan
+Globalization.ri_BA = Bosnia and Herzegovina
+Globalization.ri_BD = Bangladesh
+Globalization.ri_BE = Belgium
+Globalization.ri_BG = Bulgaria
+Globalization.ri_BH = Bahrain
+Globalization.ri_BN = Brunei Darussalam
+Globalization.ri_BO = Bolivia
+Globalization.ri_BR = Brazil
+Globalization.ri_BY = Belarus
+Globalization.ri_BZ = Belize
+Globalization.ri_CA = Canada
+Globalization.ri_CH = Switzerland
+Globalization.ri_CL = Chile
+Globalization.ri_CN = People's Republic of China
+Globalization.ri_CO = Colombia
+Globalization.ri_CR = Costa Rica
+Globalization.ri_CS = Serbia and Montenegro (Former)
+Globalization.ri_CZ = Czech Republic
+Globalization.ri_DE = Germany
+Globalization.ri_DK = Denmark
+Globalization.ri_DO = Dominican Republic
+Globalization.ri_DZ = Algeria
+Globalization.ri_EC = Ecuador
+Globalization.ri_EE = Estonia
+Globalization.ri_EG = Egypt
+Globalization.ri_ER = Eritrea
+Globalization.ri_ES = Spain
+Globalization.ri_ET = Ethiopia
+Globalization.ri_FI = Finland
+Globalization.ri_FO = Faroe Islands
+Globalization.ri_FR = France
+Globalization.ri_GB = United Kingdom
+Globalization.ri_GE = Georgia
+Globalization.ri_GL = Greenland
+Globalization.ri_GR = Greece
+Globalization.ri_GT = Guatemala
+Globalization.ri_HK = Hong Kong S.A.R.
+Globalization.ri_HN = Honduras
+Globalization.ri_HR = Croatia
+Globalization.ri_HU = Hungary
+Globalization.ri_ID = Indonesia
+Globalization.ri_IE = Ireland
+Globalization.ri_IL = Israel
+Globalization.ri_IN = India
+Globalization.ri_IQ = Iraq
+Globalization.ri_IR = Iran
+Globalization.ri_IS = Iceland
+Globalization.ri_IT = Italy
+Globalization.ri_IV = Invariant Country
+Globalization.ri_JM = Jamaica
+Globalization.ri_JO = Jordan
+Globalization.ri_JP = Japan
+Globalization.ri_KE = Kenya
+Globalization.ri_KG = Kyrgyzstan
+Globalization.ri_KH = Cambodia
+Globalization.ri_KR = Korea
+Globalization.ri_KW = Kuwait
+Globalization.ri_KZ = Kazakhstan
+Globalization.ri_LA = Lao P.D.R.
+Globalization.ri_LB = Lebanon
+Globalization.ri_LI = Liechtenstein
+Globalization.ri_LK = Sri Lanka
+Globalization.ri_LT = Lithuania
+Globalization.ri_LU = Luxembourg
+Globalization.ri_LV = Latvia
+Globalization.ri_LY = Libya
+Globalization.ri_MA = Morocco
+Globalization.ri_MC = Principality of Monaco
+Globalization.ri_ME = Montenegro
+Globalization.ri_MK = Macedonia (FYROM)
+Globalization.ri_MN = Mongolia
+Globalization.ri_MO = Macao S.A.R.
+Globalization.ri_MT = Malta
+Globalization.ri_MV = Maldives
+Globalization.ri_MX = Mexico
+Globalization.ri_MY = Malaysia
+Globalization.ri_NG = Nigeria
+Globalization.ri_NI = Nicaragua
+Globalization.ri_NL = Netherlands
+Globalization.ri_NO = Norway
+Globalization.ri_NP = Nepal
+Globalization.ri_NZ = New Zealand
+Globalization.ri_OM = Oman
+Globalization.ri_PA = Panama
+Globalization.ri_PE = Peru
+Globalization.ri_PH = Philippines
+Globalization.ri_PK = Islamic Republic of Pakistan
+Globalization.ri_PL = Poland
+Globalization.ri_PR = Puerto Rico
+Globalization.ri_PT = Portugal
+Globalization.ri_PY = Paraguay
+Globalization.ri_QA = Qatar
+Globalization.ri_RO = Romania
+Globalization.ri_RS = Serbia
+Globalization.ri_RU = Russia
+Globalization.ri_RW = Rwanda
+Globalization.ri_SA = Saudi Arabia
+Globalization.ri_SE = Sweden
+Globalization.ri_SG = Singapore
+Globalization.ri_SI = Slovenia
+Globalization.ri_SK = Slovakia
+Globalization.ri_SN = Senegal
+Globalization.ri_SV = El Salvador
+Globalization.ri_SY = Syria
+Globalization.ri_TH = Thailand
+Globalization.ri_TJ = Tajikistan
+Globalization.ri_TM = Turkmenistan
+Globalization.ri_TN = Tunisia
+Globalization.ri_TR = Turkey
+Globalization.ri_TT = Trinidad and Tobago
+Globalization.ri_TW = Taiwan
+Globalization.ri_UA = Ukraine
+Globalization.ri_US = United States
+Globalization.ri_UY = Uruguay
+Globalization.ri_UZ = Uzbekistan
+Globalization.ri_VE = Bolivarian Republic of Venezuela
+Globalization.ri_VN = Vietnam
+Globalization.ri_YE = Yemen
+Globalization.ri_ZA = South Africa
+Globalization.ri_ZW = Zimbabwe
+#endif //!FEATURE_CORECLR
+
+;------------------
+; Encoding names:
+;
+;Total items: 147
+;
+Globalization.cp_1200 = Unicode
+Globalization.cp_1201 = Unicode (Big-Endian)
+Globalization.cp_65001 = Unicode (UTF-8)
+Globalization.cp_65000 = Unicode (UTF-7)
+Globalization.cp_12000 = Unicode (UTF-32)
+Globalization.cp_12001 = Unicode (UTF-32 Big-Endian)
+Globalization.cp_20127 = US-ASCII
+Globalization.cp_28591 = Western European (ISO)
+
+#if FEATURE_NON_UNICODE_CODE_PAGES
+Globalization.cp_37 = IBM EBCDIC (US-Canada)
+Globalization.cp_437 = OEM United States
+Globalization.cp_500 = IBM EBCDIC (International)
+Globalization.cp_708 = Arabic (ASMO 708)
+Globalization.cp_720 = Arabic (DOS)
+Globalization.cp_737 = Greek (DOS)
+Globalization.cp_775 = Baltic (DOS)
+Globalization.cp_850 = Western European (DOS)
+Globalization.cp_852 = Central European (DOS)
+Globalization.cp_855 = OEM Cyrillic
+Globalization.cp_857 = Turkish (DOS)
+Globalization.cp_858 = OEM Multilingual Latin I
+Globalization.cp_860 = Portuguese (DOS)
+Globalization.cp_861 = Icelandic (DOS)
+Globalization.cp_862 = Hebrew (DOS)
+Globalization.cp_863 = French Canadian (DOS)
+Globalization.cp_864 = Arabic (864)
+Globalization.cp_865 = Nordic (DOS)
+Globalization.cp_866 = Cyrillic (DOS)
+Globalization.cp_869 = Greek, Modern (DOS)
+Globalization.cp_870 = IBM EBCDIC (Multilingual Latin-2)
+Globalization.cp_874 = Thai (Windows)
+Globalization.cp_875 = IBM EBCDIC (Greek Modern)
+Globalization.cp_932 = Japanese (Shift-JIS)
+Globalization.cp_936 = Chinese Simplified (GB2312)
+Globalization.cp_949 = Korean
+Globalization.cp_950 = Chinese Traditional (Big5)
+Globalization.cp_1026 = IBM EBCDIC (Turkish Latin-5)
+Globalization.cp_1047 = IBM Latin-1
+Globalization.cp_1140 = IBM EBCDIC (US-Canada-Euro)
+Globalization.cp_1141 = IBM EBCDIC (Germany-Euro)
+Globalization.cp_1142 = IBM EBCDIC (Denmark-Norway-Euro)
+Globalization.cp_1143 = IBM EBCDIC (Finland-Sweden-Euro)
+Globalization.cp_1144 = IBM EBCDIC (Italy-Euro)
+Globalization.cp_1145 = IBM EBCDIC (Spain-Euro)
+Globalization.cp_1146 = IBM EBCDIC (UK-Euro)
+Globalization.cp_1147 = IBM EBCDIC (France-Euro)
+Globalization.cp_1148 = IBM EBCDIC (International-Euro)
+Globalization.cp_1149 = IBM EBCDIC (Icelandic-Euro)
+Globalization.cp_1250 = Central European (Windows)
+Globalization.cp_1251 = Cyrillic (Windows)
+Globalization.cp_1252 = Western European (Windows)
+Globalization.cp_1253 = Greek (Windows)
+Globalization.cp_1254 = Turkish (Windows)
+Globalization.cp_1255 = Hebrew (Windows)
+Globalization.cp_1256 = Arabic (Windows)
+Globalization.cp_1257 = Baltic (Windows)
+Globalization.cp_1258 = Vietnamese (Windows)
+Globalization.cp_1361 = Korean (Johab)
+Globalization.cp_10000 = Western European (Mac)
+Globalization.cp_10001 = Japanese (Mac)
+Globalization.cp_10002 = Chinese Traditional (Mac)
+Globalization.cp_10003 = Korean (Mac)
+Globalization.cp_10004 = Arabic (Mac)
+Globalization.cp_10005 = Hebrew (Mac)
+Globalization.cp_10006 = Greek (Mac)
+Globalization.cp_10007 = Cyrillic (Mac)
+Globalization.cp_10008 = Chinese Simplified (Mac)
+Globalization.cp_10010 = Romanian (Mac)
+Globalization.cp_10017 = Ukrainian (Mac)
+Globalization.cp_10021 = Thai (Mac)
+Globalization.cp_10029 = Central European (Mac)
+Globalization.cp_10079 = Icelandic (Mac)
+Globalization.cp_10081 = Turkish (Mac)
+Globalization.cp_10082 = Croatian (Mac)
+Globalization.cp_20000 = Chinese Traditional (CNS)
+Globalization.cp_20001 = TCA Taiwan
+Globalization.cp_20002 = Chinese Traditional (Eten)
+Globalization.cp_20003 = IBM5550 Taiwan
+Globalization.cp_20004 = TeleText Taiwan
+Globalization.cp_20005 = Wang Taiwan
+Globalization.cp_20105 = Western European (IA5)
+Globalization.cp_20106 = German (IA5)
+Globalization.cp_20107 = Swedish (IA5)
+Globalization.cp_20108 = Norwegian (IA5)
+Globalization.cp_20261 = T.61
+Globalization.cp_20269 = ISO-6937
+Globalization.cp_20273 = IBM EBCDIC (Germany)
+Globalization.cp_20277 = IBM EBCDIC (Denmark-Norway)
+Globalization.cp_20278 = IBM EBCDIC (Finland-Sweden)
+Globalization.cp_20280 = IBM EBCDIC (Italy)
+Globalization.cp_20284 = IBM EBCDIC (Spain)
+Globalization.cp_20285 = IBM EBCDIC (UK)
+Globalization.cp_20290 = IBM EBCDIC (Japanese katakana)
+Globalization.cp_20297 = IBM EBCDIC (France)
+Globalization.cp_20420 = IBM EBCDIC (Arabic)
+Globalization.cp_20423 = IBM EBCDIC (Greek)
+Globalization.cp_20424 = IBM EBCDIC (Hebrew)
+Globalization.cp_20833 = IBM EBCDIC (Korean Extended)
+Globalization.cp_20838 = IBM EBCDIC (Thai)
+Globalization.cp_20866 = Cyrillic (KOI8-R)
+Globalization.cp_20871 = IBM EBCDIC (Icelandic)
+Globalization.cp_20880 = IBM EBCDIC (Cyrillic Russian)
+Globalization.cp_20905 = IBM EBCDIC (Turkish)
+Globalization.cp_20924 = IBM Latin-1
+Globalization.cp_20932 = Japanese (JIS 0208-1990 and 0212-1990)
+Globalization.cp_20936 = Chinese Simplified (GB2312-80)
+Globalization.cp_20949 = Korean Wansung
+Globalization.cp_21025 = IBM EBCDIC (Cyrillic Serbian-Bulgarian)
+Globalization.cp_21027 = Ext Alpha Lowercase
+Globalization.cp_21866 = Cyrillic (KOI8-U)
+Globalization.cp_28592 = Central European (ISO)
+Globalization.cp_28593 = Latin 3 (ISO)
+Globalization.cp_28594 = Baltic (ISO)
+Globalization.cp_28595 = Cyrillic (ISO)
+Globalization.cp_28596 = Arabic (ISO)
+Globalization.cp_28597 = Greek (ISO)
+Globalization.cp_28598 = Hebrew (ISO-Visual)
+Globalization.cp_28599 = Turkish (ISO)
+Globalization.cp_28603 = Estonian (ISO)
+Globalization.cp_28605 = Latin 9 (ISO)
+Globalization.cp_29001 = Europa
+Globalization.cp_38598 = Hebrew (ISO-Logical)
+Globalization.cp_50000 = User Defined
+Globalization.cp_50220 = Japanese (JIS)
+Globalization.cp_50221 = Japanese (JIS-Allow 1 byte Kana)
+Globalization.cp_50222 = Japanese (JIS-Allow 1 byte Kana - SO/SI)
+Globalization.cp_50225 = Korean (ISO)
+Globalization.cp_50227 = Chinese Simplified (ISO-2022)
+Globalization.cp_50229 = Chinese Traditional (ISO-2022)
+Globalization.cp_50930 = IBM EBCDIC (Japanese and Japanese Katakana)
+Globalization.cp_50931 = IBM EBCDIC (Japanese and US-Canada)
+Globalization.cp_50933 = IBM EBCDIC (Korean and Korean Extended)
+Globalization.cp_50935 = IBM EBCDIC (Simplified Chinese)
+Globalization.cp_50937 = IBM EBCDIC (Traditional Chinese)
+Globalization.cp_50939 = IBM EBCDIC (Japanese and Japanese-Latin)
+Globalization.cp_51932 = Japanese (EUC)
+Globalization.cp_51936 = Chinese Simplified (EUC)
+Globalization.cp_51949 = Korean (EUC)
+Globalization.cp_52936 = Chinese Simplified (HZ)
+Globalization.cp_54936 = Chinese Simplified (GB18030)
+Globalization.cp_57002 = ISCII Devanagari
+Globalization.cp_57003 = ISCII Bengali
+Globalization.cp_57004 = ISCII Tamil
+Globalization.cp_57005 = ISCII Telugu
+Globalization.cp_57006 = ISCII Assamese
+Globalization.cp_57007 = ISCII Oriya
+Globalization.cp_57008 = ISCII Kannada
+Globalization.cp_57009 = ISCII Malayalam
+Globalization.cp_57010 = ISCII Gujarati
+Globalization.cp_57011 = ISCII Punjabi
+#endif // FEATURE_NON_UNICODE_CODE_PAGES
+#endif // INCLUDE_DEBUG
+
+;------------------
+
diff --git a/src/mscorlib/src/System/Environment.cs b/src/mscorlib/src/System/Environment.cs
index bccf120834..b2117b83cc 100644
--- a/src/mscorlib/src/System/Environment.cs
+++ b/src/mscorlib/src/System/Environment.cs
@@ -151,8 +151,8 @@ namespace System {
// Note: our infrastructure for reporting this exception will again cause resource lookup.
// This is the most direct way of dealing with that problem.
- String message = "Infinite recursion during resource lookup within mscorlib. This may be a bug in mscorlib, or potentially in certain extensibility points such as assembly resolve events or CultureInfo names. Resource name: " + key;
- Assert.Fail("[mscorlib recursive resource lookup bug]", message, Assert.COR_E_FAILFAST, System.Diagnostics.StackTrace.TraceFormat.NoResourceLookup);
+ String message = "Infinite recursion during resource lookup within "+System.CoreLib.Name+". This may be a bug in "+System.CoreLib.Name+", or potentially in certain extensibility points such as assembly resolve events or CultureInfo names. Resource name: " + key;
+ Assert.Fail("[Recursive resource lookup bug]", message, Assert.COR_E_FAILFAST, System.Diagnostics.StackTrace.TraceFormat.NoResourceLookup);
Environment.FailFast(message);
}
if (rh.currentlyLoading == null)
@@ -1262,7 +1262,7 @@ namespace System {
Monitor.Enter(Environment.InternalSyncObject, ref tookLock);
if (m_resHelper == null) {
- ResourceHelper rh = new ResourceHelper("mscorlib");
+ ResourceHelper rh = new ResourceHelper(System.CoreLib.Name);
System.Threading.Thread.MemoryBarrier();
m_resHelper =rh;
diff --git a/src/mscorlib/src/System/Globalization/GlobalizationAssembly.cs b/src/mscorlib/src/System/Globalization/GlobalizationAssembly.cs
index 51d785b8cf..4de3fd399b 100644
--- a/src/mscorlib/src/System/Globalization/GlobalizationAssembly.cs
+++ b/src/mscorlib/src/System/Globalization/GlobalizationAssembly.cs
@@ -34,7 +34,7 @@ namespace System.Globalization {
// ----------------------------------------------------------------------------------------------------
[System.Security.SecurityCritical] // auto-generated
internal unsafe static byte* GetGlobalizationResourceBytePtr(Assembly assembly, String tableName) {
- Contract.Assert(assembly != null, "assembly can not be null. This should be generally the mscorlib.dll assembly.");
+ Contract.Assert(assembly != null, "assembly can not be null. This should be generally the "+System.CoreLib.Name+" assembly.");
Contract.Assert(tableName != null, "table name can not be null");
Stream stream = assembly.GetManifestResourceStream(tableName);
diff --git a/src/mscorlib/src/System/Object.cs b/src/mscorlib/src/System/Object.cs
index 85c9324778..769c5a6bd6 100644
--- a/src/mscorlib/src/System/Object.cs
+++ b/src/mscorlib/src/System/Object.cs
@@ -230,4 +230,26 @@ internal class __Canon
{
}
+// This class is used to define the name of the base class library
+internal class CoreLib
+{
+
+#if FEATURE_CORECLR
+ public const string Name = "System.Private.CoreLib";
+#else
+ public const string Name = "mscorlib";
+#endif
+
+ public static string FixupCoreLibName(string strToFixup)
+ {
+#if FEATURE_CORECLR
+ if (!String.IsNullOrEmpty(strToFixup))
+ {
+ strToFixup = strToFixup.Replace("mscorlib", System.CoreLib.Name);
+ }
+#endif
+ return strToFixup;
+ }
+}
+
}
diff --git a/src/mscorlib/src/System/Resources/ManifestBasedResourceGroveler.cs b/src/mscorlib/src/System/Resources/ManifestBasedResourceGroveler.cs
index fe0c5a5c45..5fd0daad09 100644
--- a/src/mscorlib/src/System/Resources/ManifestBasedResourceGroveler.cs
+++ b/src/mscorlib/src/System/Resources/ManifestBasedResourceGroveler.cs
@@ -253,7 +253,7 @@ namespace System.Resources {
// fires, please fix the build process for the BCL directory.
if (a == typeof(Object).Assembly)
{
- Contract.Assert(false, "mscorlib's NeutralResourcesLanguageAttribute is a malformed culture name! name: \"" + cultureName + "\" Exception: " + e);
+ Contract.Assert(false, System.CoreLib.Name+"'s NeutralResourcesLanguageAttribute is a malformed culture name! name: \"" + cultureName + "\" Exception: " + e);
return CultureInfo.InvariantCulture;
}
@@ -289,8 +289,8 @@ namespace System.Resources {
if (resMgrHeaderVersion == ResourceManager.HeaderVersionNumber)
{
br.ReadInt32(); // We don't want the number of bytes to skip.
- readerTypeName = br.ReadString();
- resSetTypeName = br.ReadString();
+ readerTypeName = System.CoreLib.FixupCoreLibName(br.ReadString());
+ resSetTypeName = System.CoreLib.FixupCoreLibName(br.ReadString());
}
else if (resMgrHeaderVersion > ResourceManager.HeaderVersionNumber)
{
@@ -301,8 +301,8 @@ namespace System.Resources {
int numBytesToSkip = br.ReadInt32();
long endPosition = br.BaseStream.Position + numBytesToSkip;
- readerTypeName = br.ReadString();
- resSetTypeName = br.ReadString();
+ readerTypeName = System.CoreLib.FixupCoreLibName(br.ReadString());
+ resSetTypeName = System.CoreLib.FixupCoreLibName(br.ReadString());
br.BaseStream.Seek(endPosition, SeekOrigin.Begin);
}
@@ -650,13 +650,13 @@ namespace System.Resources {
private void HandleResourceStreamMissing(String fileName)
{
// Keep people from bothering me about resources problems
- if (_mediator.MainAssembly == typeof(Object).Assembly && _mediator.BaseName.Equals("mscorlib"))
+ if (_mediator.MainAssembly == typeof(Object).Assembly && _mediator.BaseName.Equals(System.CoreLib.Name))
{
// This would break CultureInfo & all our exceptions.
- Contract.Assert(false, "Couldn't get mscorlib" + ResourceManager.ResFileExtension + " from mscorlib's assembly" + Environment.NewLine + Environment.NewLine + "Are you building the runtime on your machine? Chances are the BCL directory didn't build correctly. Type 'build -c' in the BCL directory. If you get build errors, look at buildd.log. If you then can't figure out what's wrong (and you aren't changing the assembly-related metadata code), ask a BCL dev.\n\nIf you did NOT build the runtime, you shouldn't be seeing this and you've found a bug.");
+ Contract.Assert(false, "Couldn't get " + System.CoreLib.Name+ResourceManager.ResFileExtension + " from "+System.CoreLib.Name+"'s assembly" + Environment.NewLine + Environment.NewLine + "Are you building the runtime on your machine? Chances are the BCL directory didn't build correctly. Type 'build -c' in the BCL directory. If you get build errors, look at buildd.log. If you then can't figure out what's wrong (and you aren't changing the assembly-related metadata code), ask a BCL dev.\n\nIf you did NOT build the runtime, you shouldn't be seeing this and you've found a bug.");
// We cannot continue further - simply FailFast.
- string mesgFailFast = "mscorlib" + ResourceManager.ResFileExtension + " couldn't be found! Large parts of the BCL won't work!";
+ string mesgFailFast = System.CoreLib.Name + ResourceManager.ResFileExtension + " couldn't be found! Large parts of the BCL won't work!";
System.Environment.FailFast(mesgFailFast);
}
// We really don't think this should happen - we always
diff --git a/src/mscorlib/src/System/Resources/ResourceManager.cs b/src/mscorlib/src/System/Resources/ResourceManager.cs
index ed7fb8b256..b088e7f492 100644
--- a/src/mscorlib/src/System/Resources/ResourceManager.cs
+++ b/src/mscorlib/src/System/Resources/ResourceManager.cs
@@ -880,7 +880,7 @@ namespace System.Resources {
// If this assert fires, please fix the build process for the
// BCL directory.
if (a == typeof(Object).Assembly) {
- Contract.Assert(false, "mscorlib's SatelliteContractVersionAttribute is a malformed version string!");
+ Contract.Assert(false, System.CoreLib.Name+"'s SatelliteContractVersionAttribute is a malformed version string!");
return null;
}
@@ -932,7 +932,7 @@ namespace System.Resources {
return false;
// to match IsMscorlib() in VM
- if (String.Compare(an1.Name, "mscorlib", StringComparison.OrdinalIgnoreCase) == 0)
+ if (String.Compare(an1.Name, System.CoreLib.Name, StringComparison.OrdinalIgnoreCase) == 0)
return true;
diff --git a/src/mscorlib/src/System/Resources/ResourceReader.cs b/src/mscorlib/src/System/Resources/ResourceReader.cs
index 18bb48cfee..a269d5c5fe 100644
--- a/src/mscorlib/src/System/Resources/ResourceReader.cs
+++ b/src/mscorlib/src/System/Resources/ResourceReader.cs
@@ -895,6 +895,7 @@ namespace System.Resources {
// Read in type name for a suitable ResourceReader
// Note ResourceWriter & InternalResGen use different Strings.
String readerType = _store.ReadString();
+ readerType = System.CoreLib.FixupCoreLibName(readerType);
AssemblyName mscorlib = new AssemblyName(ResourceManager.MscorlibName);
if (!ResourceManager.CompareNames(readerType, ResourceManager.ResReaderTypeName, mscorlib))
diff --git a/src/mscorlib/src/System/Runtime/Serialization/SerializationInfo.cs b/src/mscorlib/src/System/Runtime/Serialization/SerializationInfo.cs
index b321155320..04c1094fbc 100644
--- a/src/mscorlib/src/System/Runtime/Serialization/SerializationInfo.cs
+++ b/src/mscorlib/src/System/Runtime/Serialization/SerializationInfo.cs
@@ -32,7 +32,7 @@ namespace System.Runtime.Serialization
public sealed class SerializationInfo
{
private const int defaultSize = 4;
- private const string s_mscorlibAssemblySimpleName = "mscorlib";
+ private const string s_mscorlibAssemblySimpleName = System.CoreLib.Name;
private const string s_mscorlibFileName = s_mscorlibAssemblySimpleName + ".dll";
// Even though we have a dictionary, we're still keeping all the arrays around for back-compat.
diff --git a/src/mscorlib/src/System/Security/PermissionToken.cs b/src/mscorlib/src/System/Security/PermissionToken.cs
index 8a8ec678a1..e78c0f1a93 100644
--- a/src/mscorlib/src/System/Security/PermissionToken.cs
+++ b/src/mscorlib/src/System/Security/PermissionToken.cs
@@ -93,8 +93,8 @@ namespace System.Security {
#if FEATURE_CAS_POLICY
private static volatile ReflectionPermission s_reflectPerm = null;
#endif // FEATURE_CAS_POLICY
- private const string c_mscorlibName = "mscorlib";
+ private const string c_mscorlibName = System.CoreLib.Name;
internal int m_index;
internal volatile PermissionTokenType m_type;
#if FEATURE_CAS_POLICY
@@ -104,7 +104,7 @@ namespace System.Security {
internal static bool IsMscorlibClassName (string className) {
Contract.Assert( c_mscorlibName == ((RuntimeAssembly)Assembly.GetExecutingAssembly()).GetSimpleName(),
- "mscorlib name mismatch" );
+ System.CoreLib.Name+" name mismatch" );
// If the class name does not look like a fully qualified name, we cannot simply determine if it's
// an mscorlib.dll type so we should return true so the type can be matched with the
@@ -119,7 +119,12 @@ namespace System.Security {
// Search for the string 'mscorlib' in the classname. If we find it, we will conservatively assume it's an mscorlib.dll type and load it.
for (int i = index; i < className.Length; i++) {
- if (className[i] == 'm' || className[i] == 'M') {
+#if FEATURE_CORECLR
+ if (className[i] == 's' || className[i] == 'S')
+#else
+ if (className[i] == 'm' || className[i] == 'M')
+#endif
+ {
if (String.Compare(className, i, c_mscorlibName, 0, c_mscorlibName.Length, StringComparison.OrdinalIgnoreCase) == 0)
return true;
}
diff --git a/src/mscorlib/src/System/Threading/Tasks/TPLETWProvider.cs b/src/mscorlib/src/System/Threading/Tasks/TPLETWProvider.cs
index 323ede15f0..5f79f30b35 100644
--- a/src/mscorlib/src/System/Threading/Tasks/TPLETWProvider.cs
+++ b/src/mscorlib/src/System/Threading/Tasks/TPLETWProvider.cs
@@ -25,7 +25,7 @@ namespace System.Threading.Tasks
[EventSource(
Name = "System.Threading.Tasks.TplEventSource",
Guid = "2e5dba47-a3d2-4d16-8ee0-6671ffdcd7b5",
- LocalizationResources = "mscorlib")]
+ LocalizationResources = System.CoreLib.Name)]
internal sealed class TplEtwProvider : EventSource
{
/// Used to determine if tasks should generate Activity IDs for themselves
diff --git a/src/tools/crossgen/crossgen.cpp b/src/tools/crossgen/crossgen.cpp
index f174f222a0..8330660ceb 100644
--- a/src/tools/crossgen/crossgen.cpp
+++ b/src/tools/crossgen/crossgen.cpp
@@ -263,7 +263,7 @@ bool StringEndsWith(LPCWSTR pwzString, LPCWSTR pwzCandidate)
#ifdef FEATURE_CORECLR
//
// When using the Phone binding model (TrustedPlatformAssemblies), automatically
-// detect which path mscorlib.[ni.]dll lies in.
+// detect which path CoreLib.[ni.]dll lies in.
//
bool ComputeMscorlibPathFromTrustedPlatformAssemblies(SString& pwzMscorlibPath, LPCWSTR pwzTrustedPlatformAssemblies)
{
@@ -282,8 +282,8 @@ bool ComputeMscorlibPathFromTrustedPlatformAssemblies(SString& pwzMscorlibPath,
wszSingleTrustedPath++;
}
- if (StringEndsWith(wszSingleTrustedPath, DIRECTORY_SEPARATOR_STR_W W("mscorlib.dll")) ||
- StringEndsWith(wszSingleTrustedPath, DIRECTORY_SEPARATOR_STR_W W("mscorlib.ni.dll")))
+ if (StringEndsWith(wszSingleTrustedPath, DIRECTORY_SEPARATOR_STR_W CoreLibName_IL_W) ||
+ StringEndsWith(wszSingleTrustedPath, DIRECTORY_SEPARATOR_STR_W CoreLibName_NI_W))
{
pwzMscorlibPath.Set(wszSingleTrustedPath);
SString::Iterator pwzSeparator = pwzMscorlibPath.End();
@@ -324,7 +324,7 @@ void PopulateTPAList(SString path, LPCWSTR pwszMask, SString &refTPAList, bool f
LPCWSTR pwszFilename = folderEnumerator.GetFileName();
if (fCompilingMscorlib)
{
- // When compiling mscorlib.dll, no ".ni.dll" should be on the TPAList.
+ // When compiling CoreLib, no ".ni.dll" should be on the TPAList.
if (StringEndsWith((LPWSTR)pwszFilename, W(".ni.dll")))
{
fAddFileToTPAList = false;
@@ -335,18 +335,18 @@ void PopulateTPAList(SString path, LPCWSTR pwszMask, SString &refTPAList, bool f
// When creating PDBs, we must ensure that .ni.dlls are in the TPAList
if (!fCreatePDB)
{
- // Only mscorlib.ni.dll should be in the TPAList for the compilation of non-mscorlib assemblies.
+ // Only CoreLib's ni.dll should be in the TPAList for the compilation of non-mscorlib assemblies.
if (StringEndsWith((LPWSTR)pwszFilename, W(".ni.dll")))
{
- if (!StringEndsWith((LPWSTR)pwszFilename, W("mscorlib.ni.dll")))
+ if (!StringEndsWith((LPWSTR)pwszFilename, CoreLibName_NI_W))
{
fAddFileToTPAList = false;
}
}
}
- // Ensure that mscorlib.dll is also not on the TPAlist for this case.
- if (StringEndsWith((LPWSTR)pwszFilename, W("mscorlib.dll")))
+ // Ensure that CoreLib's IL version is also not on the TPAlist for this case.
+ if (StringEndsWith((LPWSTR)pwszFilename, CoreLibName_IL_W))
{
fAddFileToTPAList = false;
}
@@ -867,7 +867,7 @@ int _cdecl wmain(int argc, __in_ecount(argc) WCHAR **argv)
}
// Are we compiling mscorlib.dll?
- bool fCompilingMscorlib = StringEndsWith((LPWSTR)pwzFilename, W("mscorlib.dll"));
+ bool fCompilingMscorlib = StringEndsWith((LPWSTR)pwzFilename, CoreLibName_IL_W);
if (fCompilingMscorlib)
dwFlags &= ~NGENWORKER_FLAGS_READYTORUN;
diff --git a/src/vm/baseassemblyspec.cpp b/src/vm/baseassemblyspec.cpp
index 5fc1fa85e0..806416e923 100644
--- a/src/vm/baseassemblyspec.cpp
+++ b/src/vm/baseassemblyspec.cpp
@@ -112,14 +112,14 @@ BOOL BaseAssemblySpec::IsMscorlib()
return FALSE;
}
- _ASSERTE(strlen(g_psBaseLibraryName) == 8);
+ _ASSERTE(strlen(g_psBaseLibraryName) == CoreLibNameLen);
// <TODO>More of bug 213471</TODO>
size_t iNameLen = strlen(m_pAssemblyName);
- return ( (iNameLen >= 8) &&
+ return ( (iNameLen >= CoreLibNameLen) &&
( (!stricmpUTF8(m_pAssemblyName, g_psBaseLibrary)) ||
- ( (!SString::_strnicmp(m_pAssemblyName, g_psBaseLibraryName, 8)) &&
- ( (iNameLen == 8) || (m_pAssemblyName[8] == ',') ) ) ) );
+ ( (!SString::_strnicmp(m_pAssemblyName, g_psBaseLibraryName, CoreLibNameLen)) &&
+ ( (iNameLen == CoreLibNameLen) || (m_pAssemblyName[CoreLibNameLen] == ',') ) ) ) );
}
#ifdef FEATURE_CORECLR
@@ -131,7 +131,7 @@ BOOL BaseAssemblySpec::IsAssemblySpecForMscorlib()
INSTANCE_CHECK;
GC_NOTRIGGER;
MODE_ANY;
- PRECONDITION(strlen(g_psBaseLibraryName) == 8);
+ PRECONDITION(strlen(g_psBaseLibraryName) == CoreLibNameLen);
}
CONTRACTL_END;
@@ -140,10 +140,10 @@ BOOL BaseAssemblySpec::IsAssemblySpecForMscorlib()
if (m_pAssemblyName)
{
size_t iNameLen = strlen(m_pAssemblyName);
- fIsAssemblySpecForMscorlib = ( (iNameLen >= 8) &&
+ fIsAssemblySpecForMscorlib = ( (iNameLen >= CoreLibNameLen) &&
( (!_stricmp(m_pAssemblyName, g_psBaseLibrary)) ||
- ( (!_strnicmp(m_pAssemblyName, g_psBaseLibraryName, 8)) &&
- ( (iNameLen == 8) || (m_pAssemblyName[8] == ',') ) ) ) );
+ ( (!_strnicmp(m_pAssemblyName, g_psBaseLibraryName, CoreLibNameLen)) &&
+ ( (iNameLen == CoreLibNameLen) || (m_pAssemblyName[CoreLibNameLen] == ',') ) ) ) );
}
return fIsAssemblySpecForMscorlib;
@@ -183,16 +183,16 @@ BOOL BaseAssemblySpec::IsMscorlibSatellite()
return FALSE;
}
- _ASSERTE(strlen(g_psBaseLibrarySatelliteAssemblyName) == 18);
+ _ASSERTE(strlen(g_psBaseLibrarySatelliteAssemblyName) == CoreLibSatelliteNameLen);
// <TODO>More of bug 213471</TODO>
size_t iNameLen = strlen(m_pAssemblyName);
// we allow name to be of the form mscorlib.resources.dll only
BOOL r = ( (m_cbPublicKeyOrToken == sizeof(MSCORLIB_PUBLICKEY)) &&
- (iNameLen >= 18) &&
- (!SString::_strnicmp(m_pAssemblyName, g_psBaseLibrarySatelliteAssemblyName, 18)) &&
- ( (iNameLen == 18) || (m_pAssemblyName[18] == ',') ) );
+ (iNameLen >= CoreLibSatelliteNameLen) &&
+ (!SString::_strnicmp(m_pAssemblyName, g_psBaseLibrarySatelliteAssemblyName, CoreLibSatelliteNameLen)) &&
+ ( (iNameLen == CoreLibSatelliteNameLen) || (m_pAssemblyName[CoreLibSatelliteNameLen] == ',') ) );
r = r && ( memcmp(m_pbPublicKeyOrToken,MSCORLIB_PUBLICKEY,sizeof(MSCORLIB_PUBLICKEY)) == 0);
diff --git a/src/vm/clsload.cpp b/src/vm/clsload.cpp
index 533b9c698b..f1fbe57ba7 100644
--- a/src/vm/clsload.cpp
+++ b/src/vm/clsload.cpp
@@ -3751,44 +3751,44 @@ TypeHandle ClassLoader::PublishType(TypeKey *pTypeKey, TypeHandle typeHnd)
pTable->InsertValue(typeHnd);
#ifdef _DEBUG
- // Checks to help ensure that the mscorlib in the ngen process does not get contaminated with pointers to the compilation domains.
+ // Checks to help ensure that the CoreLib in the ngen process does not get contaminated with pointers to the compilation domains.
if (pLoaderModule->IsSystem() && IsCompilationProcess() && pLoaderModule->HasNativeImage())
{
CorElementType kind = pTypeKey->GetKind();
MethodTable *typeHandleMethodTable = typeHnd.GetMethodTable();
if ((typeHandleMethodTable != NULL) && (typeHandleMethodTable->GetLoaderAllocator() != pLoaderModule->GetLoaderAllocator()))
{
- _ASSERTE(!"MethodTable of type loaded into mscorlib during NGen is not from mscorlib!");
+ _ASSERTE(!"MethodTable of type loaded into CoreLib during NGen is not from CoreLib!");
}
if ((kind != ELEMENT_TYPE_FNPTR) && (kind != ELEMENT_TYPE_VAR) && (kind != ELEMENT_TYPE_MVAR))
{
if ((kind == ELEMENT_TYPE_SZARRAY) || (kind == ELEMENT_TYPE_ARRAY) || (kind == ELEMENT_TYPE_BYREF) || (kind == ELEMENT_TYPE_PTR) || (kind == ELEMENT_TYPE_VALUETYPE))
{
- // Check to ensure param value is also part of mscorlib.
+ // Check to ensure param value is also part of CoreLib.
if (pTypeKey->GetElementType().GetLoaderAllocator() != pLoaderModule->GetLoaderAllocator())
{
- _ASSERTE(!"Param value of type key used to load type during NGEN not located within mscorlib yet type is placed into mscorlib");
+ _ASSERTE(!"Param value of type key used to load type during NGEN not located within CoreLib yet type is placed into CoreLib");
}
}
else if (kind == ELEMENT_TYPE_FNPTR)
{
- // Check to ensure the parameter types of fnptr are in mscorlib
+ // Check to ensure the parameter types of fnptr are in CoreLib
for (DWORD i = 0; i <= pTypeKey->GetNumArgs(); i++)
{
if (pTypeKey->GetRetAndArgTypes()[i].GetLoaderAllocator() != pLoaderModule->GetLoaderAllocator())
{
- _ASSERTE(!"Ret or Arg type of function pointer type key used to load type during NGEN not located within mscorlib yet type is placed into mscorlib");
+ _ASSERTE(!"Ret or Arg type of function pointer type key used to load type during NGEN not located within CoreLib yet type is placed into CoreLib");
}
}
}
else if (kind == ELEMENT_TYPE_CLASS)
{
- // Check to ensure that the generic parameters are all within mscorlib
+ // Check to ensure that the generic parameters are all within CoreLib
for (DWORD i = 0; i < pTypeKey->GetNumGenericArgs(); i++)
{
if (pTypeKey->GetInstantiation()[i].GetLoaderAllocator() != pLoaderModule->GetLoaderAllocator())
{
- _ASSERTE(!"Instantiation parameter of generic class type key used to load type during NGEN not located within mscorlib yet type is placed into mscorlib");
+ _ASSERTE(!"Instantiation parameter of generic class type key used to load type during NGEN not located within CoreLib yet type is placed into CoreLib");
}
}
}
diff --git a/src/vm/coreclr/corebindresult.inl b/src/vm/coreclr/corebindresult.inl
index 1b48b3fa47..2cd2651014 100644
--- a/src/vm/coreclr/corebindresult.inl
+++ b/src/vm/coreclr/corebindresult.inl
@@ -47,7 +47,7 @@ inline BOOL CoreBindResult::IsMscorlib()
#ifndef CROSSGEN_COMPILE
return pAssembly->GetAssemblyName()->IsMscorlib();
#else
- return (pAssembly->GetPath()).EndsWithCaseInsensitive(SString(W("mscorlib.dll")), PEImage::GetFileSystemLocale());
+ return (pAssembly->GetPath()).EndsWithCaseInsensitive(SString(CoreLibName_IL_W), PEImage::GetFileSystemLocale());
#endif
}
diff --git a/src/vm/pefile.cpp b/src/vm/pefile.cpp
index 123c0786c8..deddc67408 100644
--- a/src/vm/pefile.cpp
+++ b/src/vm/pefile.cpp
@@ -1984,7 +1984,7 @@ BOOL PEAssembly::CheckNativeImageVersion(PEImage *peimage)
CorCompileConfigFlags instrumentationConfigFlags = (CorCompileConfigFlags) (configFlags & CORCOMPILE_CONFIG_INSTRUMENTATION);
if ((info->wConfigFlags & instrumentationConfigFlags) != instrumentationConfigFlags)
{
- ExternalLog(LL_ERROR, "Instrumented native image for Mscorlib.dll expected.");
+ ExternalLog(LL_ERROR, "Instrumented native image for System.Private.CoreLib.dll expected.");
ThrowHR(COR_E_NI_AND_RUNTIME_VERSION_MISMATCH);
}
}
diff --git a/src/vm/vars.cpp b/src/vm/vars.cpp
index a425a67853..92c519ad18 100644
--- a/src/vm/vars.cpp
+++ b/src/vm/vars.cpp
@@ -22,15 +22,15 @@ bool g_fAllowNativeImages = true;
//
// Default install library
//
-const WCHAR g_pwBaseLibrary[] = W("mscorlib.dll");
-const WCHAR g_pwBaseLibraryName[] = W("mscorlib");
-const char g_psBaseLibrary[] = "mscorlib.dll";
-const char g_psBaseLibraryName[] = "mscorlib";
-const char g_psBaseLibrarySatelliteAssemblyName[] = "mscorlib.resources";
+const WCHAR g_pwBaseLibrary[] = CoreLibName_IL_W;
+const WCHAR g_pwBaseLibraryName[] = CoreLibName_W;
+const char g_psBaseLibrary[] = CoreLibName_IL_A;
+const char g_psBaseLibraryName[] = CoreLibName_A;
+const char g_psBaseLibrarySatelliteAssemblyName[] = CoreLibSatelliteName_A;
#ifdef FEATURE_COMINTEROP
-const WCHAR g_pwBaseLibraryTLB[] = W("mscorlib.tlb");
-const char g_psBaseLibraryTLB[] = "mscorlib.tlb";
+const WCHAR g_pwBaseLibraryTLB[] = CoreLibName_TLB_W;
+const char g_psBaseLibraryTLB[] = CoreLibName_TLB_A;
#endif // FEATURE_COMINTEROP
Volatile<LONG> g_TrapReturningThreads;
diff --git a/src/zap/zapper.cpp b/src/zap/zapper.cpp
index a5d4708f65..0ad910865b 100644
--- a/src/zap/zapper.cpp
+++ b/src/zap/zapper.cpp
@@ -1950,7 +1950,7 @@ void Zapper::SetContextInfo(LPCWSTR assemblyName)
// check for mscorlib, and isExe == true, then CompilationDomain::SetContextInfo will call
// into mscorlib and cause the resulting mscorlib.ni.dll to be slightly different (checked
// build only).
- if (assemblyName != NULL && _wcsnicmp(assemblyName, W("mscorlib"), 8) == 0 && (wcslen(assemblyName) == 8 || assemblyName[8] == W(',')))
+ if (assemblyName != NULL && _wcsnicmp(assemblyName, CoreLibName_W, CoreLibNameLen) == 0 && (wcslen(assemblyName) == CoreLibNameLen || assemblyName[CoreLibNameLen] == W(',')))
{
return;
}
diff --git a/tests/override.targets b/tests/override.targets
index 8593fe6aef..8bdff51b63 100644
--- a/tests/override.targets
+++ b/tests/override.targets
@@ -22,11 +22,12 @@
<_resolvedMscorlib Condition="'%(ReferencePath.FileName)' == 'mscorlib'">true</_resolvedMscorlib>
</PropertyGroup>
+ <!-- TODO_SPC: ? -->
<ItemGroup>
<PossibleTargetFrameworks Include="$(_TargetFrameworkDirectories)" />
<ReferencePath Include="%(PossibleTargetFrameworks.Identity)mscorlib.dll"
Condition="'$(ReferenceLocalMscorlib)' != 'true' and '$(_resolvedMscorlib)' != 'true' and '%(PossibleTargetFrameworks.Identity)' != '' and Exists('%(PossibleTargetFrameworks.Identity)mscorlib.dll')" />
- <ReferencePath Include="$(ProjectDir)\..\bin\Product\$(BuildOS).$(BuildArch).$(BuildType)\mscorlib.dll"
+ <ReferencePath Include="$(ProjectDir)\..\bin\Product\$(BuildOS).$(BuildArch).$(BuildType)\ref\mscorlib.dll"
Condition="'$(ReferenceLocalMscorlib)' == 'true' and '$(_resolvedMscorlib)' != 'true'" />
</ItemGroup>
</Target>
diff --git a/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.cs b/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.cs
index 92e132a327..e3337d115b 100644
--- a/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.cs
+++ b/tests/src/JIT/Performance/CodeQuality/Roslyn/CscBench.cs
@@ -32,14 +32,14 @@ public static class CscBench
{
string CoreRoot = System.Environment.GetEnvironmentVariable("CORE_ROOT");
if (CoreRoot == null) { return false; }
- // Some CoreCLR packages have mscorlib.ni.dll only
- string nicorlib = Path.Combine(CoreRoot, "mscorlib.ni.dll");
+ // Some CoreCLR packages have System.Private.CoreLib.ni.dll only
+ string nicorlib = Path.Combine(CoreRoot, "System.Private.CoreLib.ni.dll");
if(File.Exists(nicorlib))
{
MscorlibPath = nicorlib;
return true;
}
- MscorlibPath = Path.Combine(CoreRoot, "mscorlib.dll");
+ MscorlibPath = Path.Combine(CoreRoot, "System.Private.CoreLib.dll");
return File.Exists(MscorlibPath);
}
diff --git a/tests/src/JIT/Regression/VS-ia64-JIT/M00/b112348/length0.il b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b112348/length0.il
index 1f23def7ae..2b09f8aa5f 100644
--- a/tests/src/JIT/Regression/VS-ia64-JIT/M00/b112348/length0.il
+++ b/tests/src/JIT/Regression/VS-ia64-JIT/M00/b112348/length0.il
@@ -12,12 +12,8 @@
.ver 4:0:0:0
}
-.assembly extern mscorlib
-{
- .hash = (1C E2 9F D4 68 FA BD 67 1C 9F 39 8F 2F E3 3A 67 // ....h..g..9./.:g
- 05 AC 47 E0 ) // ..G.
- .ver 2000:14:2009:0
-}
+.assembly extern mscorlib {}
+
.assembly test
{
.hash algorithm 0x00008004
diff --git a/tests/src/managed/Compilation/Compilation.cs b/tests/src/managed/Compilation/Compilation.cs
index f9d0bf2b34..dadca81f9d 100644
--- a/tests/src/managed/Compilation/Compilation.cs
+++ b/tests/src/managed/Compilation/Compilation.cs
@@ -19,7 +19,7 @@ class Program
var sourceTree = new List<SyntaxTree>(){SyntaxFactory.ParseSyntaxTree(File.ReadAllText(codeFile))};
- string mscorlibFile = Path.Combine(Environment.GetEnvironmentVariable("CORE_ROOT"), "mscorlib.dll");
+ string mscorlibFile = Path.Combine(Environment.GetEnvironmentVariable("CORE_ROOT"), "System.Private.CoreLib.dll");
Console.WriteLine("Using reference to: {0}", mscorlibFile);
var reference = new List<MetadataReference>(){ MetadataReference.CreateFromFile(mscorlibFile)};