Microsoft.VisualBasic在VisualStudio 2017类库项目中不起作用

时间:2017-07-24 00:02:48

标签: visual-studio-2017

我正在尝试在VS2017中创建一个类库,我想在其中使用Microsoft.VisualStudio中的TextFieldParser。我必须添加对该dll C:\ Program Files(x86)\ Reference的直接引用 我也在使用System.IO中的File类 大会\微软\ Framework.NETFramework \ v4.6.2 \ Microsoft.VisualBasic.dll中 但构建失败的消息对我来说没有意义,其中一些是

  • 名称'文件'在当前上下文中不存在
  • 类型'流'在未引用的程序集中定义。您必须添加对程序集的引用&m; mscorlib,Version = 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'
  • 类型' TextReader'在未引用的程序集中定义。您必须添加对程序集&mcorlib的引用,版本= 4.0.0.0,Culture = neutral,PublicKeyToken = b77a5c561934e089'。

我不确定这是否是由于.NET标准版本框架的新包装

构建项目需要做什么?非常感谢!

我已粘贴我的代码

    public async Task<IEnumerable<Security>> GetSecuritiesAsync()
    {
        string[] lines;
        using (var reader = File.OpenText("securities.csv"))
        {
            var fileText = await reader.ReadToEndAsync();
            lines = fileText.Split(new[] { Environment.NewLine }, StringSplitOptions.None);
        }

        //first line header
        var securities = new List<Security>();
        for (int i = 1; i < lines.Length; i++)
        {
            if (!string.IsNullOrEmpty(lines[i]))
            {
                string[] attrs = ParseCsv(lines[i]);
                if (attrs.Length == 4)
                {
                    var sec = new Security();
                    int id;
                    if (int.TryParse(attrs[0], out id))
                    {
                        sec.ID = id;
                    }
                    else
                    {
                        continue;
                    }

                    sec.Symbol = attrs[1];
                    sec.Name = attrs[2];
                    sec.Sector = attrs[3];

                    securities.Add(sec);
                }
            }
        }
        return securities;
    }

    private string[] ParseCsv(string line)
    {
        TextFieldParser parser = new TextFieldParser(new StringReader(line));

        parser.HasFieldsEnclosedInQuotes = true;
        parser.SetDelimiters(",");

        string[] fields = null;

        while (!parser.EndOfData)
        {
            fields = parser.ReadFields();
        }
        parser.Close();
        return fields;


    }
}

0 个答案:

没有答案