Skip to content

Commit 6e17b20

Browse files
authored
Merge branch 'release/9.0.1xx' into internal-merge-9.0.1xx-2025-06-10-1319
2 parents 26a30e5 + 57da50e commit 6e17b20

File tree

3 files changed

+48
-48
lines changed

3 files changed

+48
-48
lines changed

test/Microsoft.NET.Build.Tests/GivenThatWeWantToVerifyNuGetReferenceCompat.cs

Lines changed: 41 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -13,20 +13,9 @@ public GivenThatWeWantToVerifyNuGetReferenceCompat(ITestOutputHelper log) : base
1313

1414
[Theory]
1515
[InlineData("net45", "Full", "netstandard1.0 netstandard1.1 net45", true, true)]
16-
[InlineData("net451", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 net45 net451", true, true)]
17-
[InlineData("net46", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 net45 net451 net46", true, true)]
18-
[InlineData("net461", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0 net45 net451 net46 net461", true, true)]
1916
[InlineData("net462", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0 net45 net451 net46 net461 net462", true, true)]
20-
[InlineData("netstandard1.0", "Full", "netstandard1.0", true, true)]
21-
[InlineData("netstandard1.1", "Full", "netstandard1.0 netstandard1.1", true, true)]
22-
[InlineData("netstandard1.2", "Full", "netstandard1.0 netstandard1.1 netstandard1.2", true, true)]
23-
[InlineData("netstandard1.3", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3", true, true)]
24-
[InlineData("netstandard1.4", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4", true, true)]
25-
[InlineData("netstandard1.5", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5", true, true)]
2617
[InlineData("netstandard1.6", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6", true, true)]
2718
[InlineData("netstandard2.0", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0", true, true)]
28-
[InlineData("netcoreapp1.0", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netcoreapp1.0", true, true)]
29-
[InlineData("netcoreapp1.1", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netcoreapp1.0 netcoreapp1.1", true, true)]
3019
[InlineData("netcoreapp2.0", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0 netcoreapp1.0 netcoreapp1.1 netcoreapp2.0", true, true)]
3120

3221
[InlineData("netstandard2.0", "OptIn", "net45 net451 net46 net461", true, true)]
@@ -46,31 +35,53 @@ public void Nuget_reference_compat(string referencerTarget, string testDescripti
4635
return;
4736
}
4837

49-
foreach (string dependencyTarget in rawDependencyTargets.Split(',', ';', ' ').ToList())
50-
{
51-
TestProject dependencyProject = GetTestProject(ConstantStringValues.DependencyDirectoryNamePrefix + dependencyTarget.Replace('.', '_'), dependencyTarget, true);
52-
TestPackageReference dependencyPackageReference = new(
53-
dependencyProject.Name,
54-
"1.0.0",
55-
ConstantStringValues.ConstructNuGetPackageReferencePath(dependencyProject, identifier: referencerTarget + testDescription + rawDependencyTargets));
38+
var dependencyPackageReferences = new List<TestPackageReference>();
5639

57-
// Skip creating the NuGet package if not running on Windows; or if the NuGet package already exists
58-
// https://github.com/dotnet/sdk/issues/335
59-
if (RuntimeInformation.IsOSPlatform(OSPlatform.Windows) || dependencyProject.BuildsOnNonWindows)
40+
// Process all dependencies in parallel
41+
Parallel.ForEach(
42+
rawDependencyTargets.Split(',', ';', ' ').Where(s => !string.IsNullOrWhiteSpace(s)),
43+
new ParallelOptions { MaxDegreeOfParallelism = Environment.ProcessorCount },
44+
dependencyTarget =>
6045
{
61-
if (!dependencyPackageReference.NuGetPackageExists())
46+
// Create the dependency project and package
47+
TestProject dependencyProject = GetTestProject(
48+
ConstantStringValues.DependencyDirectoryNamePrefix + dependencyTarget.Replace('.', '_'),
49+
dependencyTarget,
50+
true);
51+
52+
TestPackageReference dependencyPackageReference = new(
53+
dependencyProject.Name,
54+
"1.0.0",
55+
ConstantStringValues.ConstructNuGetPackageReferencePath(dependencyProject, identifier: referencerTarget + testDescription + rawDependencyTargets));
56+
57+
// Create package if it doesn't exist
58+
if (!dependencyPackageReference.NuGetPackageExists() &&
59+
(RuntimeInformation.IsOSPlatform(OSPlatform.Windows) || dependencyProject.BuildsOnNonWindows))
6260
{
63-
// Create the NuGet packages
64-
var dependencyTestAsset = _testAssetsManager.CreateTestProject(dependencyProject, identifier: referencerTarget + testDescription + rawDependencyTargets);
65-
var dependencyRestoreCommand = dependencyTestAsset.GetRestoreCommand(Log, relativePath: dependencyProject.Name).Execute().Should().Pass();
66-
var dependencyProjectDirectory = Path.Combine(dependencyTestAsset.TestRoot, dependencyProject.Name);
61+
if (!dependencyPackageReference.NuGetPackageExists())
62+
{
63+
var dependencyTestAsset = _testAssetsManager.CreateTestProject(
64+
dependencyProject,
65+
identifier: referencerTarget + testDescription + rawDependencyTargets);
66+
67+
dependencyTestAsset.GetRestoreCommand(Log, relativePath: dependencyProject.Name)
68+
.Execute().Should().Pass();
69+
70+
var dependencyProjectDirectory = Path.Combine(
71+
dependencyTestAsset.TestRoot,
72+
dependencyProject.Name);
73+
74+
new PackCommand(Log, dependencyProjectDirectory)
75+
.Execute().Should().Pass();
76+
}
6777

68-
var dependencyPackCommand = new PackCommand(Log, dependencyProjectDirectory);
69-
var dependencyPackResult = dependencyPackCommand.Execute().Should().Pass();
7078
}
79+
});
7180

72-
referencerProject.PackageReferences.Add(dependencyPackageReference);
73-
}
81+
// Add all references to the referencer project
82+
foreach (var dependencyPackageReference in dependencyPackageReferences)
83+
{
84+
referencerProject.PackageReferences.Add(dependencyPackageReference);
7485
}
7586

7687
// Skip running tests if no NuGet packages are referenced

test/Microsoft.NET.Build.Tests/GivenThatWeWantToVerifyProjectReferenceCompat.cs

Lines changed: 0 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -11,20 +11,9 @@ public GivenThatWeWantToVerifyProjectReferenceCompat(ITestOutputHelper log) : ba
1111

1212
[Theory]
1313
[InlineData("net45", "Full", "netstandard1.0 netstandard1.1 net45", true, true)]
14-
[InlineData("net451", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 net45 net451", true, true)]
15-
[InlineData("net46", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 net45 net451 net46", true, true)]
16-
[InlineData("net461", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0 net45 net451 net46 net461", true, true)]
1714
[InlineData("net462", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0 net45 net451 net46 net461 net462", true, true)]
18-
[InlineData("netstandard1.0", "Full", "netstandard1.0", true, true)]
19-
[InlineData("netstandard1.1", "Full", "netstandard1.0 netstandard1.1", true, true)]
20-
[InlineData("netstandard1.2", "Full", "netstandard1.0 netstandard1.1 netstandard1.2", true, true)]
21-
[InlineData("netstandard1.3", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3", true, true)]
22-
[InlineData("netstandard1.4", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4", true, true)]
23-
[InlineData("netstandard1.5", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5", true, true)]
2415
[InlineData("netstandard1.6", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6", true, true)]
2516
[InlineData("netstandard2.0", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0", true, true)]
26-
[InlineData("netcoreapp1.0", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netcoreapp1.0", true, true)]
27-
[InlineData("netcoreapp1.1", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netcoreapp1.0 netcoreapp1.1", true, true)]
2817
[InlineData("netcoreapp2.0", "Full", "netstandard1.0 netstandard1.1 netstandard1.2 netstandard1.3 netstandard1.4 netstandard1.5 netstandard1.6 netstandard2.0 netcoreapp1.0 netcoreapp1.1 netcoreapp2.0", true, true)]
2918

3019
public void Project_reference_compat(string referencerTarget, string testIDPostFix, string rawDependencyTargets,

test/Microsoft.NET.Publish.Tests/GivenThatWeWantToRunILLink.cs

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -96,7 +96,7 @@ public void ILLink_runs_and_creates_linked_app(string targetFramework, bool refe
9696
}
9797

9898
[RequiresMSBuildVersionTheory("17.0.0.32901")]
99-
[MemberData(nameof(SupportedTfms), MemberType = typeof(PublishTestUtils))]
99+
[MemberData(nameof(Net8Plus), MemberType = typeof(PublishTestUtils))]
100100
public void ILLink_links_simple_app_without_analysis_warnings_and_it_runs(string targetFramework)
101101
{
102102
foreach (var trimMode in new[] { "copyused", "link" })
@@ -248,7 +248,7 @@ public void ILLink_can_use_latest_with_unsupported_target_framework(string targe
248248
}
249249

250250
[RequiresMSBuildVersionTheory("17.0.0.32901")]
251-
[MemberData(nameof(SupportedTfms), MemberType = typeof(PublishTestUtils))]
251+
[MemberData(nameof(Net8Plus), MemberType = typeof(PublishTestUtils))]
252252
public void PrepareForILLink_can_set_IsTrimmable(string targetFramework)
253253
{
254254
var projectName = "HelloWorld";
@@ -1192,7 +1192,7 @@ public void ILLink_ignores_host_config_settings_with_link_false()
11921192
}
11931193

11941194
[RequiresMSBuildVersionTheory("17.0.0.32901")]
1195-
[MemberData(nameof(SupportedTfms), MemberType = typeof(PublishTestUtils))]
1195+
[MemberData(nameof(Net8Plus), MemberType = typeof(PublishTestUtils))]
11961196
public void ILLink_runs_incrementally(string targetFramework)
11971197
{
11981198
var projectName = "HelloWorld";
@@ -1295,7 +1295,7 @@ public void ILLink_net7_defaults_trim_nonframework()
12951295
}
12961296

12971297
[RequiresMSBuildVersionTheory("17.0.0.32901")]
1298-
[MemberData(nameof(SupportedTfms), MemberType = typeof(PublishTestUtils))]
1298+
[MemberData(nameof(Net8Plus), MemberType = typeof(PublishTestUtils))]
12991299
public void ILLink_does_not_include_leftover_artifacts_on_second_run(string targetFramework)
13001300
{
13011301
var projectName = "HelloWorld";
@@ -1381,7 +1381,7 @@ public void ILLink_keeps_symbols_by_default(string targetFramework)
13811381
}
13821382

13831383
[RequiresMSBuildVersionTheory("17.0.0.32901")]
1384-
[MemberData(nameof(SupportedTfms), MemberType = typeof(PublishTestUtils))]
1384+
[MemberData(nameof(Net8Plus), MemberType = typeof(PublishTestUtils))]
13851385
public void ILLink_removes_symbols_when_debugger_support_is_disabled(string targetFramework)
13861386
{
13871387
var projectName = "HelloWorld";
@@ -1409,7 +1409,7 @@ public void ILLink_removes_symbols_when_debugger_support_is_disabled(string targ
14091409
}
14101410

14111411
[RequiresMSBuildVersionTheory("17.0.0.32901")]
1412-
[MemberData(nameof(SupportedTfms), MemberType = typeof(PublishTestUtils))]
1412+
[MemberData(nameof(Net8Plus), MemberType = typeof(PublishTestUtils))]
14131413
public void ILLink_accepts_option_to_remove_symbols(string targetFramework)
14141414
{
14151415
var projectName = "HelloWorld";
@@ -1660,7 +1660,7 @@ public void ILLink_dont_display_informational_warning_by_default_on_net6plus(str
16601660
}
16611661

16621662
[RequiresMSBuildVersionTheory("17.0.0.32901")]
1663-
[MemberData(nameof(SupportedTfms), MemberType = typeof(PublishTestUtils))]
1663+
[MemberData(nameof(Net8Plus), MemberType = typeof(PublishTestUtils))]
16641664
public void ILLink_dont_display_time_awareness_message_on_incremental_build(string targetFramework)
16651665
{
16661666
var projectName = "HelloWorld";

0 commit comments

Comments
 (0)