Pourquoi est-ce seulement une méthode sans paramètre Main considérée comme un "objet de démarrage valide" & # 8221; pour un projet C #?

StackOverflow https://stackoverflow.com/questions/1031261

  •  06-07-2019
  •  | 
  •  

Question

J'ai téléchargé un zip de fichiers source contenant un projet C # avec plusieurs points d'entrée / méthodes principales. Comme je voulais bricoler, j’en ai créé un autre comme celui-ci dans un nouveau type / classe

class MyExperiments
   {
      static void Main(String[] args)
      {
         // do something
      }
   }

puis je suis passé aux propriétés du projet. Basculez simplement l'objet de démarrage sur MyExperiments hein? À ma grande surprise, le menu déroulant ne l'avait pas. J'ai reconstruit, rendu publique la méthode, essayé beaucoup de choses… mais en vain. Enfin, j'ai édité le .csproj manuellement dans le bloc-notes, puis cela a fonctionné. Plus bricoler, j'ai enlevé les paramètres pour le rendre

static void Main()

et maintenant, les propriétés du projet VS peuvent «voir» l’objet de démarrage. Alors maintenant, je pourrais le sélectionner en utilisant le menu déroulant. J'ai ensuite ajouté le String [] à l'arrière et tout fonctionnait encore.

Cela me semble un peu bizarre (car la forme la plus courante est une méthode Main avec des paramètres pour les arguments de ligne de commande des temps C / C ++). MSDN indique que la liste déroulante contiendra un démarrage valide. objets s'ils existent dans votre projet.

Était-ce utile?

La solution

Heureusement que vous l'avez copié-collé, il s'agit du "S" majuscule dans Main (String [] args) . Apparemment, VS utilise une correspondance de texte et est sensible à la casse. Comme il se doit probablement.

Autres conseils

lol - cela ressemble à un bogue dans l'EDI:

static void Main(String[] args) {}

ne s'affiche pas, mais

static void Main(string[] args) {}

fait!

Mise à jour: Réponse au bogue Connect Feedback /,

  

Merci pour vos commentaires! Il regarde le   Le problème ici est que le " String "   paramètre dans la méthode principale doit   être une chaîne " en minuscule. (et cela   semble avoir été signalé sur votre   stackoverflow post). Je vois un   suggestion ici pour mettre à jour le projet   page de propriété pour être légèrement plus intelligent   à propos de ramasser l'objet de démarrage,   mais étant donné qu'il y a un raisonnable   Contournement, nous allons investir notre   ressources pour stabiliser et améliorer   performances de VS2010. je vais aller   avancez et résolvez le bogue comme un "Wont"   Fix " mais s'il vous plaît n'hésitez pas à   réactivez le bogue si vous en avez   autres questions / commentaires.

     

Merci, DJ Park C # IDE, Programme   Gestionnaire

Cela semble être quelque chose que vous devriez garder en tête pour le moment - Gishu

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top