当前上下文中不存在名称“文件”

时间:2015-06-26 08:55:47

标签: c# .net

我是c#编程的初学者。我收到错误The name 'File' does not exist in the current context

问题必须在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");

7 个答案:

答案 0 :(得分:15)

只需将此using语句添加到文件顶部

即可
using System.IO;

编译器只识别当前上下文中的命名空间中的类。您可以使用using语句将命名空间添加到上下文中。您还可以使用完全限定的类型名称(例如System.IO.File)来引用该类。

如果您使用的是Visual Studio,还可以将光标放在有问题的符号(File)上,然后按 Shift + Alt + F10

答案 1 :(得分:4)

对于使用Visual Studio 2015的任何人,即使引用了System.IO,仍会发生此错误。问题是,默认情况下,Visual Studio 2015项目将同时针对dnx451和dnxcore50框架,而System.IO程序集似乎不适用于dnxcore50。

如果你查看project.json文件,你会看到一个"框架"部分。快速解决方法是注释掉" dnxcore50"条目,以便您只定位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"
    }
}

答案 2 :(得分:2)

using System.IO;添加到您的使用部分。

File类位于System.IO命名空间。

或者(如果它是您的代码中唯一使用System.IO中的某种类型的地方),您可以使用File的完全限定名称,如:

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

但是当您需要在代码中多次访问某个命名空间中的对象时,最好在使用中包含该命名空间。

答案 3 :(得分:1)

您需要在其他使用旁边添加System.IO添加using System.IO

答案 4 :(得分:1)

添加使用声明:

using System.IO

答案 5 :(得分:0)

我在vs2017中工作.Net Core,我遇到了类似的问题。

  

要解决此问题,您应该更改目标框架并安装System.IO.FileSystem。

使用以下方法:

  • 右键单击项目并选择属性。
  • 应用程序选项卡和目标框架部分中的
  • 更改为.NetStandard1.6

然后,要安装System.IO.FileSystem,请在程序包管理器控制台中运行以下命令

Install-Package System.IO.FileSystem -Version 4.3.0

答案 6 :(得分:0)

1。首先,在这里我们需要创建这样的对象。

 OpenFileDialog ofd = new OpenFileDialog();

2。然后,您需要在代码顶部添加

 using System.IO;

3。最后,您可以像这样更改代码

OpenFileDialog.Title -----> ofd.Title
OpenFileDialog.Filter -----> ofd.Filter