Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/mono/corefx.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorstephentoub <stoub@microsoft.com>2015-07-06 18:23:57 +0300
committerstephentoub <stoub@microsoft.com>2015-07-07 03:53:17 +0300
commitc4bc3bbfae8a9bf50defcfb8d6e13905f1209240 (patch)
tree87c77669aa015c513efba0500d3e96f3fc876adb /src/System.Runtime.Extensions/System.Runtime.Extensions.sln
parent3021cbb60162504a6307e3f80e3bc4cf1f7dc86d (diff)
Implement System.IO.Path on Unix
Previously, System.IO.Path was implemented in mscorlib (with calls into Win32 on Windows / the Win32 PAL layer in libcoreclr on Unix) and type-forwarded from System.Runtime.Extensions. With #2234, we switched the Windows build to using System.IO.Path from System.Runtime.Extensions and Path.cs from corefx, but the Unix version was left still using the mscorlib implementation. One of the reasons for switching to the Path.cs in corefx, however, was to better enable a bunch of fixes to the behavior of the Unix implementation. This change implements Path.cs in corefx for Unix and switches the Unix builds (Linux, OS X, and FreeBSD) over to using the implementation in corefx rather than type-forwarding to mscorlib. Primary changes: - Defined MaxPath / MaxComponent length in the Unix build in terms of pathconf - Implemented the Unix build's NormalizePath to properly handle normalizing unnecessary "/", ".", and ".."s in the path. - Implemented the Unix build's GetTempPath in terms of the TMPDIR environment variable (same logic that's in the Win32 PAL layer's implementation). - Implemented the Unix build's GetTempFileName in terms of mkstemps. - Implemented the Unix build's GetRandomFileName in terms of OpenSSL's RAND_pseudo_bytes, same as is done in System.Security.Cryptography.RandomNumberGenerator (which we can't reference due to layering). - Centralized the wrapping of getcwd, which is now used from both System.Runtime.Extensions and System.IO.FileSystem. The previous usage of it always created a temporary array of size MaxPath, which can now be quite big, so the wrapper first tries to use stack space, and then graduates to retrying with larger and larger buffer sizes. - Centralized the MaxPath and MaxName logic, which is now used by three libraries: System.Diagnostics.Process, System.IO.FileSystem, and now System.Runtime.Extensions. - Centralized the throwing of PathTooLongException, as it now requires arguments for how long are the maximum path and component names. - Cleaned up a few other minor things in the shared Path.cs (e.g. naming Boolean arguments) that were confusing me as I was working through the code. - Added FreeBSD to the .sln and .csproj files, as otherwise the FreeBSD build for this library would be broken (previously it inherited the mscorlib implementation as did the other Unix OSes). - Added a bunch of tests, some general across both Windows and Unix, but others specifically focused on Unix, which is more lenient than is Windows in the paths it allows.
Diffstat (limited to 'src/System.Runtime.Extensions/System.Runtime.Extensions.sln')
-rw-r--r--src/System.Runtime.Extensions/System.Runtime.Extensions.sln136
1 files changed, 11 insertions, 125 deletions
diff --git a/src/System.Runtime.Extensions/System.Runtime.Extensions.sln b/src/System.Runtime.Extensions/System.Runtime.Extensions.sln
index 241079d7e3..1aac9e5952 100644
--- a/src/System.Runtime.Extensions/System.Runtime.Extensions.sln
+++ b/src/System.Runtime.Extensions/System.Runtime.Extensions.sln
@@ -1,6 +1,6 @@
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 14
-VisualStudioVersion = 14.0.22817.0
+VisualStudioVersion = 14.0.22823.1
MinimumVisualStudioVersion = 10.0.40219.1
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Extensions.Tests", "tests\System.Runtime.Extensions.Tests.csproj", "{6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}"
EndProject
@@ -13,162 +13,48 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "System.Runtime.Extensions.C
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
- Debug|Any CPU = Debug|Any CPU
- Debug|ARM = Debug|ARM
- Debug|x64 = Debug|x64
- Debug|x86 = Debug|x86
+ FreeBSD_Debug|Any CPU = FreeBSD_Debug|Any CPU
+ FreeBSD_Release|Any CPU = FreeBSD_Release|Any CPU
Linux_Debug|Any CPU = Linux_Debug|Any CPU
- Linux_Debug|ARM = Linux_Debug|ARM
- Linux_Debug|x64 = Linux_Debug|x64
- Linux_Debug|x86 = Linux_Debug|x86
Linux_Release|Any CPU = Linux_Release|Any CPU
- Linux_Release|ARM = Linux_Release|ARM
- Linux_Release|x64 = Linux_Release|x64
- Linux_Release|x86 = Linux_Release|x86
OSX_Debug|Any CPU = OSX_Debug|Any CPU
- OSX_Debug|ARM = OSX_Debug|ARM
- OSX_Debug|x64 = OSX_Debug|x64
- OSX_Debug|x86 = OSX_Debug|x86
OSX_Release|Any CPU = OSX_Release|Any CPU
- OSX_Release|ARM = OSX_Release|ARM
- OSX_Release|x64 = OSX_Release|x64
- OSX_Release|x86 = OSX_Release|x86
- Release|Any CPU = Release|Any CPU
- Release|ARM = Release|ARM
- Release|x64 = Release|x64
- Release|x86 = Release|x86
Windows_Debug|Any CPU = Windows_Debug|Any CPU
- Windows_Debug|ARM = Windows_Debug|ARM
- Windows_Debug|x64 = Windows_Debug|x64
- Windows_Debug|x86 = Windows_Debug|x86
Windows_Release|Any CPU = Windows_Release|Any CPU
- Windows_Release|ARM = Windows_Release|ARM
- Windows_Release|x64 = Windows_Release|x64
- Windows_Release|x86 = Windows_Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Debug|Any CPU.Build.0 = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Debug|ARM.ActiveCfg = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Debug|x64.ActiveCfg = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Debug|x86.ActiveCfg = Debug|Any CPU
+ {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.FreeBSD_Debug|Any CPU.ActiveCfg = Debug|Any CPU
+ {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.FreeBSD_Debug|Any CPU.Build.0 = Debug|Any CPU
+ {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.FreeBSD_Release|Any CPU.ActiveCfg = Release|Any CPU
+ {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.FreeBSD_Release|Any CPU.Build.0 = Release|Any CPU
{6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Debug|Any CPU.Build.0 = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Debug|ARM.ActiveCfg = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Debug|ARM.Build.0 = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Debug|x64.ActiveCfg = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Debug|x64.Build.0 = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Debug|x86.ActiveCfg = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Debug|x86.Build.0 = Debug|Any CPU
{6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Release|Any CPU.ActiveCfg = Release|Any CPU
{6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Release|Any CPU.Build.0 = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Release|ARM.ActiveCfg = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Release|ARM.Build.0 = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Release|x64.ActiveCfg = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Release|x64.Build.0 = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Release|x86.ActiveCfg = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Linux_Release|x86.Build.0 = Release|Any CPU
{6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Debug|Any CPU.Build.0 = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Debug|ARM.ActiveCfg = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Debug|ARM.Build.0 = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Debug|x64.ActiveCfg = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Debug|x64.Build.0 = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Debug|x86.ActiveCfg = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Debug|x86.Build.0 = Debug|Any CPU
{6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Release|Any CPU.ActiveCfg = Release|Any CPU
{6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Release|Any CPU.Build.0 = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Release|ARM.ActiveCfg = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Release|ARM.Build.0 = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Release|x64.ActiveCfg = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Release|x64.Build.0 = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Release|x86.ActiveCfg = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.OSX_Release|x86.Build.0 = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Release|Any CPU.ActiveCfg = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Release|Any CPU.Build.0 = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Release|ARM.ActiveCfg = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Release|x64.ActiveCfg = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Release|x86.ActiveCfg = Release|Any CPU
{6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Debug|Any CPU.ActiveCfg = Debug|Any CPU
{6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Debug|Any CPU.Build.0 = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Debug|ARM.ActiveCfg = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Debug|ARM.Build.0 = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Debug|x64.ActiveCfg = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Debug|x64.Build.0 = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Debug|x86.ActiveCfg = Debug|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Debug|x86.Build.0 = Debug|Any CPU
{6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Release|Any CPU.ActiveCfg = Release|Any CPU
{6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Release|Any CPU.Build.0 = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Release|ARM.ActiveCfg = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Release|ARM.Build.0 = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Release|x64.ActiveCfg = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Release|x64.Build.0 = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Release|x86.ActiveCfg = Release|Any CPU
- {6C314C9B-3D28-4B05-9B4C-B57A00A9B3B9}.Windows_Release|x86.Build.0 = Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Debug|Any CPU.ActiveCfg = Windows_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Debug|Any CPU.Build.0 = Windows_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Debug|ARM.ActiveCfg = Windows_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Debug|ARM.Build.0 = Windows_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Debug|x64.ActiveCfg = Windows_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Debug|x64.Build.0 = Windows_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Debug|x86.ActiveCfg = Windows_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Debug|x86.Build.0 = Windows_Debug|Any CPU
+ {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.FreeBSD_Debug|Any CPU.ActiveCfg = FreeBSD_Debug|Any CPU
+ {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.FreeBSD_Debug|Any CPU.Build.0 = FreeBSD_Debug|Any CPU
+ {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.FreeBSD_Release|Any CPU.ActiveCfg = FreeBSD_Release|Any CPU
+ {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.FreeBSD_Release|Any CPU.Build.0 = FreeBSD_Release|Any CPU
{845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Debug|Any CPU.ActiveCfg = Linux_Debug|Any CPU
{845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Debug|Any CPU.Build.0 = Linux_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Debug|ARM.ActiveCfg = Linux_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Debug|ARM.Build.0 = Linux_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Debug|x64.ActiveCfg = Linux_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Debug|x64.Build.0 = Linux_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Debug|x86.ActiveCfg = Linux_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Debug|x86.Build.0 = Linux_Debug|Any CPU
{845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Release|Any CPU.ActiveCfg = Linux_Release|Any CPU
{845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Release|Any CPU.Build.0 = Linux_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Release|ARM.ActiveCfg = Linux_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Release|ARM.Build.0 = Linux_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Release|x64.ActiveCfg = Linux_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Release|x64.Build.0 = Linux_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Release|x86.ActiveCfg = Linux_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Linux_Release|x86.Build.0 = Linux_Release|Any CPU
{845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Debug|Any CPU.ActiveCfg = OSX_Debug|Any CPU
{845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Debug|Any CPU.Build.0 = OSX_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Debug|ARM.ActiveCfg = OSX_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Debug|ARM.Build.0 = OSX_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Debug|x64.ActiveCfg = OSX_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Debug|x64.Build.0 = OSX_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Debug|x86.ActiveCfg = OSX_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Debug|x86.Build.0 = OSX_Debug|Any CPU
{845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Release|Any CPU.ActiveCfg = OSX_Release|Any CPU
{845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Release|Any CPU.Build.0 = OSX_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Release|ARM.ActiveCfg = OSX_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Release|ARM.Build.0 = OSX_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Release|x64.ActiveCfg = OSX_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Release|x64.Build.0 = OSX_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Release|x86.ActiveCfg = OSX_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.OSX_Release|x86.Build.0 = OSX_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Release|Any CPU.ActiveCfg = Windows_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Release|Any CPU.Build.0 = Windows_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Release|ARM.ActiveCfg = Windows_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Release|ARM.Build.0 = Windows_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Release|x64.ActiveCfg = Windows_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Release|x64.Build.0 = Windows_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Release|x86.ActiveCfg = Windows_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Release|x86.Build.0 = Windows_Release|Any CPU
{845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Debug|Any CPU.ActiveCfg = Windows_Debug|Any CPU
{845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Debug|Any CPU.Build.0 = Windows_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Debug|ARM.ActiveCfg = Windows_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Debug|ARM.Build.0 = Windows_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Debug|x64.ActiveCfg = Windows_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Debug|x64.Build.0 = Windows_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Debug|x86.ActiveCfg = Windows_Debug|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Debug|x86.Build.0 = Windows_Debug|Any CPU
{845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Release|Any CPU.ActiveCfg = Windows_Release|Any CPU
{845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Release|Any CPU.Build.0 = Windows_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Release|ARM.ActiveCfg = Windows_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Release|ARM.Build.0 = Windows_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Release|x64.ActiveCfg = Windows_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Release|x64.Build.0 = Windows_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Release|x86.ActiveCfg = Windows_Release|Any CPU
- {845D2B72-D8A4-42E5-9BE9-17639EC4FC1A}.Windows_Release|x86.Build.0 = Windows_Release|Any CPU
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE