public System.Reflection.AssemblyName GetAssemblyName(System.String assemblyFile) { throw null; }
}
}
+namespace System.Runtime
+{
+ public static class ProfileOptimization
+ {
+ public static void SetProfileRoot(string directoryPath) { throw null; }
+ public static void StartProfile(string profile) { throw null; }
+ }
+}
namespace System.Runtime.Versioning
{
public sealed partial class FrameworkName : System.IEquatable<System.Runtime.Versioning.FrameworkName>
<Compile Include="System\IO\InvalidDataException.cs" />
<Compile Include="System\Net\WebUtility.cs" />
<Compile Include="System\Reflection\AssemblyNameProxy.cs" />
+ <Compile Include="System\Runtime\ProfileOptimization.cs" />
<Compile Include="System\Runtime\Versioning\FrameworkName.cs" />
<Compile Include="System\Runtime\Versioning\ComponentGuaranteesAttribute.cs" />
<Compile Include="System\Runtime\Versioning\ResourceConsumptionAttribute.cs" />
--- /dev/null
+// 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.
+
+using System.Runtime.Loader;
+
+namespace System.Runtime
+{
+ public static class ProfileOptimization
+ {
+ public static void SetProfileRoot(string directoryPath)
+ {
+ AssemblyLoadContext.Default.SetProfileOptimizationRoot(directoryPath);
+ }
+
+ public static void StartProfile(string profile)
+ {
+ AssemblyLoadContext.Default.StartProfileOptimization(profile);
+ }
+ }
+}
<Compile Include="System\IO\PathTests.netcoreapp.cs" />
<Compile Include="System\IO\PathTests_Unix.cs" />
<Compile Include="System\IO\PathTests_Join.netcoreapp.cs" />
+ <Compile Include="System\Runtime\ProfileOptimization.netcoreapp.cs" />
</ItemGroup>
<ItemGroup Condition="'$(TargetGroup)'!='netstandard'">
<Compile Include="System\BitConverterSpan.cs" />
--- /dev/null
+// 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.
+
+using System.Diagnostics;
+using System.IO;
+using Xunit;
+
+namespace System.Runtime.Tests
+{
+ public class ProfileOptimizationTest : RemoteExecutorTestBase
+ {
+ [Fact]
+ public void ProfileOptimization_CheckFileExists()
+ {
+ string tmpProfileFilePath = GetTestFileName();
+
+ RemoteInvoke(profileFilePath =>
+ {
+ ProfileOptimization.SetProfileRoot(Path.GetDirectoryName(profileFilePath));
+ ProfileOptimization.StartProfile(Path.GetFileName(profileFilePath));
+ return 42;
+ }, tmpProfileFilePath).Dispose();
+
+ FileInfo fileInfo = new FileInfo(tmpProfileFilePath);
+ Assert.True(fileInfo.Exists);
+ Assert.True(fileInfo.Length > 0);
+ }
+ }
+}