Skip to content

Commit a52b1c9

Browse files
feature/net90 (#12)
* Upgrade all projects to target .NET 9.0. * Bumps version numbers to 2.9.0 across all projects. * Updates copyright notice across all projects * Updates dependency versions across projects * Migrates unit tests from xUnit to MSTest framework, updates related assertions to fix conflicts, and refactors unit test assertions for consistency across projects. * Updates GitHub Actions workflow to install .NET 9.0 * Updates the README.md and CHANGELOG.md files
1 parent 648bf08 commit a52b1c9

File tree

66 files changed

+489
-469
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

66 files changed

+489
-469
lines changed

.github/workflows/dotnet.yml

Lines changed: 17 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -2,30 +2,28 @@ name: .NET Core Desktop
22

33
on:
44
push:
5-
branches: [ "main" ]
5+
branches: ["main"]
66
pull_request:
7-
branches: [ "main" ]
7+
branches: ["main"]
88

99
jobs:
10-
1110
build:
12-
13-
runs-on: windows-latest # For a list of available runner types, refer to
14-
# https://help.github.com/en/actions/reference/workflow-syntax-for-github-actions#jobsjob_idruns-on
11+
runs-on: windows-latest
1512

1613
steps:
17-
- name: Checkout
18-
uses: actions/checkout@v4
19-
with:
20-
fetch-depth: 0
14+
- name: Checkout
15+
uses: actions/checkout@v4
16+
with:
17+
fetch-depth: 0
2118

22-
- name: Install .NET Core
23-
uses: actions/setup-dotnet@v4
24-
with:
25-
dotnet-version: 8.0.x
19+
- name: Install .NET 9
20+
uses: actions/setup-dotnet@v4
21+
with:
22+
dotnet-version: 9.0.x
23+
# cache: true
2624

27-
- name: Execute unit tests
28-
run: |
29-
cd sourcecodes
30-
dotnet build --configuration Release
31-
dotnet test ./FolderSecurityViewer.sln --framework net8.0-windows --configuration Release
25+
- name: Execute unit tests
26+
run: |
27+
cd sourcecodes
28+
dotnet build --configuration Release
29+
dotnet test ./FolderSecurityViewer.sln --framework net9.0-windows --configuration Release

CHANGELOG.md

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,18 @@ All notable changes to this project will be documented in this file.
55
The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
66
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
77

8+
## [v2.9.0-beta.1] - 2025-11-13
9+
10+
This release upgrades the entire solution to .NET 9.0, bringing performance improvements and access to the latest framework features. All dependencies have been updated.
11+
12+
### Changed
13+
14+
- Changed the target framework to .NET 9.0 across all projects [#12](https://github.com/carstenschaefer/FolderSecurityViewer/pull/12)
15+
- Updated GitHub Actions workflow to use .NET 9.0 [#12](https://github.com/carstenschaefer/FolderSecurityViewer/pull/12)
16+
- Updated all NuGet packages in the whole solution [#12](https://github.com/carstenschaefer/FolderSecurityViewer/pull/12)
17+
- Updated test framework target from net8.0-windows to net9.0-windows [#12](https://github.com/carstenschaefer/FolderSecurityViewer/pull/12)
18+
- Migrated unit tests from xUnit to MSTest framework with improved assertions [#12](https://github.com/carstenschaefer/FolderSecurityViewer/pull/12)
19+
820
## [v2.8.1-beta.1] - 2024-08-24
921

1022
### Changed

README.md

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -53,13 +53,16 @@ If you want to automate your NTFS permissions reporting, you can use the Command
5353

5454
The application can be compiled on Windows, and depends on the following Frameworks and utilities:
5555

56-
* .NET Framework 8.0 SDK
57-
* Optional: Visual Studio 2022
58-
* MSBuild version 17.9.8 or above
56+
* .NET Framework 9.0 SDK
57+
* Optional: Visual Studio 2026
5958

6059
### Platform compatibility
6160

62-
Ensure your target platform is supported by .NET 8; check the supported OS versions in the [.NET 8 Release Notes](https://github.com/dotnet/core/blob/main/release-notes/8.0/supported-os.md#net-8---supported-os-versions). If you need a build compatible with Windows 7 or 8, please refer to version [v2.7.0-beta.1](https://github.com/carstenschaefer/FolderSecurityViewer/releases/tag/v2.7.0-beta.1), which depends on .NET Framework 4.7 and Visual Studio.
61+
Ensure your target platform is supported by .NET 9; check the supported OS versions in the [.NET 9 Release Notes](https://github.com/dotnet/core/blob/main/release-notes/9.0/supported-os.md).
62+
63+
* If you need a built targeting .NET 8, please refer to version [v2.8.1-beta.1](https://github.com/carstenschaefer/FolderSecurityViewer/releases/tag/v2.8.1-beta.1).
64+
65+
* If you need a build compatible with Windows 7 or 8, please refer to version [v2.7.0-beta.1](https://github.com/carstenschaefer/FolderSecurityViewer/releases/tag/v2.7.0-beta.1), which depends on .NET Framework 4.7 and Visual Studio.
6366

6467

6568
### Build
@@ -73,8 +76,8 @@ $ dotnet build ./FolderSecurityViewer.sln --configuration Release
7376

7477
````bash
7578
$ dotnet clean && dotnet build
76-
$ dotnet test --framework net8.0-windows
79+
$ dotnet test --framework net9.0-windows
7780
````
7881

7982

80-
Copyright (C) 2015 - 2024 by Carsten Schäfer, Matthias Friedrich, and Ritesh Gite
83+
Copyright (C) 2015 - 2025 by Carsten Schäfer, Matthias Friedrich, and Ritesh Gite
Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0-windows</TargetFramework>
3+
<TargetFramework>net9.0-windows</TargetFramework>
44
<OutputType>Library</OutputType>
55
<LangVersion>latest</LangVersion>
66
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
77
</PropertyGroup>
88
<PropertyGroup>
99
<AssemblyTitle>FSV.ActiveDirectoryServices.TestAbstractionLayer</AssemblyTitle>
1010
<Product>FSV.ActiveDirectoryServices.TestAbstractionLayer</Product>
11-
<Copyright>Copyright © 2015 - 2024 G-TAC Software UG</Copyright>
11+
<Copyright>Copyright © 2015 - 2025 G-TAC Software UG</Copyright>
1212
<AssemblyVersion>1.0.0.0</AssemblyVersion>
1313
<FileVersion>1.0.0.0</FileVersion>
1414
</PropertyGroup>
@@ -17,7 +17,7 @@
1717
</ItemGroup>
1818
<ItemGroup>
1919
<PackageReference Include="YamlDotNet">
20-
<Version>16.0.0</Version>
20+
<Version>16.3.0</Version>
2121
</PackageReference>
2222
</ItemGroup>
2323
</Project>

sourcecodes/FSV.AdServices.Abstractions/FSV.AdServices.Abstractions.csproj

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,17 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0</TargetFramework>
3+
<TargetFramework>net9.0</TargetFramework>
44
<OutputType>Library</OutputType>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<TreatWarningsAsErrors>true</TreatWarningsAsErrors>
77
</PropertyGroup>
88
<PropertyGroup>
99
<AssemblyTitle>FSV.AdServices.Abstractions</AssemblyTitle>
10-
<AssemblyVersion>2.8.1</AssemblyVersion>
10+
<AssemblyVersion>2.9.0</AssemblyVersion>
1111
<Company>G-TAC Software UG, Katzweiler, Germany</Company>
12-
<Copyright>Copyright © 2015 - 2024 G-TAC Software UG</Copyright>
12+
<Copyright>Copyright © 2015 - 2025 G-TAC Software UG</Copyright>
1313
<Description>Part of G-TAC's NTFS Permissions Reporter "FolderSecurityViewer"</Description>
14-
<FileVersion>2.8.1</FileVersion>
14+
<FileVersion>2.9.0</FileVersion>
1515
<NeutralLanguage>en</NeutralLanguage>
1616
<Product>FolderSecurityViewer</Product>
1717
</PropertyGroup>

sourcecodes/FSV.AdServices.UnitTest/ActiveDirectoryLdapUtilityTest.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// FolderSecurityViewer is an easy-to-use NTFS permissions tool that helps you effectively trace down all security owners of your data.
1+
// FolderSecurityViewer is an easy-to-use NTFS permissions tool that helps you effectively trace down all security owners of your data.
22
// Copyright (C) 2015 - 2024 Carsten Schäfer, Matthias Friedrich, and Ritesh Gite
33
//
44
// This program is free software: you can redistribute it and/or modify
@@ -32,8 +32,8 @@ public void ActiveDirectoryLdapUtility_GetDnElementListFromLdapPath_Test()
3232

3333
// Assert
3434
Assert.IsNotNull(actual);
35-
Assert.AreEqual(3, actual.Length);
36-
Assert.AreEqual(actual[0], "DN=Users");
35+
Assert.HasCount(3, actual);
36+
Assert.AreEqual("DN=Users", actual[0]);
3737
}
3838
}
3939
}

sourcecodes/FSV.AdServices.UnitTest/FSV.AdServices.UnitTest.csproj

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0-windows</TargetFramework>
3+
<TargetFramework>net9.0-windows</TargetFramework>
44
<LangVersion>latest</LangVersion>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<IsPackable>false</IsPackable>
@@ -10,21 +10,21 @@
1010
<AnalysisLevel>none</AnalysisLevel>
1111
<AssemblyTitle>FSV.AdServices.UnitTest</AssemblyTitle>
1212
<AssemblyVersion>1.0.0.0</AssemblyVersion>
13-
<Copyright>Copyright © 2015 - 2024 G-TAC Software UG</Copyright>
13+
<Copyright>Copyright © 2015 - 2025 G-TAC Software UG</Copyright>
1414
<FileVersion>1.0.0.0</FileVersion>
1515
<Product>FSV.AdServices.UnitTest</Product>
1616
</PropertyGroup>
1717
<ItemGroup>
18-
<PackageReference Include="coverlet.collector" Version="6.0.2">
18+
<PackageReference Include="coverlet.collector" Version="6.0.4">
1919
<PrivateAssets>all</PrivateAssets>
2020
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
2121
</PackageReference>
22-
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.1" />
23-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0"/>
24-
<PackageReference Include="Moq" Version="4.20.70" />
25-
<PackageReference Include="MSTest.TestAdapter" Version="3.5.0" />
26-
<PackageReference Include="MSTest.TestFramework" Version="3.5.0" />
27-
<PackageReference Include="System.DirectoryServices.AccountManagement" Version="8.0.0" />
22+
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0" />
23+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
24+
<PackageReference Include="Moq" Version="4.20.72" />
25+
<PackageReference Include="MSTest.TestAdapter" Version="4.0.2" />
26+
<PackageReference Include="MSTest.TestFramework" Version="4.0.2" />
27+
<PackageReference Include="System.DirectoryServices.AccountManagement" Version="10.0.0" />
2828
</ItemGroup>
2929
<ItemGroup>
3030
<ProjectReference Include="..\FSV.ActiveDirectoryServices.TestAbstractionLayer\FSV.ActiveDirectoryServices.TestAbstractionLayer.csproj" />

sourcecodes/FSV.AdServices/FSV.AdServices.csproj

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0-windows</TargetFramework>
3+
<TargetFramework>net9.0-windows</TargetFramework>
44
<OutputType>Library</OutputType>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
</PropertyGroup>
@@ -14,11 +14,11 @@
1414
<PropertyGroup>
1515
<AnalysisLevel>none</AnalysisLevel>
1616
<AssemblyTitle>FSV.AdServices</AssemblyTitle>
17-
<AssemblyVersion>2.8.1</AssemblyVersion>
17+
<AssemblyVersion>2.9.0</AssemblyVersion>
1818
<Company>G-TAC Software UG, Katzweiler, Germany</Company>
19-
<Copyright>Copyright © 2015 - 2024 G-TAC Software UG</Copyright>
19+
<Copyright>Copyright © 2015 - 2025 G-TAC Software UG</Copyright>
2020
<Description>Part of G-TAC's NTFS Permissions Reporter "FolderSecurityViewer"</Description>
21-
<FileVersion>2.8.1</FileVersion>
21+
<FileVersion>2.9.0</FileVersion>
2222
<NeutralLanguage>en</NeutralLanguage>
2323
<Product>FolderSecurityViewer</Product>
2424
</PropertyGroup>
@@ -33,11 +33,11 @@
3333
</ItemGroup>
3434
<ItemGroup>
3535
<PackageReference Include="JetBrains.Annotations">
36-
<Version>2024.2.0</Version>
36+
<Version>2025.2.2</Version>
3737
</PackageReference>
3838
<PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
39-
<PackageReference Include="System.DirectoryServices" Version="8.0.0" />
40-
<PackageReference Include="System.DirectoryServices.AccountManagement" Version="8.0.0" />
41-
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.1" />
39+
<PackageReference Include="System.DirectoryServices" Version="10.0.0" />
40+
<PackageReference Include="System.DirectoryServices.AccountManagement" Version="10.0.0" />
41+
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0" />
4242
</ItemGroup>
4343
</Project>

sourcecodes/FSV.Business.UnitTest/FSV.Business.UnitTest.csproj

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -3,21 +3,24 @@
33
<AnalysisLevel>none</AnalysisLevel>
44
<AssemblyTitle>FSV.Business.UnitTest</AssemblyTitle>
55
<AssemblyVersion>1.0.0.0</AssemblyVersion>
6-
<Copyright>Copyright © 2015 - 2024 G-TAC Software UG</Copyright>
6+
<Copyright>Copyright © 2015 - 2025 G-TAC Software UG</Copyright>
77
<FileVersion>1.0.0.0</FileVersion>
88
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
99
<IsPackable>false</IsPackable>
1010
<IsTestProject>true</IsTestProject>
1111
<LangVersion>latest</LangVersion>
1212
<OutputType>Library</OutputType>
1313
<Product>FSV.Business.UnitTest</Product>
14-
<TargetFramework>net8.0-windows</TargetFramework>
14+
<TargetFramework>net9.0-windows</TargetFramework>
1515
</PropertyGroup>
1616
<ItemGroup>
17-
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
18-
<PackageReference Include="Moq" Version="4.20.70" />
19-
<PackageReference Include="xunit" Version="2.9.0" />
20-
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.3" />
17+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="18.0.1" />
18+
<PackageReference Include="Moq" Version="4.20.72" />
19+
<PackageReference Include="xunit" Version="2.9.3" />
20+
<PackageReference Include="xunit.runner.visualstudio" Version="3.1.5">
21+
<PrivateAssets>all</PrivateAssets>
22+
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
23+
</PackageReference>
2124
</ItemGroup>
2225
<ItemGroup>
2326
<ProjectReference Include="..\FSV.AdServices\FSV.AdServices.csproj" />

sourcecodes/FSV.Business/FSV.Business.csproj

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0-windows</TargetFramework>
3+
<TargetFramework>net9.0-windows</TargetFramework>
44
<OutputType>Library</OutputType>
55
<SolutionDir Condition="$(SolutionDir) == '' Or $(SolutionDir) == '*Undefined*'">..\</SolutionDir>
66
<RestorePackages>true</RestorePackages>
@@ -9,11 +9,11 @@
99
</PropertyGroup>
1010
<PropertyGroup>
1111
<AssemblyTitle>FSV.Business</AssemblyTitle>
12-
<AssemblyVersion>2.8.1</AssemblyVersion>
12+
<AssemblyVersion>2.9.0</AssemblyVersion>
1313
<Company>G-TAC Software UG, Katzweiler, Germany</Company>
14-
<Copyright>Copyright © 2015 - 2024 G-TAC Software UG</Copyright>
14+
<Copyright>Copyright © 2015 - 2025 G-TAC Software UG</Copyright>
1515
<Description>Part of G-TAC's NTFS Permissions Reporter "FolderSecurityViewer"</Description>
16-
<FileVersion>2.8.1</FileVersion>
16+
<FileVersion>2.9.0</FileVersion>
1717
<NeutralLanguage>en</NeutralLanguage>
1818
<Product>FolderSecurityViewer</Product>
1919
</PropertyGroup>
@@ -55,7 +55,7 @@
5555
</ItemGroup>
5656
<ItemGroup>
5757
<PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
58-
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="8.0.0" />
59-
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="8.0.1" />
58+
<PackageReference Include="Microsoft.Extensions.DependencyInjection" Version="10.0.0" />
59+
<PackageReference Include="Microsoft.Extensions.Logging.Abstractions" Version="10.0.0" />
6060
</ItemGroup>
6161
</Project>

0 commit comments

Comments
 (0)