13 votes

Impossible de sélectionner la méthode Main comme objet de démarrage dans Visual Studio Express 2010 ?

J'ai écrit une méthode Main dans un de mes cours. Mon objet de démarrage dit Not set . Lorsque je clique dessus, rien d'autre n'apparaît dans le menu déroulant. Pourquoi ne puis-je pas sélectionner la méthode principale comme objet de démarrage ? Je veux exécuter ma méthode principale en appuyant sur ctrl+F7 mais rien ne se passe. Voici la méthode principale très courte que j'utilise.

static void Main(string[] args)
{
    Program c = new Program();
    c.consoleread();
}

11voto

Anthony Hayward Points 88

J'ai eu ce problème après avoir déplacé une classe dans un nouvel espace de noms. Essayez de fermer la solution et de modifier manuellement le fichier .csproj :

<PropertyGroup>
  <StartupObject>MyNamespace.MyClassWithMain</StartupObject>
</PropertyGroup>

5voto

Dan Puzey Points 20794

Votre méthode principale doit être public , static ( Shared en VB.NET) et avoir une signature spécifique : elle doit retourner soit void o int et sa liste de paramètres doit être soit vide soit un tableau de string .

Si votre méthode ne répond pas à ces exigences, elle ne pourra pas être sélectionnée comme objet de démarrage.

4voto

arviman Points 1663

En redémarrant VS, ça a marché !

Historique : Cette erreur m'est arrivée aujourd'hui dans un projet de service .net 4.5.1 que je voulais transformer en application console. J'ai changé le type de sortie en "Application Console" et cela n'a toujours pas changé. J'ai également modifié le fichier .csproj à la main.

2voto

BiLaL Points 137

Dans le cas d'un projet VB.NET,

Projet -> Propriétés de {Nom du projet} -> Application

Si l'option Activer le cadre d'application est cochée, vous ne pouvez pas sélectionner la méthode Main habituelle. L'erreur est la suivante :

L'objet de démarrage doit être un formulaire lorsque la case "Activer le cadre d'application" est cochée.

De plus, si on la décoche, l'étiquette passe de Formulaire de démarrage a Objet de démarrage .

Dialogue d'erreur :

enter image description here

1voto

Si la classe que vous voulez n'apparaît pas dans la liste déroulante, vous pouvez double-cliquer sur le projet dans l'explorateur de solutions et ajouter le nom de la classe après le nom du projet. (affiché dans le code comme "myproject" et "myclass")

<Project Sdk="Microsoft.NET.Sdk">

<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFramework>netcoreapp3.1</TargetFramework>
<StartupObject>myproject.myclass</StartupObject>
</PropertyGroup>

</Project>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X