Skip to content

Commit 5bfc41b

Browse files
.NET 10 + Cleanup (#649)
1 parent 963540a commit 5bfc41b

30 files changed

+217
-229
lines changed

Directory.Build.props

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
<DefaultItemExcludes>*log</DefaultItemExcludes>
44
<MSBuildTreatWarningsAsErrors>true</MSBuildTreatWarningsAsErrors>
55
<LangVersion>Latest</LangVersion>
6-
<BaseArtifactsPath>$(MSBuildThisFileDirectory)artifacts\</BaseArtifactsPath>
76
<EnableDefaultNoneItems>false</EnableDefaultNoneItems>
87
<NoWarn>$(NoWarn);NU5128;SA0001</NoWarn>
98
<!--
@@ -12,7 +11,7 @@
1211
-->
1312
<RestoreUseStaticGraphEvaluation>false</RestoreUseStaticGraphEvaluation>
1413
<RestoreSerializeGlobalProperties>true</RestoreSerializeGlobalProperties>
15-
<UseArtifactsOutput>false</UseArtifactsOutput>
14+
<UseArtifactsOutput>true</UseArtifactsOutput>
1615
<IsTestProject Condition="$(MSBuildProjectName.EndsWith('UnitTests'))">true</IsTestProject>
1716
<IsPackable Condition="'$(IsTestProject)' != 'true'">true</IsPackable>
1817

Directory.Packages.props

Lines changed: 47 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -2,60 +2,74 @@
22
<PropertyGroup>
33
<ManagePackageVersionsCentrally>true</ManagePackageVersionsCentrally>
44
<CentralPackageTransitivePinningEnabled>true</CentralPackageTransitivePinningEnabled>
5-
65
<!-- Please use caution adding a dependency to MSBuild packages. Use latest for testing and
76
use the minimum version for compilation for back compat. -->
8-
<MicrosoftBuildPackageVersion>17.11.4</MicrosoftBuildPackageVersion>
9-
<MicrosoftBuildMinimumPackageVersion>16.11.0</MicrosoftBuildMinimumPackageVersion>
7+
<MicrosoftBuildPackageVersion>17.14.28</MicrosoftBuildPackageVersion>
8+
<MicrosoftBuildPackageNet8>17.11.48</MicrosoftBuildPackageNet8>
109
</PropertyGroup>
11-
<ItemGroup>
12-
<PackageVersion Include="CopyOnWrite" Version="0.5.0" Condition=" '$(TargetFramework)' != 'net46' " />
13-
<PackageVersion Include="Microsoft.Bcl.HashCode" Version="6.0.0" />
10+
11+
<ItemGroup Condition="'$(TargetFramework)' == 'net8.0' Or '$(TargetFramework)' == 'netstandard2.0'">
12+
<PackageVersion Include="Microsoft.Build" Version="$(MicrosoftBuildPackageNet8)" />
13+
<PackageVersion Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildPackageNet8)" />
14+
<PackageVersion Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildPackageNet8)" />
15+
<PackageVersion Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildPackageNet8)" />
16+
<PackageVersion Include="System.Text.Json" Version="8.0.5" />
17+
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="8.0.0" />
18+
<PackageVersion Include="System.Threading.Tasks.Dataflow" Version="8.0.0" />
19+
</ItemGroup>
20+
21+
<ItemGroup Condition="'$(TargetFramework)' != 'net8.0' And '$(TargetFramework)' != 'netstandard2.0'"> <!-- And '$(TargetFramework)' != 'net472'">-->
1422
<PackageVersion Include="Microsoft.Build" Version="$(MicrosoftBuildPackageVersion)" />
1523
<PackageVersion Include="Microsoft.Build.Framework" Version="$(MicrosoftBuildPackageVersion)" />
16-
<!--
17-
Suppress advisory for Microsoft.Build.Tasks.Core as this repo only compiles against these assemblies,
18-
and uses a lower version for compatability. The actual version used at runtime is the version of
19-
MSBuild actually running.
20-
-->
21-
<NuGetAuditSuppress Include="https://github.com/advisories/GHSA-h4j7-5rxr-p4wc" />
2224
<PackageVersion Include="Microsoft.Build.Tasks.Core" Version="$(MicrosoftBuildPackageVersion)" />
2325
<PackageVersion Include="Microsoft.Build.Utilities.Core" Version="$(MicrosoftBuildPackageVersion)" />
24-
<PackageVersion Include="Microsoft.Win32.Registry" Version="5.0.0" />
26+
27+
<PackageVersion Include="System.Text.Json" Version="9.0.0" />
28+
<PackageVersion Include="Microsoft.Bcl.AsyncInterfaces" Version="9.0.0" />
29+
<PackageVersion Include="System.Threading.Tasks.Dataflow" Version="9.0.0" />
30+
</ItemGroup>
31+
32+
<ItemGroup>
33+
<PackageVersion Include="CopyOnWrite" Version="0.5.0" />
34+
<PackageVersion Include="Microsoft.Bcl.HashCode" Version="6.0.0" />
35+
36+
2537
<PackageVersion Include="Newtonsoft.Json" Version="13.0.3" />
26-
<PackageVersion Include="System.CodeDom" Version="8.0.0" />
27-
<PackageVersion Include="System.Collections.Immutable" Version="8.0.0" />
38+
39+
2840
<PackageVersion Include="System.Net.Http" Version="4.3.4" />
29-
30-
<!-- Suppress high vuln Component Governance alert. >8.0.4 breaks downlevel VS installations. VS team working to fix. -->
31-
<!-- https://github.com/microsoft/MSBuildSdks/issues/591 -->
32-
<NuGetAuditSuppress Include="https://github.com/advisories/GHSA-8g4q-xg66-9fp4" />
33-
<PackageVersion Include="System.Text.Json" Version="8.0.4" />
34-
35-
<PackageVersion Include="System.Threading.Tasks.Dataflow" Version="8.0.1" />
36-
37-
<!-- Pinning vulnerable packages -->
41+
<PackageVersion Include="System.CodeDom" Version="9.0.0" />
42+
<PackageVersion Include="Microsoft.Win32.Registry" Version="5.0.0" />
43+
<PackageVersion Include="System.Collections.Immutable" Version="9.0.0" />
44+
<!--
45+
46+
47+
48+
49+
50+
-->
51+
<!-- Pinning vulnerable packages
3852
<PackageVersion Include="System.Security.Cryptography.Xml" Version="8.0.1" />
3953
<PackageVersion Include="Microsoft.IO.Redist" Version="6.0.1" />
40-
<PackageVersion Include="System.Formats.Asn1" Version="8.0.1" />
54+
<PackageVersion Include="System.Formats.Asn1" Version="8.0.1" />-->
4155
</ItemGroup>
56+
4257
<ItemGroup Condition="'$(IsTestProject)' == 'true'">
43-
<PackageVersion Include="AssemblyShader" Version="1.0.3-preview" />
58+
<PackageVersion Include="AssemblyShader" Version="1.1.3" />
4459
<PackageVersion Include="Microsoft.NET.Test.Sdk" Version="17.11.1" />
45-
<PackageVersion Include="MSBuild.ProjectCreation" Version="13.0.0" />
60+
<PackageVersion Include="MSBuild.ProjectCreation" Version="16.1.0" />
4661
<PackageVersion Include="Shouldly" Version="4.2.1" />
47-
<PackageVersion Include="xunit" Version="2.9.2" />
48-
<PackageVersion Include="xunit.analyzers" Version="1.16.0" />
49-
<PackageVersion Include="xunit.runner.visualstudio" Version="2.8.2" />
62+
<PackageVersion Include="xunit" Version="2.9.3" />
63+
<PackageVersion Include="xunit.analyzers" Version="1.25.0" />
64+
<PackageVersion Include="xunit.runner.visualstudio" Version="3.1.5" />
5065
</ItemGroup>
5166
<ItemGroup>
52-
<GlobalPackageReference Include="Microsoft.Build.Artifacts" Version="6.1.48" Condition="'$(EnableArtifacts)' != 'false'" />
5367
<GlobalPackageReference Include="Microsoft.VisualStudioEng.MicroBuild.Core" Version="1.0.0" Condition="'$(EnableMicroBuild)' != 'false'" />
54-
<GlobalPackageReference Include="Nerdbank.GitVersioning" Version="3.6.133" Condition="'$(EnableGitVersioning)' != 'false'" />
68+
<GlobalPackageReference Include="Nerdbank.GitVersioning" Version="3.9.50" Condition="'$(EnableGitVersioning)' != 'false'" />
5569
</ItemGroup>
5670
<ItemGroup Condition=" '$(EnableStyleCop)' != 'false' ">
5771
<GlobalPackageReference Include="StyleCop.Analyzers" Version="1.1.118" />
5872
<Compile Include="$(MSBuildThisFileDirectory)src\GlobalSuppressions.cs" />
5973
<AdditionalFiles Include="$(MSBuildThisFileDirectory)stylecop.json" />
6074
</ItemGroup>
61-
</Project>
75+
</Project>

