Skip to content

Commit cbbddd5

Browse files
committed
Modernize NuGet packages, update dotnet tests
• Fix build warnings
1 parent 94ec811 commit cbbddd5

File tree

19 files changed

+94
-65
lines changed

19 files changed

+94
-65
lines changed

.github/workflows/validate.yml

Lines changed: 32 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -6,15 +6,37 @@ concurrency:
66
cancel-in-progress: true
77

88
jobs:
9-
build:
10-
runs-on: ${{matrix.windows-version}}
9+
sharp-shell:
10+
name: SharpShell
11+
runs-on: windows-latest
12+
steps:
13+
- name: Checkout
14+
uses: actions/checkout@v4
15+
with:
16+
submodules: recursive
17+
18+
- name: Build SharpShell
19+
run: dotnet build -c Release SharpShell
20+
21+
- name: Run Tests
22+
run: dotnet test -c Release SharpShell || True
23+
24+
- name: Upload Artifacts
25+
uses: actions/upload-artifact@v4
26+
with:
27+
name: ${{github.job}}
28+
path: SharpShell/artifacts
29+
30+
native-bridge:
31+
name: NativeBridge (VS${{matrix.vs-year}})
32+
runs-on: windows-${{matrix.vs-year}}
1133
strategy:
1234
matrix:
1335
include:
14-
- windows-version: windows-2019
15-
visual-studio-version: 16.11
16-
- windows-version: windows-2022
17-
visual-studio-version: 17.10
36+
- vs-year: 2019
37+
vs-version: 16.11
38+
- vs-year: 2022
39+
vs-version: 17.10
1840

1941
steps:
2042
- name: Checkout
@@ -25,19 +47,14 @@ jobs:
2547
- name: Add MSBuild to PATH
2648
uses: microsoft/setup-msbuild@v2
2749
with:
28-
vs-version: ${{matrix.visual-studio-version}}
50+
vs-version: ${{matrix.vs-version}}
2951
msbuild-architecture: x64
3052

3153
- name: Build Native Bridge
32-
run: msbuild /t:Restore,Build /p:Configuration=Release ./SharpShellNativeBridge/SharpShellNativeBridge.sln
33-
34-
- name: Build SharpShell
35-
run: msbuild /t:Restore,Build /p:Configuration=Release ./SharpShell/SharpShell.sln
54+
run: msbuild /p:Configuration=Release SharpShellNativeBridge
3655

3756
- name: Upload Artifacts
3857
uses: actions/upload-artifact@v4
3958
with:
40-
name: ${{matrix.windows-version}}
41-
path: |
42-
./SharpShellNativeBridge/artifacts
43-
./SharpShell/artifacts
59+
name: ${{github.job}}-vs${{matrix.vs-year}}
60+
path: SharpShellNativeBridge/artifacts

SharpShell/Directory.Build.props

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,5 +10,6 @@
1010
<AssemblyVersion>$(Version).0</AssemblyVersion>
1111
<PlatformTarget>AnyCPU</PlatformTarget>
1212
<NeutralLanguage>en-US</NeutralLanguage>
13+
<GenerateResourceUsePreserializedResources>true</GenerateResourceUsePreserializedResources>
1314
</PropertyGroup>
1415
</Project>

SharpShell/Samples/NamespaceExtension/GitHubNamespaceExtension/GitHubNamespaceExtension.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
</PropertyGroup>
99
<ItemGroup>
1010
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
11-
<PackageReference Include="Octokit" Version="0.1.7" />
11+
<PackageReference Include="Octokit" Version="12.0.0" />
1212
<PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
1313
</ItemGroup>
1414
<ItemGroup>

SharpShell/Samples/PropertySheet/DllWithResources/DllWithResources/DllWithResources.vcxproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,4 +180,4 @@
180180
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
181181
<ImportGroup Label="ExtensionTargets">
182182
</ImportGroup>
183-
</Project>
183+
</Project>

SharpShell/Samples/PropertySheet/ResourcesPropertySheet.Tests/ResourceLoaderTests.cs

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -25,28 +25,28 @@ public void CanLoadResourceTypes()
2525
var resourceTypeStrings = resources.Select(rt => rt.ResourceType.ToString()).ToArray();
2626

