2015-06-26 19 views
7

Sono un principiante nella programmazione C#. Sto ottenendo l'errore The name 'File' does not exist in the current context.Il nome "File" non esiste nel contesto attuale

problema deve essere in prima linea var v = File.ReadLines("dictionary.txt");

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

namespace ConsoleApplication7 
{ 
    class Program 
    { 
     static void Main(string[] args) 
     { 
      if (args.Length > 0) 
      { 
       var v = File.ReadLines("dictionary.txt"); 
+3

per favore, non downvote. Lui è un principiante. Dovydas, otterresti la risposta alla tua domanda controllando il suggerimento che Visual Studio offre nell'intelligenza. Questo suggerimento, collegato all'errore, ti dice che potresti mancare un inclusivo. Probabilmente ti dirà anche cosa includere. – Rafa

+0

Semplicemente aggiungi System.IO ... –

risposta

13

Basta aggiungere questa istruzione using in cima si file

using System.IO; 

Il compilatore riconosce solo le classi da spazi dei nomi che si ha nel contesto attuale . Si aggiunge lo spazio dei nomi al contesto usando le istruzioni using. È inoltre possibile utilizzare un nome di tipo completo come System.IO.File per fare riferimento alla classe.

Se si utilizza Visual Studio è anche possibile posizionare il cursore sul simbolo problematico (File) e premere Maiusc +Alt +F10

+0

Grazie per l'aiuto! – Dovydas

2

Aggiungi using System.IO; alla sezione usings.

File classe si trova nello spazio dei nomi System.IO.

In alternativa (se è l'unico posto nel codice in cui si sta utilizzando un certo tipo da System.IO) è possibile utilizzare il nome completo del File come:

var v = System.IO.File.ReadLines("dictionary.txt"); 

Ma nel caso in cui è necessario accedere a oggetti da qualche spazio dei nomi più volte nel tuo codice, è meglio includere questo spazio dei nomi negli usi.

1

È necessario includere System.IO aggiungere using System.IO accanto ad altri utilizzi.

1

Aggiungi un'istruzione using:

using System.IO 
4

Per chiunque utilizzando Visual Studio 2015 Questo errore si verifica ancora, anche se System.IO viene fatto riferimento. Il problema è che, per impostazione predefinita, un progetto di Visual Studio 2015 è destinato sia ai framework dnx451 che a dnxcore50 e l'assembly System.IO non sembra disponibile per dnxcore50.

Se si guarda nel file project.json, verrà visualizzata una sezione "framework". La soluzione rapida è quella di commentare la voce "dnxcore50" in modo che si sta solo mira dnx451:

"dnxcore50": { 
    "dependencies": { 
     "System.Console": "4.0.0-beta-22816", 
     "System.Collections": "4.0.10-beta-22816", 
     "System.Linq": "4.0.0-beta-22816", 
     "System.Threading": "4.0.10-beta-22816", 
     "Microsoft.CSharp": "4.0.0-beta-22816" 
    } 
} 
0

sto lavorando Net Core vs2017 e ho un problema simile.

Per risolvere questo problema, è necessario modificare il framework di destinazione e installare System.IO.FileSystem.

utilizzando i seguenti metodi:

  • fare clic destro del mouse selezionare Proprietà progetto e.
  • nella scheda Applicazione e nella sezione Framework di destinazione passare a .NetStandard1.6

Poi, Per installare System.IO.FileSystem, eseguire il seguente comando nella console di Package Manager

Install-Package System.IO.FileSystem -Version 4.3.0 
Problemi correlati