MSBuildSdks.sln

Lines changed: 2 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11

22
Microsoft Visual Studio Solution File, Format Version 12.00
3-
# Visual Studio Version 17
4-
VisualStudioVersion = 17.2.32516.85
3+
# Visual Studio Version 18
4+
VisualStudioVersion = 18.0.11205.157 d18.0
55
MinimumVisualStudioVersion = 10.0.40219.1
66
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Build.Traversal", "src\Traversal\Microsoft.Build.Traversal.csproj", "{B93918D4-75EA-467E-8F50-393A1324FF91}"
77
EndProject
@@ -48,16 +48,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Build.Artifacts",
4848
EndProject
4949
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Build.Artifacts.UnitTests", "src\Artifacts.UnitTests\Microsoft.Build.Artifacts.UnitTests.csproj", "{359B2C2B-B9B8-496F-B4B1-9E4359729F89}"
5050
EndProject
51-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "CentralPackageVersions", "CentralPackageVersions", "{FCF015C3-82E5-488D-8438-1410F6572F0B}"
52-
ProjectSection(SolutionItems) = preProject
53-
samples\CentralPackageVersions\Directory.Build.props = samples\CentralPackageVersions\Directory.Build.props
54-
samples\CentralPackageVersions\Directory.Build.targets = samples\CentralPackageVersions\Directory.Build.targets
55-
samples\CentralPackageVersions\Packages.props = samples\CentralPackageVersions\Packages.props
56-
samples\CentralPackageVersions\README.md = samples\CentralPackageVersions\README.md
57-
EndProjectSection
58-
EndProject
59-
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ClassLibrary", "samples\CentralPackageVersions\src\ClassLibrary\ClassLibrary.csproj", "{A266FDFA-BE7C-4E3E-9BEA-EF18EF66540C}"
60-
EndProject
6151
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Traversal", "Traversal", "{5AEA9E7B-4AF2-4E03-A566-7CC30318C311}"
6252
ProjectSection(SolutionItems) = preProject
6353
samples\Traversal\Directory.Build.props = samples\Traversal\Directory.Build.props
@@ -74,10 +64,6 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProjectA", "samples\Travers
7464
EndProject
7565
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProjectB", "samples\Traversal\ProjectB\ProjectB.csproj", "{2035141B-4345-4E79-83DB-979A43BA5C29}"
7666
EndProject
77-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "src", "src", "{145D39C4-285A-4ACF-B86C-7E611969DE35}"
78-
EndProject
79-
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "ClassLibrary", "ClassLibrary", "{35CEF293-5111-4017-A3BA-63FF5710C953}"
80-
EndProject
8167
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "SampleNoTargets", "SampleNoTargets", "{469437EE-241A-4B8A-B7E0-E0F913F5529D}"
8268
EndProject
8369
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Build.CopyOnWrite", "src\CopyOnWrite\Microsoft.Build.CopyOnWrite.csproj", "{153D1183-2953-4D4D-A5AD-AA2CF99B0DE3}"
@@ -134,10 +120,6 @@ Global
134120
{359B2C2B-B9B8-496F-B4B1-9E4359729F89}.Debug|Any CPU.Build.0 = Debug|Any CPU
135121
{359B2C2B-B9B8-496F-B4B1-9E4359729F89}.Release|Any CPU.ActiveCfg = Release|Any CPU
136122
{359B2C2B-B9B8-496F-B4B1-9E4359729F89}.Release|Any CPU.Build.0 = Release|Any CPU
137-
{A266FDFA-BE7C-4E3E-9BEA-EF18EF66540C}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
138-
{A266FDFA-BE7C-4E3E-9BEA-EF18EF66540C}.Debug|Any CPU.Build.0 = Debug|Any CPU
139-
{A266FDFA-BE7C-4E3E-9BEA-EF18EF66540C}.Release|Any CPU.ActiveCfg = Release|Any CPU
140-
{A266FDFA-BE7C-4E3E-9BEA-EF18EF66540C}.Release|Any CPU.Build.0 = Release|Any CPU
141123
{18C7CBF8-98D3-4C47-A11B-2905AF23A20B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
142124
{18C7CBF8-98D3-4C47-A11B-2905AF23A20B}.Debug|Any CPU.Build.0 = Debug|Any CPU
143125
{18C7CBF8-98D3-4C47-A11B-2905AF23A20B}.Release|Any CPU.ActiveCfg = Release|Any CPU
@@ -177,15 +159,11 @@ Global
177159
GlobalSection(NestedProjects) = preSolution
178160
{516F0D1D-C4FE-4832-9E49-903A2C57D3F3} = {867D30F7-2AEC-48E7-B167-4919EE1B0985}
179161
{48F56A6B-A285-4B40-9E96-044F7AA2C532} = {469437EE-241A-4B8A-B7E0-E0F913F5529D}
180-
{FCF015C3-82E5-488D-8438-1410F6572F0B} = {867D30F7-2AEC-48E7-B167-4919EE1B0985}
181-
{A266FDFA-BE7C-4E3E-9BEA-EF18EF66540C} = {35CEF293-5111-4017-A3BA-63FF5710C953}
182162
{5AEA9E7B-4AF2-4E03-A566-7CC30318C311} = {867D30F7-2AEC-48E7-B167-4919EE1B0985}
183163
{615210F2-B751-431E-B2F1-C5D3C205F899} = {5AEA9E7B-4AF2-4E03-A566-7CC30318C311}
184164
{A9CC411B-67F8-4644-873C-1ACBFC12AAA5} = {5AEA9E7B-4AF2-4E03-A566-7CC30318C311}
185165
{18C7CBF8-98D3-4C47-A11B-2905AF23A20B} = {615210F2-B751-431E-B2F1-C5D3C205F899}
186166
{2035141B-4345-4E79-83DB-979A43BA5C29} = {A9CC411B-67F8-4644-873C-1ACBFC12AAA5}
187-
{145D39C4-285A-4ACF-B86C-7E611969DE35} = {FCF015C3-82E5-488D-8438-1410F6572F0B}
188-
{35CEF293-5111-4017-A3BA-63FF5710C953} = {145D39C4-285A-4ACF-B86C-7E611969DE35}
189167
{469437EE-241A-4B8A-B7E0-E0F913F5529D} = {516F0D1D-C4FE-4832-9E49-903A2C57D3F3}
190168
EndGlobalSection
191169
GlobalSection(ExtensibilityGlobals) = postSolution

azure-pipelines-official.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ variables:
88
ArtifactsDirectoryName: 'artifacts'
99
BuildConfiguration: 'Release'
1010
BuildPlatform: 'Any CPU'
11-
DotNetVersion: '9.x'
11+
DotNetVersion: '10.x'
1212
MSBuildArgs: '"/p:Platform=$(BuildPlatform)" "/p:Configuration=$(BuildConfiguration)" "/BinaryLogger:$(Build.SourcesDirectory)\$(ArtifactsDirectoryName)\msbuild.binlog"'
1313
SignType: 'Real'
1414
trigger:

azure-pipelines.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ variables:
77
BuildPlatform: 'Any CPU'
88
DotNet8Version: '8.x'
99
DotNet9Version: '9.x'
10+
DotNet10Version: '10.x'
1011
MSBuildArgs: '"/p:Platform=$(BuildPlatform)" "/p:Configuration=$(BuildConfiguration)" "/BinaryLogger:$(Build.SourcesDirectory)\$(ArtifactsDirectoryName)\msbuild.binlog"'
1112
SignType: 'Test'
1213

@@ -46,6 +47,12 @@ jobs:
4647
version: '$(DotNet9Version)'
4748
includePreviewVersions: true
4849

50+
- task: UseDotNet@2
51+
displayName: 'Install .NET $(DotNet10Version)'
52+
inputs:
53+
version: '$(DotNet10Version)'
54+
includePreviewVersions: true
55+
4956
- task: DotNetCoreCLI@2
5057
displayName: 'Build Solution'
5158
inputs:
@@ -76,6 +83,21 @@ jobs:
7683
testRunTitle: 'Windows .NET 9.0'
7784
condition: succeededOrFailed()
7885

86+
# Disabled due to MSBuild.ProjectCreation dependency issue
87+
# - task: DotNetCoreCLI@2
88+
# displayName: 'Run Unit Tests (.NET 10.0)'
89+
# inputs:
90+
# command: 'test'
91+
# arguments: '--no-restore --no-build --framework net10.0 /noautorsp'
92+
# testRunTitle: 'Windows .NET 10.0'
93+
# condition: succeededOrFailed()
94+
95+
- powershell: |
96+
$bin = "$(Build.SourcesDirectory)\$(ArtifactsDirectoryName)\bin"
97+
if (Test-Path $bin) { Remove-Item -LiteralPath $bin -Recurse -Force }
98+
displayName: 'Remove artifacts/bin (Windows)'
99+
condition: always()
100+
79101
- task: PublishBuildArtifacts@1
80102
displayName: 'Publish Artifacts'
81103
inputs:
@@ -100,6 +122,12 @@ jobs:
100122
version: '$(DotNet9Version)'
101123
includePreviewVersions: true
102124

125+
- task: UseDotNet@2
126+
displayName: 'Install .NET $(DotNet10Version)'
127+
inputs:
128+
version: '$(DotNet10Version)'
129+
includePreviewVersions: true
130+
103131
- task: DotNetCoreCLI@2
104132
displayName: 'dotnet build'
105133
inputs:
@@ -122,6 +150,21 @@ jobs:
122150
testRunTitle: 'Linux .NET 9.0'
123151
condition: succeededOrFailed()
124152

153+
# Disabled due to MSBuild.ProjectCreation dependency issue
154+
# - task: DotNetCoreCLI@2
155+
# displayName: 'Run Unit Tests (.NET 10.0)'
156+
# inputs:
157+
# command: 'test'
158+
# arguments: '--no-restore --no-build --framework net10.0 /noautorsp'
159+
# testRunTitle: 'Linux .NET 10.0'
160+
# condition: succeededOrFailed()
161+
162+
- bash: |
163+
BIN_DIR="$(Build.SourcesDirectory)/$(ArtifactsDirectoryName)/bin"
164+
[ -d "$BIN_DIR" ] && rm -rf "$BIN_DIR"
165+
displayName: 'Remove artifacts/bin (Linux)'
166+
condition: always()
167+
125168
- task: PublishBuildArtifacts@1
126169
displayName: 'Publish Artifacts'
127170
inputs:
@@ -146,6 +189,12 @@ jobs:
146189
version: '$(DotNet9Version)'
147190
includePreviewVersions: true
148191

192+
- task: UseDotNet@2
193+
displayName: 'Install .NET $(DotNet10Version)'
194+
inputs:
195+
version: '$(DotNet10Version)'
196+
includePreviewVersions: true
197+
149198
- task: DotNetCoreCLI@2
150199
displayName: 'dotnet build'
151200
inputs:
@@ -168,6 +217,21 @@ jobs:
168217
testRunTitle: 'MacOS .NET 9.0'
169218
condition: succeededOrFailed()
170219

220+
# Disabled due to MSBuild.ProjectCreation dependency issue
221+
# - task: DotNetCoreCLI@2
222+
# displayName: 'Run Unit Tests (.NET 10.0)'
223+
# inputs:
224+
# command: 'test'
225+
# arguments: '--no-restore --no-build --framework net10.0 /noautorsp'
226+
# testRunTitle: 'MacOS .NET 10.0'
227+
# condition: succeededOrFailed()
228+
229+
- bash: |
230+
BIN_DIR="$(Build.SourcesDirectory)/$(ArtifactsDirectoryName)/bin"
231+
[ -d "$BIN_DIR" ] && rm -rf "$BIN_DIR"
232+
displayName: 'Remove artifacts/bin (macOS)'
233+
condition: always()
234+
171235
- task: PublishBuildArtifacts@1
172236
displayName: 'Publish Artifacts'
173237
inputs:

global.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
{
22
"sdk": {
3-
"version": "9.0.201",
3+
"version": "10.0.100",
44
"rollForward": "latestMinor",
55
"allowPrerelease": true
66
},
77
"msbuild-sdks": {
8-
"Microsoft.Build.NoTargets": "3.7.56"
8+
"Microsoft.Build.NoTargets": "3.7.134"
99
}
1010
}

samples/CentralPackageVersions/Directory.Build.targets

Lines changed: 0 additions & 4 deletions
This file was deleted.

samples/CentralPackageVersions/Packages.props

Lines changed: 0 additions & 9 deletions
This file was deleted.

samples/CentralPackageVersions/README.md

Lines changed: 0 additions & 33 deletions
This file was deleted.

samples/CentralPackageVersions/src/ClassLibrary/Class1.cs

Lines changed: 0 additions & 10 deletions
This file was deleted.

0 commit comments

Comments
 (0)