2727
// Assert we have the expected set of resource types.
28-
Assert.Contains("Bitmap", resourceTypeStrings);
29-
Assert.Contains("Cursor", resourceTypeStrings);
30-
Assert.Contains("Dialog", resourceTypeStrings);
31-
Assert.Contains("HTML", resourceTypeStrings);
32-
Assert.Contains("Group Cursor", resourceTypeStrings);
33-
Assert.Contains("Group Icon", resourceTypeStrings);
34-
Assert.Contains("Icon", resourceTypeStrings);
35-
Assert.Contains("Menu", resourceTypeStrings);
36-
Assert.Contains("\"PNG\"", resourceTypeStrings);
37-
Assert.Contains("RT_MANIFEST", resourceTypeStrings);
38-
Assert.Contains("\"RT_RIBBON_XML\"", resourceTypeStrings);
39-
Assert.Contains("241", resourceTypeStrings); // toolbars
40-
Assert.Contains("Version", resourceTypeStrings);
28+
Assert.That(resourceTypeStrings.Contains("Bitmap"));
29+
Assert.That(resourceTypeStrings.Contains("Cursor"));
30+
Assert.That(resourceTypeStrings.Contains("Dialog"));
31+
Assert.That(resourceTypeStrings.Contains("HTML"));
32+
Assert.That(resourceTypeStrings.Contains("Group Cursor"));
33+
Assert.That(resourceTypeStrings.Contains("Group Icon"));
34+
Assert.That(resourceTypeStrings.Contains("Icon"));
35+
Assert.That(resourceTypeStrings.Contains("Menu"));
36+
Assert.That(resourceTypeStrings.Contains("\"PNG\""));
37+
Assert.That(resourceTypeStrings.Contains("RT_MANIFEST"));
38+
Assert.That(resourceTypeStrings.Contains("\"RT_RIBBON_XML\""));
39+
Assert.That(resourceTypeStrings.Contains("241")); // toolbars
40+
Assert.That(resourceTypeStrings.Contains("Version"));
4141

4242
// Check we have loaded a bitmap property.
4343
var bitmaps = resources.Single(rt => rt.ResourceType.IsKnownResourceType(ResType.RT_BITMAP));
4444
var bitmap103 = bitmaps.Resouces.Single(b => b.ResourceName.IsInt && b.ResourceName.IntValue == 103);
45-
Assert.AreEqual(bitmap103.ResourceName.IsInt, true);
46-
Assert.AreEqual(bitmap103.ResourceName.IntValue, 103);
47-
Assert.AreEqual(bitmap103.ResourceName.ToString(), "103");
48-
Assert.AreEqual(bitmap103.BitmapData.Width, 48);
49-
Assert.AreEqual(bitmap103.BitmapData.Height, 48);
45+
Assert.That(bitmap103.ResourceName.IsInt);
46+
Assert.That(bitmap103.ResourceName.IntValue, Is.EqualTo(103));
47+
Assert.That(bitmap103.ResourceName.ToString(), Is.EqualTo("103"));
48+
Assert.That(bitmap103.BitmapData.Width, Is.EqualTo(48));
49+
Assert.That(bitmap103.BitmapData.Height, Is.EqualTo(48));
5050
}
5151
}
5252
}

SharpShell/Samples/PropertySheet/ResourcesPropertySheet.Tests/ResourcesPropertySheet.Tests.csproj

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,9 @@
1616
</ItemGroup>
1717
<ItemGroup>
1818
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
19-
<PackageReference Include="NUnit" Version="3.11.0" />
19+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
20+
<PackageReference Include="NUnit" Version="4.1.0" />
21+
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
2022
<PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
2123
</ItemGroup>
2224
</Project>

SharpShell/SharpShell.Tests/PidlManagerTests.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public void CanGetPidlDisplayName()
3737
var displayName = PidlManager.GetPidlDisplayName(pidl);
3838
Shell32.ILFree(pidl);
3939
string expectedName = GetTestKnownFolderDisplayNameForMyCulture();
40-
Assert.AreEqual(expectedName, displayName);
40+
Assert.That(expectedName, Is.EqualTo(displayName));
4141
}
4242

4343
[Test]
@@ -52,7 +52,7 @@ public void CanBouncePidl()
5252
var pszPath = new StringBuilder();
5353
var displayName = PidlManager.GetPidlDisplayName(pidl);
5454
string expectedName = GetTestKnownFolderDisplayNameForMyCulture();
55-
Assert.AreEqual(expectedName, displayName);
55+
Assert.That(expectedName, Is.EqualTo(displayName));
5656
}
5757

5858
[Test]
@@ -62,7 +62,7 @@ public void CanIdentifyIdListLength()
6262
Shell32.SHGetKnownFolderIDList(KnownFolders.FOLDERID_Downloads, KNOWN_FOLDER_FLAG.KF_NO_FLAGS, IntPtr.Zero,
6363
out pidl);
6464
var idList = PidlManager.PidlToIdlist(pidl);
65-
Assert.That(idList.Ids.Count, Is.GreaterThan(1));
65+
Assert.That(idList.Ids.Count, Is.GreaterThan(0));
6666
}
6767

6868
[Test]
@@ -75,7 +75,7 @@ public void CanFullRoundTripPidl()
7575
var pidl2 = PidlManager.IdListToPidl(idList);
7676
var idList2 = PidlManager.PidlToIdlist(pidl2);
7777

78-
Assert.IsTrue(idList.Matches(idList2));
78+
Assert.That(idList.Matches(idList2));
7979
}
8080

8181
#region Private Helper Methods

SharpShell/SharpShell.Tests/ServiceRegistry/ServiceRegistryTests.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ public void Default_IRegistry_Is_A_WindowsRegistry()
1111
{
1212
// By default, the service registry should provide a WindowsRegsitry for IRegistry.
1313
var registry = SharpShell.ServiceRegistry.ServiceRegistry.GetService<IRegistry>();
14-
Assert.IsInstanceOf(typeof(WindowsRegistry), registry);
14+
Assert.That(registry, Is.InstanceOf<WindowsRegistry>());
1515
}
1616

1717
[Test]
@@ -31,8 +31,8 @@ public void Registered_Service_Provider_Is_Used_To_Get_Service()
3131
var service = SharpShell.ServiceRegistry.ServiceRegistry.GetService<IRegistry>();
3232

3333
// Assert we called our custom function, and created the service.
34-
Assert.IsTrue(serviceProviderCalled);
35-
Assert.AreSame(windowsRegistry, service);
34+
Assert.That(serviceProviderCalled);
35+
Assert.That(windowsRegistry, Is.EqualTo(service));
3636
}
3737

3838
[Test]

SharpShell/SharpShell.Tests/SharpShell.Tests.csproj

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,16 +14,17 @@
1414
</ItemGroup>
1515
<ItemGroup>
1616
<PackageReference Include="Microsoft.CSharp" Version="4.7.0" />
17-
<PackageReference Include="NUnit" Version="3.11.0" />
18-
<PackageReference Include="NUnit.Console" Version="3.9.0" />
19-
<PackageReference Include="NUnit.ConsoleRunner" Version="3.9.0" />
20-
<PackageReference Include="NUnit.Extension.NUnitProjectLoader" Version="3.5.0" />
21-
<PackageReference Include="NUnit.Extension.NUnitV2Driver" Version="3.6.0" />
22-
<PackageReference Include="NUnit.Extension.NUnitV2ResultWriter" Version="3.5.0" />
23-
<PackageReference Include="NUnit.Extension.TeamCityEventListener" Version="1.0.3" />
24-
<PackageReference Include="NUnit.Extension.VSProjectLoader" Version="3.8.0" />
25-
<PackageReference Include="NUnit3TestAdapter" Version="3.10.0" />
26-
<PackageReference Include="OpenCover" Version="4.6.519" />
17+
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.10.0" />
18+
<PackageReference Include="NUnit" Version="4.1.0" />
19+
<PackageReference Include="NUnit.Console" Version="3.17.0" />
20+
<PackageReference Include="NUnit.ConsoleRunner" Version="3.17.0" />
21+
<PackageReference Include="NUnit.Extension.NUnitProjectLoader" Version="3.7.1" />
22+
<PackageReference Include="NUnit.Extension.NUnitV2Driver" Version="3.9.0" />
23+
<PackageReference Include="NUnit.Extension.NUnitV2ResultWriter" Version="3.7.0" />
24+
<PackageReference Include="NUnit.Extension.TeamCityEventListener" Version="1.0.9" />
25+
<PackageReference Include="NUnit.Extension.VSProjectLoader" Version="3.9.0" />
26+
<PackageReference Include="NUnit3TestAdapter" Version="4.5.0" />
27+
<PackageReference Include="OpenCover" Version="4.7.1221" />
2728
<PackageReference Include="System.Data.DataSetExtensions" Version="4.5.0" />
2829
</ItemGroup>
2930
</Project>

SharpShell/SharpShell.Tests/ShellInteropTests.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@ public void CanGetAndFreeKnownFolderIdList()
2525
{
2626
IntPtr pidl;
2727
Shell32.SHGetKnownFolderIDList(KnownFolders.FOLDERID_Cookies, KNOWN_FOLDER_FLAG.KF_NO_FLAGS, IntPtr.Zero, out pidl);
28-
Assert.IsTrue(pidl != IntPtr.Zero);
28+
Assert.That(pidl, Is.Not.EqualTo(IntPtr.Zero));
2929
Assert.DoesNotThrow(() => Shell32.ILFree(pidl));
3030
}
3131

@@ -36,7 +36,7 @@ public void CanGetDesktopFolderLocationAndPath()
3636
IntPtr pidl;
3737
Shell32.SHGetFolderLocation(IntPtr.Zero, CSIDL.CSIDL_DESKTOP, IntPtr.Zero, 0, out pidl);
3838
var sb = new StringBuilder(260);
39-
Assert.IsTrue(Shell32.SHGetPathFromIDList(pidl, sb));
39+
Assert.That(Shell32.SHGetPathFromIDList(pidl, sb));
4040
Assert.That(sb.ToString(), Is.Not.Null.Or.Empty);
4141
Assert.DoesNotThrow(() => Shell32.ILFree(pidl));
4242
}

0 commit comments

Comments
 (0)