[dotnet] Strongly signed assemblies#17397
Conversation
Review Summary by QodoConsolidate .NET assemblies with strong naming enabled by default
WalkthroughsDescription• Consolidate strong naming into single assembly variant • Remove separate StrongNamed NuGet packages and build targets • Enable strong signing by default for all .NET assemblies • Simplify build configuration and release process File Changes1. dotnet/src/support/BUILD.bazel
|
Code Review by Qodo
1. Removed Selenium.WebDriver.StrongNamed pack
|
|
Thank you, @nvborisenko for this code suggestion. The support packages contain example code that many users find helpful, but they do not necessarily represent After reviewing the change, unless it is a critical fix or a feature that is needed for Selenium We actively encourage people to add the wrapper and helper code that makes sense for them to their own frameworks. |
There was a problem hiding this comment.
Pull request overview
This PR updates the .NET build and packaging pipeline so the primary Selenium .NET assemblies are strong-name signed by default, removing the separate “StrongNamed” artifacts/packages and aligning the release output around a single signed set of NuGet packages.
Changes:
- Enable strong-name signing for
Selenium.WebDriverandSelenium.Supportin the SDK-style.csprojbuilds viaSelenium.snk. - Configure Bazel
csharp_librarytargets to sign the produced assemblies with the same key. - Remove StrongNamed-specific Bazel packaging targets, nuspec templates, and release zip staging.
Reviewed changes
Copilot reviewed 8 out of 8 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| rake_tasks/dotnet.rake | Stops staging the now-removed strongnamed.zip release artifact. |
| dotnet/src/webdriver/Selenium.WebDriver.csproj | Enables strong-name signing for the main WebDriver assembly. |
| dotnet/src/webdriver/Selenium.WebDriver.StrongNamed.nuspec | Removes the StrongNamed nuspec template (package no longer built). |
| dotnet/src/webdriver/BUILD.bazel | Signs the main WebDriver Bazel outputs and removes StrongNamed build/pack targets. |
| dotnet/src/support/Selenium.WebDriver.Support.csproj | Enables strong-name signing for the main Support assembly. |
| dotnet/src/support/Selenium.WebDriver.Support.StrongNamed.nuspec | Removes the StrongNamed nuspec template (package no longer built). |
| dotnet/src/support/BUILD.bazel | Signs the main Support Bazel outputs and removes StrongNamed build/pack targets. |
| dotnet/BUILD.bazel | Removes the StrongNamed zip packaging target; release zip now contains only the signed primary packages. |
There was a problem hiding this comment.
Pull request overview
Copilot reviewed 13 out of 13 changed files in this pull request and generated no new comments.
Comments suppressed due to low confidence (1)
dotnet/src/webdriver/Selenium.WebDriver.csproj:14
- With
<AssemblyName>removed, this project will now emitSelenium.WebDriver.dll, but theAssemblyTitlemetadata is still set toWebDriver. This can be confusing in file properties/logging and when diagnosing binding redirects; consider updatingAssemblyTitleto match the new assembly identity/name (e.g., Selenium WebDriver).
<PropertyGroup>
<AssemblyTitle>WebDriver</AssemblyTitle>
<Company>Selenium Committers</Company>
Finally getting strongly named assemblies.
🔗 Related Issues
So many through the history. Fixes #12315 - don't wait v5, we don't follow SemVer.
💡 Additional Considerations
We should be loud, most likely blog post saying "Now we are strongly signed, that's it."
🔄 Types of changes