Всё есть и что-то работает, но не пойму когда и как. Есть декомпиляция, есть SourceLink. Но исходы, когда жму F12, получаются разные, и как кажется, рандомные:
1) Открывается исходный код через SourceLink, с комментариями, в том виде как он был написан автором. Самый лучший вариант. Бывает редко.
2) Открывается декомпилированный код, без комментариев. Бывает на сторонних либах, авторы которых не использовали SourceLink.
3) Открывается якобы исходник, в нем есть методы, но нет тела. Написано "From metadata". Бывает часто, в основном на системных либах.
4) И самое бесячее — якобы исходник, в нем есть методы, но вместо тела — выражение throw null.
Почему оно так работает? Как мне уйти от этих "ref" сборок, кому и для чего они нужны, жаль настоящую положить что ли?
Как настроить студию так, чтобы она слала к черту этот соурс линк и реф сборки, а вместо этого ВСЕГДА бы по-честному показывала декомпилированный код.
Пример: используется AspNetCore.Identity. Вызывается метод SignInManager.PasswordSignInAsync. Получается вариант 3. А хотелось бы 1 или 2. Неужели майкрософт не удосужилось применить sourcelink для своих же библиотек? Идут года и версии, ситуация не улучшается.
Здравствуйте, dmitry_npi, Вы писали:
_>Всё есть и что-то работает, но не пойму когда и как. Есть декомпиляция, есть SourceLink. Но исходы, когда жму F12, получаются разные, и как кажется, рандомные:
_>4) И самое бесячее — якобы исходник, в нем есть методы, но вместо тела — выражение throw null.
_>Почему оно так работает? Как мне уйти от этих "ref" сборок, кому и для чего они нужны, жаль настоящую положить что ли?
_>Как настроить студию так, чтобы она слала к черту этот соурс линк и реф сборки, а вместо этого ВСЕГДА бы по-честному показывала декомпилированный код.
А как уйти? Если ваша библиотека, скажем, собирается под .NET Standard, то она и "использует" эти самые ref-сборки. А уж какая будет реализация будет ясно только в рантайме. Например, под .NET Framework может быть одна реализация, а под .NET 9 (или даже ещё не существующую платформу) что-то совсем другое