dotnet / dotnet/project-system
P2P reference treated as metadata reference when ref assemblies are enabled
- Dominant language
- C#
- Stars
- 1k
- Forks
- 415
- PR merge metrics
- No merged PRs in 30d
Description
Repro:
1. Set up 2 .NET Core projects: a library and a client.
2. Turn on reference assemblies in both (`true`).
3. Instantiate a type from the library in the client code and add the project reference.
4. In the client, use "Go To Definition" on a type from the library. This opens a "[from metadata]" window. But I expect it would open the library source.
5. In the library, add a public API. Then try to use it from the client, I expect intellisense to pick up this new API. But the current behavior is that a Build operation is required for the new API to become visible to the client.
From discussion with Jason, this is likely a misbehavior of the project system exposing information about project references to the IDE.
Relates to:
- https://github.com/dotnet/roslyn/issues/18612 (test plan for reference assemblies feature)
- https://github.com/dotnet/roslyn/blob/master/docs/features/refout.md (compiler and msbuild doc for refout)
FYI @panopticoncentral @davkean @srivatsn for triage. Can we take a look for 15.3?
Contributor guide
Assessment
This issue has not been assessed yet.