Skip to content

Comments

feat: Add strong naming assemblies signing#157

Merged
Blackhex merged 2 commits intoa2aproject:mainfrom
Blackhex:feat/147-strong-naming
Aug 29, 2025
Merged

feat: Add strong naming assemblies signing#157
Blackhex merged 2 commits intoa2aproject:mainfrom
Blackhex:feat/147-strong-naming

Conversation

@Blackhex
Copy link
Collaborator

@Blackhex Blackhex commented Aug 21, 2025

Summary

  • Adds strong-name signing to all assemblies via Directory.Build.props using Open.snk
  • Replaces unsigned internals access with public-key qualified InternalsVisibleTo in *.csproj.
  • Removes obsolete AssemblyInfo.cs files, InternalsVisibleTo now handled by *.csproj.

Motivation

  • Provides assembly identity stability (publisher verification, GAC compatibility, tamper resistance)
  • Unblocks partner/org policies requiring strongly named libraries
  • Aligns with NuGet ecosystem expectations for foundational/shared libraries

Linked Issues

@Blackhex Blackhex requested a review from Copilot August 21, 2025 07:38
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull Request Overview

This PR implements strong naming for assemblies by enabling assembly signing across the project. It migrates from using AssemblyInfo.cs files to MSBuild project file configurations for managing InternalsVisibleTo attributes with public keys.

  • Enables strong naming by configuring SignAssembly and AssemblyOriginatorKeyFile properties
  • Migrates InternalsVisibleTo declarations from AssemblyInfo.cs files to MSBuild project files
  • Adds public keys to InternalsVisibleTo entries to support signed assemblies

Reviewed Changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 1 comment.

Show a summary per file
File Description
Directory.Build.props Enables assembly signing for all projects with shared key file configuration
src/A2A/Properties/AssemblyInfo.cs Removes InternalsVisibleTo attributes (migrated to project file)
src/A2A/A2A.csproj Adds InternalsVisibleTo entries with public keys for test assemblies
src/A2A.AspNetCore/properties/AssemblyInfo.cs Removes InternalsVisibleTo attributes (migrated to project file)
src/A2A.AspNetCore/A2A.AspNetCore.csproj Adds InternalsVisibleTo entry with public key for test assembly

Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.

Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
@Blackhex Blackhex marked this pull request as ready for review August 21, 2025 07:59
@Blackhex Blackhex self-assigned this Aug 22, 2025
@Blackhex Blackhex added this pull request to the merge queue Aug 29, 2025
Merged via the queue into a2aproject:main with commit 457bd93 Aug 29, 2025
7 checks passed
@Blackhex Blackhex deleted the feat/147-strong-naming branch August 29, 2025 08:23
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Add strong naming support

3 participants