Je pensais qu'un assemblage ne pouvait avoir qu'une seule méthode main() jusqu'à ce que je vois MiscUtil de Jon Skeet dans une conférence vidéo qu'il a donnée au bureau de Microsoft à Copenhague.Où sont les informations sur le point d'entrée d'un assemblage écrit dans l'assemblage?
Alors, je l'ai écrit cette petite application qui avait deux méthodes principales() comme ceci:
namespace ManyMains
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
Console.ReadKey();
}
}
class YetAnotherProgram
{
static void Main()
{
Console.WriteLine("Yet another program.");
Console.ReadKey();
}
}
}
I définir l'objet StartUp dans Visual Studio et cela a fonctionné. D'accord, pas de cause de détresse. Ensuite, je voulais voir où exactement ces informations sont stockées dans l'assemblage, donc j'ai ouvert le binaire compilé dans le réflecteur et vu absolument aucune métadonnée à cet effet. Je me demande si ce genre d'information est écrit dans le manifeste ou dans un en-tête COFF de l'image PE qui ne peut pas être vu dans un désassembleur mais peut être vu dans un éditeur hexadécimal?
Excellent. Je vous remercie. –