簡體   English   中英

為什么單聲道C#找不到我的代碼System.IO.File?

[英]Why can't mono C# find System.IO.File with my code?

我試圖通過使用JSON.Net和StreamReader直接解析它來反序列化一個非常大的json文件(63mb)。 我正在使用mono + monodevelop在Ubuntu 18.04中開發。 我需要盡可能保持便攜。

在JSON.Net文檔的這個頁面上 ,它提供了一個如何直接讀入文件以反序列化的示例

// deserialize JSON directly from a file
using (StreamReader file = File.OpenText(@"c:\movie.json"))
{
    JsonSerializer serializer = new JsonSerializer();
    Movie movie2 = (Movie)serializer.Deserialize(file, typeof(Movie));
}

所以我試着這樣做

using System;
using System.IO;
using Newtonsoft.Json;

private void LoadJson(string path)
{
    using (StreamReader json_file = File.OpenText(path))
    {
        blah blah
    }
}

但是,monodevelop抱怨The name 'File' does not exist in the current context

我甚至無法使用System.IO.File.OpenText直接解決它

有誰知道為什么mono沒有找到System.IO.File?

找到原因。

顯然,如果我創建一個可移植的庫項目,則無法使用完整的.NET API。 因為我需要這個代碼至少在MacOS和Windows上運行,所以會有哪些叮咬,但我會想出辦法。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM