89 votes

Message d'erreur "CS5001 Le programme ne contient pas de méthode 'Main' statique adaptée en tant que point d'entrée"

Impossible d'exécuter le code suivant error CS5001 Le programme ne contient pas de méthode statique 'Main' adaptée pour un point d'entrée

Que signifie ce message d'erreur?

class Program
{
    static async Task MainAsync(string[] args)
    {
        Account.accountTest accountTest = new Account.accountTest();

        bool result = await accountTest.CreateAccountAsync();
    }
}

3 votes

J'ai reçu le même message d'erreur car j'avais async void Main au lieu de async Task Main

0 votes

@EldritchConundrum - async Task était la réponse à mon problème. Merci. Vous devriez l'ajouter comme réponse si les gens sont déjà sur la version C# >= 7.1

193voto

Jon Skeet Points 692016

Cela signifie que vous n'avez pas actuellement un point d'entrée approprié pour votre application.

Ce code fonctionnera presque avec C# 7.1, mais vous devez explicitement activer C# 7.1 dans votre fichier de projet :

7.1

ou plus généralement :

latest

Vous devez également renommer MainAsync en Main. Par exemple :

Program.cs :

using System.Threading.Tasks;

class Program
{
    static async Task Main(string[] args)
    {
        await Task.Delay(1000);
    }
}

ConsoleApp.csproj :

    Exe
    netcoreapp2.0
    7.1

... se compile et s'exécute correctement.

0 votes

Ajouté dernier à myproject.csproj toujours obtenir la même erreur.

4 votes

@001: Voir ma réponse modifiée - la version de langage doit être en majuscules, et vous devez également renommer la méthode.

0 votes

@Pascal: Nous avons besoin de beaucoup plus d'informations que cela pour vous aider. Quelle version exacte du compilateur C# (c'est l'élément important) utilisez-vous? Quel est le contexte?

3voto

typhon04 Points 303

Cela peut être une réponse stupide, mais si votre intention était de créer un projet Bibliothèque de classes, assurez-vous de ne pas avoir créé par erreur un projet Application Console.

Je connais au moins une personne qui l'a fait.

0 votes

Je aidais un membre de l'équipe à travailler sur un projet MVC et voici le problème. Les projets MVC doivent avoir leur Type de sortie configuré sur Bibliothèque de classes. Je suppose que cela avait été changé par inadvertance en Application console.

0 votes

Trouvé une autre personne ... merci d'avoir partagé .... m'a fait gagner du temps et éviter une certaine gêne.

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