Kan System.Windows.Forms niet gebruiken

Ik heb geprobeerd (mijn eerste) een C#-programma te maken:

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();
        }
    }
}

Dit gaat goed, maar als ik System.Windows.Forms probeer te gebruiken:

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();
        }
    }
}

Dit is de foutmelding die ik krijg:

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

Enkele details:
– Ik gebruik Visual Studio 2012;
– Ik heb de .NET Development Kit geïnstalleerd;
– Het is een consoletoepassing.

Misschien komt het doordat in een consoletoepassing System.Windows.Forms niet kan worden gebruikt?
Zo ja, welk programma moet dat zijn? Ik heb het ook geprobeerd met een formulier, maar ik gaf alleen een venster weer en geen code.


Antwoord 1, autoriteit 100%

Een consoletoepassing voegt niet automatisch een verwijzing naar System.Windows.Forms.dll toe.

Klik met de rechtermuisknop op uw project in Solution Explorer en selecteer Referentie toevoegen… en zoek vervolgens System.Windows.Forms en voeg het toe.


Antwoord 2, autoriteit 12%

Je moet de referentie van de naamruimte : System.Windows.Forms aan je project toevoegen, omdat deze om de een of andere reden nog niet is toegevoegd, dus je kunt Nieuwe referentie toevoegen vanuit het Visual Studio-menu.

Klik met de rechtermuisknop op “Referentie” ▶ “Nieuwe referentie toevoegen” ▶ “System.Windows.Forms”


Antwoord 3, autoriteit 7%

Voor het toevoegen van System.Windows.Forms-referentie is .NET Framework-projecttype vereist:

Ik gebruikte het projecttype .NET Core. Met dit projecttype kunnen we geen assemblages toevoegen aan de projectreferenties. Ik moest naar het projecttype .NET Frameworkgaan voordat ik de assembly System.Windows.Formsaan mijn referenties toevoeg, zoals beschreven in Kendall Freyantwoord.

Opmerking: er is referentie System_Windows_Formsbeschikbaar op het tabblad COM (voor zowel .NET Core als .NET Framework). Het is niet de juiste. Het moet System.Windows.Formszijn onder het tabblad Assemblies.


Antwoord 4, autoriteit 4%

Om de verwijzing naar “System.Windows.Forms” toe te voegen, lijkt het een beetje anders te zijn voor Visual Studio Community 2017.

1) Ga naar de oplossingenverkenner en selecteer referenties

2) Klik met de rechtermuisknop en selecteer Referenties toevoegen

3) Controleer in Assemblies System.Windows.Forms en druk op ok

4) Dat is het.


Antwoord 5

Zorg ervoor dat Solution Explorer zichtbaar is
In MS Studio 2008 Ga naar weergave en klik op Oplossingsverkenner

Ga in Oplossingsverkenner naar Referentie
Klik met de rechtermuisknop op Referentie en selecteer Referentie toevoegen.
Selecteer het .NET-tabblad
Scroll naar beneden tot je System.Drawing -> selecteer het -> klik op de OK-knop
Doe hetzelfde voor System.Windows.Forms

Als u uw formulier uitvoert, werkt dit

(eddie leeft ergens in de tijd)


Antwoord 6

voeg gewoon een verwijzing toe naar System.Windows.Forms.dll


Antwoord 7

ga naar het zijprojectpaneel, klik met de rechtermuisknop op referenties -> voeg referentie toe en zoek System.Windows.Forms

Elke keer dat een dergelijke fout optreedt (een door u toegevoegde naamruimte ontbreekt die er duidelijk is), is de oplossing waarschijnlijk deze: een verwijzing toevoegen.

Dit is nodig omdat je standaardproject niet alles bevat, omdat je het waarschijnlijk niet nodig hebt, dus het bespaart ruimte. Een goede gewoonte is om dingen uit te sluiten die je niet gebruikt.


Antwoord 8

kan nodig zijn,
unreference system.windows.forms
en referentie opnieuw.

Other episodes