В визуальной студии
Microsoft использует хитрость, чтобы справиться с этой ситуацией.
он делает DLL и ставит на них все иконки. в системном реестре он делает правило, что они показывают значок для ascx и aspx.
он поместил расширение файла в качестве имени и значок в качестве значения.
при запуске Visual Studio Visual Studio читает системный реестр и показывает значок.
если вы не верите этому, вы можете прочитать это в своем regedit, если у вас есть visual studio в вашей системе.