/// <remarks>
/// Product runtime binaries are not added. All the added mock framework will contain is a mock version of host policy.
/// </remarks>
- public DotNetBuilder AddMicrosoftNETCoreAppFramework(string version)
+ public DotNetBuilder AddMicrosoftNETCoreAppFrameworkMockHostPolicy(string version)
{
// ./shared/Microsoft.NETCore.App/<version> - create a mock of the root framework
string netCoreAppPath = Path.Combine(_path, "shared", "Microsoft.NETCore.App", version);
}
/// <summary>
+ /// Add a mock of the Microsoft.NETCore.App framework with the specified version
+ /// </summary>
+ /// <param name="version">Version to add</param>
+ /// <remarks>
+ /// Product runtime binaries are not added. All the added mock framework will contain is hostpolicy,
+ /// a mock version of coreclr, and a minimal Microsoft.NETCore.App.deps.json.
+ /// </remarks>
+ public DotNetBuilder AddMicrosoftNETCoreAppFrameworkMockCoreClr(string version)
+ {
+ // ./shared/Microsoft.NETCore.App/<version> - create a mock of the root framework
+ string netCoreAppPath = Path.Combine(_path, "shared", "Microsoft.NETCore.App", version);
+ Directory.CreateDirectory(netCoreAppPath);
+
+ // ./shared/Microsoft.NETCore.App/<version>/hostpolicy.dll - this is the real component and will load CoreClr library
+ string hostPolicyFileName = RuntimeInformationExtensions.GetSharedLibraryFileNameForCurrentPlatform("hostpolicy");
+ File.Copy(
+ Path.Combine(_repoDirectories.Artifacts, "corehost", hostPolicyFileName),
+ Path.Combine(netCoreAppPath, hostPolicyFileName),
+ true);
+
+ // ./shared/Microsoft.NETCore.App/<version>/coreclr.dll - this is a mock, will not actually run CoreClr
+ string coreclrFileName = RuntimeInformationExtensions.GetSharedLibraryFileNameForCurrentPlatform("coreclr");
+ string mockCoreclrFileName = RuntimeInformationExtensions.GetSharedLibraryFileNameForCurrentPlatform("mockcoreclr");
+ File.Copy(
+ Path.Combine(_repoDirectories.Artifacts, "corehost_test", mockCoreclrFileName),
+ Path.Combine(netCoreAppPath, coreclrFileName),
+ true);
+
+ string netCoreAppPathDepsJson = Path.Combine(netCoreAppPath, "Microsoft.NETCore.App.deps.json");
+
+ string currentRid = _repoDirectories.TargetRID;
+
+ string depsJsonBody = $@"{{
+ ""runtimeTarget"": "".NETCoreApp"",
+ ""targets"": {{
+ "".NETCoreApp"": {{
+ ""Microsoft.NETCore.App/{version}"": {{
+ ""native"": {{
+ ""runtimes/{currentRid}/native/{coreclrFileName}"": {{ }}
+ }}
+ }},
+ ""runtime.{currentRid}.Microsoft.NETCore.DotNetHostPolicy/{version}"": {{
+ ""native"": {{
+ ""runtimes/{currentRid}/native/{hostPolicyFileName}"": {{}}
+ }}
+ }}
+ }}
+ }},
+ ""libraries"": {{
+ ""Microsoft.NETCore.App/{version}"": {{
+ ""type"": ""package"",
+ ""serviceable"": true,
+ ""sha512"": """"
+ }}
+ }}
+ }}";
+
+ File.WriteAllText(netCoreAppPathDepsJson, depsJsonBody);
+ return this;
+ }
+
+ /// <summary>
/// Add a mock framework with the specified framework name and version
/// </summary>
/// <param name="name">Framework name</param>
public SharedTestState()
{
DotNetWithFrameworks = DotNet("WithOneFramework")
- .AddMicrosoftNETCoreAppFramework("5.1.2")
- .AddMicrosoftNETCoreAppFramework("5.1.3")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.1.2")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.1.3")
.AddFramework(MiddleWare, "2.1.2", runtimeConfig =>
runtimeConfig.WithFramework(MicrosoftNETCoreApp, "5.1.2"))
.Build();
public SharedTestState()
{
DotNetWithFrameworks = DotNet("WithOneFramework")
- .AddMicrosoftNETCoreAppFramework("2.5.4")
- .AddMicrosoftNETCoreAppFramework("2.5.5")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("2.5.4")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("2.5.5")
.AddFramework(
MiddleWare, "2.1.2",
runtimeConfig => runtimeConfig.WithFramework(MicrosoftNETCoreApp, "2.5.5"))
public SharedTestState()
{
DotNetMainHive = DotNet("MainHive")
- .AddMicrosoftNETCoreAppFramework("5.2.0")
- .AddMicrosoftNETCoreAppFramework("6.1.2")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.2.0")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("6.1.2")
.Build();
DotNetGlobalHive = DotNet("GlobalHive")
- .AddMicrosoftNETCoreAppFramework("5.1.2")
- .AddMicrosoftNETCoreAppFramework("6.2.0")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.1.2")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("6.2.0")
.Build();
DotNetCurrentHive = DotNet("CurrentHive")
- .AddMicrosoftNETCoreAppFramework("5.1.0")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.1.0")
.Build();
FrameworkReferenceApp = CreateFrameworkReferenceApp();
public SharedTestState()
{
DotNetWithOneFramework = DotNet("WithOneFramework")
- .AddMicrosoftNETCoreAppFramework("5.1.3")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.1.3")
.Build();
DotNetWithPreReleaseFramework = DotNet("WithPreReleaseFramework")
- .AddMicrosoftNETCoreAppFramework("5.1.3-preview.2")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.1.3-preview.2")
.Build();
DotNetWithManyVersions = DotNet("WithManyVersions")
- .AddMicrosoftNETCoreAppFramework("2.3.1-preview.1")
- .AddMicrosoftNETCoreAppFramework("2.3.2")
- .AddMicrosoftNETCoreAppFramework("4.1.1")
- .AddMicrosoftNETCoreAppFramework("4.1.2")
- .AddMicrosoftNETCoreAppFramework("4.1.3-preview.1")
- .AddMicrosoftNETCoreAppFramework("4.2.1")
- .AddMicrosoftNETCoreAppFramework("4.5.1-preview.1")
- .AddMicrosoftNETCoreAppFramework("4.5.2")
- .AddMicrosoftNETCoreAppFramework("5.1.3-preview.1")
- .AddMicrosoftNETCoreAppFramework("5.1.3-preview.2")
- .AddMicrosoftNETCoreAppFramework("5.1.4-preview.1")
- .AddMicrosoftNETCoreAppFramework("5.2.3-preview.1")
- .AddMicrosoftNETCoreAppFramework("5.2.3-preview.2")
- .AddMicrosoftNETCoreAppFramework("6.1.1")
- .AddMicrosoftNETCoreAppFramework("6.1.2-preview.1")
- .AddMicrosoftNETCoreAppFramework("7.1.1-preview.1")
- .AddMicrosoftNETCoreAppFramework("7.1.2-preview.1")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("2.3.1-preview.1")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("2.3.2")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("4.1.1")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("4.1.2")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("4.1.3-preview.1")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("4.2.1")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("4.5.1-preview.1")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("4.5.2")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.1.3-preview.1")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.1.3-preview.2")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.1.4-preview.1")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.2.3-preview.1")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.2.3-preview.2")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("6.1.1")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("6.1.2-preview.1")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("7.1.1-preview.1")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("7.1.2-preview.1")
.Build();
FrameworkReferenceApp = CreateFrameworkReferenceApp();
public SharedTestState()
{
DotNetWithMultipleFrameworks = DotNet("WithOneFramework")
- .AddMicrosoftNETCoreAppFramework("5.1.1")
- .AddMicrosoftNETCoreAppFramework("5.1.3")
- .AddMicrosoftNETCoreAppFramework("5.4.1")
- .AddMicrosoftNETCoreAppFramework("5.6.0")
- .AddMicrosoftNETCoreAppFramework("6.0.0")
- .AddMicrosoftNETCoreAppFramework("6.1.1-preview.1")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.1.1")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.1.3")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.4.1")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.6.0")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("6.0.0")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("6.1.1-preview.1")
.AddFramework(MiddleWare, "2.1.2", runtimeConfig =>
runtimeConfig.WithFramework(MicrosoftNETCoreApp, "5.1.3"))
.AddFramework(AnotherMiddleWare, "3.0.0", runtimeConfig =>
public SharedTestState()
{
DotNetWithFrameworks = DotNet("WithOneFramework")
- .AddMicrosoftNETCoreAppFramework("5.1.3")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("5.1.3")
.AddFramework(
MiddleWare, "2.1.2",
runtimeConfig => runtimeConfig.WithFramework(MicrosoftNETCoreApp, "5.1.3"))
_regDir = Path.Combine(_multilevelDir, "reg");
DotNet = new DotNetBuilder(_multilevelDir, Path.Combine(TestArtifact.TestArtifactsPath, "sharedFrameworkPublish"), "exe")
- .AddMicrosoftNETCoreAppFramework("9999.0.0")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("9999.0.0")
.Build();
RepoDirectories = new RepoDirectoriesProvider(builtDotnet: DotNet.BinPath);
_executableDir = Path.Combine(_baseDir, "exe");
DotNet = new DotNetBuilder(_baseDir, Path.Combine(TestArtifact.TestArtifactsPath, "sharedFrameworkPublish"), "exe")
- .AddMicrosoftNETCoreAppFramework("9999.0.0")
+ .AddMicrosoftNETCoreAppFrameworkMockHostPolicy("9999.0.0")
.Build();
RepoDirectories = new RepoDirectoriesProvider(builtDotnet: DotNet.BinPath);