2015-06-26 26 views
7

Tôi là người mới bắt đầu trong lập trình C#. Tôi đang gặp lỗi The name 'File' does not exist in the current context.Tên 'Tệp' không tồn tại trong ngữ cảnh hiện tại

Vấn đề phải nằm trong dòng 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

làm ơn, đừng downvote. Anh ấy là người mới bắt đầu. Dovydas, bạn sẽ nhận được câu trả lời cho câu hỏi của bạn kiểm tra gợi ý rằng Visual Studio cung cấp trong intellisense. Gợi ý này, được liên kết với lỗi, cho bạn biết rằng bạn có thể thiếu một bao gồm. Nó sẽ probalby thậm chí cho bạn biết những gì để bao gồm. – Rafa

+0

Chỉ cần thêm System.IO ... –

Trả lời

13

Chỉ cần thêm lệnh using này để phía trên cùng của quý vị nộp

using System.IO; 

Trình biên dịch chỉ công nhận các lớp từ không gian tên mà bạn có trong bối cảnh hiện nay . Bạn thêm không gian tên vào ngữ cảnh bằng cách sử dụng các câu lệnh using. Bạn cũng có thể sử dụng tên loại hoàn toàn đủ điều kiện như System.IO.File để tham khảo lớp học.

Nếu bạn đang sử dụng Visual Studio bạn cũng có thể đặt con trỏ vào biểu tượng có vấn đề (File) và nhấn phím Shift + Alt + F10

+0

Cảm ơn bạn đã đánh giá cao sự giúp đỡ của bạn! – Dovydas

2

Thêm using System.IO; phần usings của bạn.

File lớp học được đặt trong không gian tên System.IO.

Ngoài ra (nếu nó là nơi duy nhất trong mã của bạn, nơi bạn đang sử dụng một số loại từ System.IO), bạn có thể sử dụng tên đầy đủ của File như:

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

Nhưng trong trường hợp khi bạn cần truy cập các đối tượng từ một số không gian tên nhiều lần trong mã của bạn, tốt hơn là để tận dụng không gian tên đó trong các bài viết.

1

Bạn cần phải bao gồm System.IO thêm using System.IO bên cạnh các cách sử dụng khác.

1

Thêm một tuyên bố sử dụng:

using System.IO 
4

Đối với bất cứ ai sử dụng Visual Studio 2015 lỗi này vẫn sẽ xảy ra ngay cả khi System.IO được tham chiếu. Vấn đề là theo mặc định một dự án Visual Studio 2015 sẽ nhắm mục tiêu cả hai dnx451 và dnxcore50 khuôn khổ, và lắp ráp System.IO dường như không có sẵn cho dnxcore50.

Nếu bạn nhìn vào tệp project.json, bạn sẽ thấy phần "khung". Việc sửa chữa nhanh chóng là để ghi chú bên ngoài "dnxcore50" entry để bạn chỉ nhắm mục tiêu 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

Tôi đang làm việc Net Core trong vs2017 và tôi có một vấn đề tương tự.

Để giải quyết vấn đề này, bạn nên thay đổi khung đích và cài đặt System.IO.FileSystem.

Sử dụng các phương pháp sau:

  • Nhấp chuột phải vào dự án và chọn Properties.
  • trong tab Ứng dụng và phần khung mục tiêu thay đổi thành .NetStandard1.6

Sau đó, Để cài đặt System.IO.FileSystem, hãy chạy lệnh sau trong Package Manager Console

Install-Package System.IO.FileSystem -Version 4.3.0 
Các vấn đề liên quan