Update Environment.OSVersion for browser platform (#38790)
authorMarek Safar <marek.safar@gmail.com>
Fri, 10 Jul 2020 22:06:56 +0000 (00:06 +0200)
committerGitHub <noreply@github.com>
Fri, 10 Jul 2020 22:06:56 +0000 (00:06 +0200)
* Update Environment.OSVersion for browser platform

* Reflect api review

src/libraries/System.Private.CoreLib/src/System.Private.CoreLib.Shared.projitems
src/libraries/System.Private.CoreLib/src/System/Environment.OSVersion.Browser.cs [new file with mode: 0644]
src/libraries/System.Private.CoreLib/src/System/PlatformID.cs
src/libraries/System.Runtime/ref/System.Runtime.cs

index a5422ab..983a30c 100644 (file)
     <Compile Include="$(MSBuildThisFileDirectory)System\Environment.NoRegistry.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)System\Environment.Unix.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)System\Environment.OSVersion.OSX.cs" Condition="'$(IsOSXLike)' == 'true'" />
-    <Compile Include="$(MSBuildThisFileDirectory)System\Environment.OSVersion.Unix.cs" Condition="'$(IsOSXLike)' != 'true'" />
+    <Compile Include="$(MSBuildThisFileDirectory)System\Environment.OSVersion.Unix.cs" Condition="'$(IsOSXLike)' != 'true' and '$(TargetsBrowser)' != 'true'" />
     <Compile Include="$(MSBuildThisFileDirectory)System\Environment.GetFolderPathCore.Unix.cs" Condition="'$(TargetsiOS)' != 'true' and '$(TargetstvOS)' != 'true'" />
     <Compile Include="$(MSBuildThisFileDirectory)System\Globalization\CalendarData.Unix.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)System\Globalization\CultureData.Unix.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)System\Threading\TimerQueue.Unix.cs" />
     <Compile Include="$(MSBuildThisFileDirectory)System\TimeZoneInfo.Unix.cs" />
   </ItemGroup>
+  <ItemGroup Condition="'$(TargetsBrowser)' == 'true'">
+    <Compile Include="$(MSBuildThisFileDirectory)System\Environment.OSVersion.Browser.cs" />
+  </ItemGroup>
   <ItemGroup Condition="'$(IsOSXLike)' == 'true'">
     <Compile Include="$(CommonPath)Interop\OSX\Interop.libobjc.cs">
       <Link>Common\Interop\OSX\Interop.libobjc.cs</Link>
diff --git a/src/libraries/System.Private.CoreLib/src/System/Environment.OSVersion.Browser.cs b/src/libraries/System.Private.CoreLib/src/System/Environment.OSVersion.Browser.cs
new file mode 100644 (file)
index 0000000..9dd80cb
--- /dev/null
@@ -0,0 +1,14 @@
+// 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.
+
+namespace System
+{
+    public static partial class Environment
+    {
+        private static OperatingSystem GetOSVersion()
+        {
+            return new OperatingSystem(PlatformID.Other, new Version(1, 0, 0, 0));
+        }
+    }
+}
index 31e9210..475cdc4 100644 (file)
@@ -13,6 +13,7 @@ namespace System
         [EditorBrowsable(EditorBrowsableState.Never)] WinCE = 3,
         Unix = 4,
         [EditorBrowsable(EditorBrowsableState.Never)] Xbox = 5,
-        [EditorBrowsable(EditorBrowsableState.Never)] MacOSX = 6
+        [EditorBrowsable(EditorBrowsableState.Never)] MacOSX = 6,
+        Other = 7
     }
 }
index 388eeea..0baf640 100644 (file)
@@ -3077,6 +3077,7 @@ namespace System
         Xbox = 5,
         [System.ComponentModel.EditorBrowsableAttribute(System.ComponentModel.EditorBrowsableState.Never)]
         MacOSX = 6,
+        Other = 7,
     }
     public partial class PlatformNotSupportedException : System.NotSupportedException
     {