VS 2022 C# .net9 проблема з Go to Definition

💡 Усі статті, обговорення, новини про .NET — в одному місці. Приєднуйтесь до .NET спільноти!

Бажаю здоров’я.

Зіткнувся давно з такою проблемою. При виділенні інтерфейсу (наприклад IEnumerable) і натисканні клавіші F12 (Go to definition) перекидає не туди куди потрібно:

Хоча коли змінюю TargetFramework на net8.0 працює все нормально:

При зміні на net9.0 знову все ламається, правда буває з першого разу працює норм, поки не перезайти в різні інтерфейси. В неті знайшов дуже мало інформації, що це дуже давня проблема .net9 і її наче вже пофіксили. Там наче не правильний токен адреси вертає. Але я вже оновив/перевстановив все що тільки міг. VS2026 з .net10 і новим C# поки ще не встановлюю, почекаю повноцінного релізу десь в листопаді чи зимою, поки наче все в беті. Коротше трішки попарився та й забив, не працює — то й не працює.

Сьогодні чисто випадково в налаштуваннях натрапив на вкладку Go To Definition (взагалі шукав налаштування зміни фону вікон інструментів/налаштувань зі світлої на темну, бо теми чомусь не змінюють колір вікон) і в голові голос сказав тут твоє рішення старої проблеми (не звертайте уваги я в бойових неодноразово контужений і поранений, сам з собою бува говорю).

Пункт Enable navigation to Source Link and Embedded source за замовчуванням увімкнутий, але коли я з нього зняв галочку, то проблема зникла в .net9 і все працює тепер так як має.

Питання до знавців. Чи у вас так само? Чи я знайшов правильне рішення? І взагалі, за що конкретно відповідає Enable navigation to Source Link and Embedded source і чи вона критично потрібна?

👍ПодобаєтьсяСподобалось1
До обраногоВ обраному0
LinkedIn
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter
Дозволені теги: blockquote, a, pre, code, ul, ol, li, b, i, del.
Ctrl + Enter

Source Link and Embedded source це галка щоб показувати саме оригінальний код, який автор nuget пакету вказав де знайти (детальніше тут github.com/dotnet/sourcelink)
А як ви самі написали із цим є проблема в їх пакетах.
Якщо вимкнути, то це буде просто декомпіляція. Можна ще видалити sdk 9, почистити кеш nuget learn.microsoft.com/...​rs#clearing-local-folders
і поставити останній sdk 9 назад, можливо допоможе

Підписатись на коментарі