【问题标题】:System.IO.File missing an assembly referenceSystem.IO.File 缺少程序集引用
【发布时间】:2013-02-11 16:14:34
【问题描述】:

我正在尝试使用System.IO.File.ReadAllLines-method 读取文本文件,但弹出错误提示

命名空间“System.IO”中不存在类型或命名空间“文件”(您是否缺少程序集引用?

我正在使用 .Net Framework 4.5 和 VS2012。

【问题讨论】:

  • 您选择的具体项目模板非常重要。您不能在 Windows 应用商店或 PCL 项目中使用 File 类。
  • 这正是我所面临的情况,因为我正在构建 Windows Store App

标签: file .net-4.5 .net


【解决方案1】:

在构建 Windows 应用商店 (UWP) 应用时,您无法使用该程序集。

取而代之的是different mechanism you must use。这种机制鼓励采用更现代的文件 I/O 视图,包括异步(非阻塞)访问,使用缓冲区和库,并支持可能不使用传统文件路径的更多类型的设备。

【讨论】:

    【解决方案2】:

    首先进入Solution Explorer并展开References并检查System程序集是否在列表中。

    如果那里没有,请右键单击引用并单击 添加引用,然后从 .NET 选项卡中添加 System 程序集

    现在您应该在参考列表中有System

    现在您可以将命名空间 System.IO 导入为

    using System.IO;
    

    注意 File 是命名空间 System.IO 中的一个类

    所以只需在代码中使用 File 类,如下所示。

    File f = new File();//or whatever
    

    我知道最后一行就足够了,但请放下整件事以完成。 ;)

    【讨论】:

    • 我看到它已列出,但当我尝试添加它时,我收到一条错误消息,表明它正在寻找 .NET 4.0 安装(我没有 - 仅限 .NET 4.5):加载时出错来自 C:\WINDOWS\Microsoft.Net\assembly\GAC_MSIL\System.IO\4.0.0.0__b03f5f7f11d50a3a\System.IO.dll 的 System.IO 的代码完成信息:找不到程序集文件。我是否已经回滚到 4.0 才能正确加载 System.IO 引用?
    • 这是一个 Windows 应用商店应用程序。您不能将该程序集与那种应用程序一起使用。在 UWP 应用中处理文件的机制不同,因为 UWP 不允许您通过路径直接访问文件系统。
    猜你喜欢
    • 2019-10-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多