99 votes

Impossible d'utiliser System.Windows.Forms

J'ai essayé de faire (mon premier) un programme C# :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("hello");
            Console.ReadLine();
        }
    }
}

Cela se passe bien, mais si j'essaie d'utiliser System.Windows.Forms :

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("hello");
            System.MessageBox("hello");
            Console.ReadLine();
        }
    }
}

Voici l'erreur que je reçois :

Error   1   The type or namespace name 'Windows' does not exist in the namespace     'System' (are you missing an assembly reference?)  C:\Users\Ramy\Documents\Visual Studio 2010\Projects\ConsoleApplication1\ConsoleApplication1\Program.cs  5   14  ConsoleApplication1

Quelques détails : - J'utilise Visual Studio 2012 ; - J'ai installé le kit de développement .NET ; - Il s'agit d'une application console.

Peut-être que c'est parce que sur une application console on ne peut pas utiliser System.Windows.Forms ? Si c'est le cas, quel programme devrait l'être ? J'ai aussi essayé avec un formulaire, mais je n'affichais qu'une fenêtre et aucun code.

10 votes

Parfois, les messages d'erreur vous indiquent en fait ce qui ne va pas : il vous manque une référence d'assemblage. Comment : Ajouter ou supprimer des références dans Visual Studio

2 votes

Comme il s'agit de votre premier programme, il est préférable de recommencer et de créer une application Windows Forms. L'assistant de projet de VS2010 s'occupera de nombreuses données concernant l'utilisation des formulaires Windows.

10 votes

La première partie du commentaire de dtb est un peu déplacée. Il est évident qu'il manque une référence d'assemblage à l'auteur de la question. La question était de savoir comment résoudre ce problème car le message d'erreur ne le précise pas.

0voto

Bojidar Stanchev Points 341

Allez dans le panneau latéral du projet, faites un clic droit sur les références -> ajouter une référence et trouvez System.Windows.Forms.

Chaque fois qu'une erreur de ce type se produit (il manque un espace de noms que vous avez ajouté et qui est manifestement présent), la solution est probablement la suivante : ajouter une référence.

Ceci est nécessaire car votre projet par défaut n'inclut pas tout car vous n'en aurez probablement pas besoin, ce qui permet de gagner de la place. Une bonne pratique est d'exclure les choses que vous n'utilisez pas.

0voto

R.Alonso Points 546

Peut s'avérer nécessaire, déréférencer system.Windows.forms et faites de nouveau référence.

-1voto

Moayad Myro Points 150

Ajoutez simplement la référence à System.Windows.Forms.dll

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