dotnet / dotnet/project-system

P2P reference treated as metadata reference when ref assemblies are enabled

Open
#2,478 13 comments 0 reactions 1 assignee Claimed by @davkean View on GitHub
Feature-Language-Service Feature-Reference-Assembly Triage-Investigate
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.