Skip to content

Conversation

@tmat
Copy link
Member

@tmat tmat commented Dec 10, 2025

Context: https://github.com/dotnet/roslyn/pull/81577/files?file-filters%5B%5D=.json&file-filters%5B%5D=.cs&file-filters%5B%5D=.txt&file-filters%5B%5D=.csproj#diff-5b690fb7220ca800592067b9ca959ee332ea6455223eab931c526654553aa45c

The extern alias is needed to avoid conflicts between sources linked to BuildHost and Worksapace via MS.CA.Contracts.shproj.

Considered using Microsoft.CodeAnalysis.EmbeddedAttribute but that has issues - if it's applied on the type that type is not going to be visible in projects (transitively) referencing the project that links the source. Each project would need to reference MS.CA.Contracts.shproj directly and hence we would have N copies of the types. That works for some types, but for not for exchange types like IReadOnlySet<T>, which need to be the same across all projects that have access to them.

@tmat tmat requested review from a team as code owners December 10, 2025 20:39
@dotnet-policy-service dotnet-policy-service bot added VSCode Needs API Review Needs to be reviewed by the API review council labels Dec 10, 2025
@dotnet-policy-service
Copy link
Contributor

This PR modifies public API files. Please follow the instructions at https://github.com/dotnet/roslyn/blob/main/docs/contributing/API%20Review%20Process.md for ensuring all public APIs are reviewed before merging.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Area-IDE Needs API Review Needs to be reviewed by the API review council VSCode

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant