DEbopm Ответов: 2

Тип или имя пространства имен Linq не существует в системе пространств имен


У меня есть следующий код, и я хочу запустить его в VS2008. Но это дает ошибку, как :

Тип или имя пространства имен Linq не существует в системе пространств имен.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.IO;


namespace ConsoleApplication2
{
    class Program
    {
        static void Main(string[] args)
        {
            string path = "D:/Project/";
            //string[] fileNames = { "A_L_PRTD_432124.txt", "A_L_PRTD_021345.txt" };
            string fileNameStartsWIth = "A_L_PRTD_";
            string[] fileNames = Directory
                 .GetFiles(path, "*.txt", SearchOption.AllDirectories)
                 .Select(f => Path.GetFileName(f)).Where(k => k.StartsWith(fileNameStartsWIth)).ToArray();

            string finalFile = "L_PRTD_" + DateTime.Now.ToString("ddMMyyyy") + ".txt";

          List<string> lstLines = new List<string>();
            foreach (string file in fileNames)
            {
                string[] content = File.ReadAllLines(path + file).Select(k => k.Trim()).Distinct().ToArray();
                lstLines.AddRange(content);
            }
            var data = lstLines.Distinct();
            File.AppendAllLines(path + finalFile, data);


        }
    }
}


Пожалуйста помочь.

Kornfeld Eliyahu Peter

Отсутствует ссылка?
Проверьте ссылки на ваш проект...

DEbopm

как добавить ссылку ?

2 Ответов

Рейтинг:
2

Kornfeld Eliyahu Peter

Добавьте недостающую ссылку...

http://msdn.microsoft.com/en-us/library/wkze6zky(v=против 100).aspx[^]


Рейтинг:
15

Karthik_Mahalingam

Right click ваш проект -> Add Reference -> выберите Framework tab -> select System.Core.Dll Версия 3.5... -> нажмите кнопку ok


если вы не можете найти библиотеку dll , вы можете скачать ее с этого сайта system.core.dll[^]


AppendAllLines находится в framework 4.0, который недоступен в версии 3.5..
вы можете использовать WriteAllLines вместо него в случае v 3.5


DEbopm

привет Картик ,

Это опять я :) .. На самом деле я использую .net framework 3.5 в клиентской системе, где мне нужно будет это закодировать . Но он говорит мне об ошибке в этой строке : файл.AppendAllLines(path + finalFile, data);
Ошибка:System.IO.file не содержит определения для AppendAllLines. пожалуйста, помогите.

Karthik_Mahalingam

Система.IO доступен в mscorlib.dll ...

тогда как же вы получаете эту ошибку ???

Karthik_Mahalingam

ладно подожди

DEbopm

Я проверил и обнаружил, что AppendAllLines-это метод для .net4.0 и выше, а не для .net3.5 .. Как это можно пройти?

Karthik_Mahalingam

попробовать это..

var data = lstLines.Отчетливый().Метод toArray();
Файл.WriteAllLines(path + finalFile, data );

Karthik_Mahalingam

вы правы, AppendAllLines находится в framework 4.0, который недоступен в v 3.5..

DEbopm

это сработало !! еще раз большое спасибо чувак :)

Karthik_Mahalingam

добро пожаловать :)

Joezer BH

Привет Картик,

СОВЕТ: Когда вы обновляете важную информацию, которая помогает пользователю решить проблему, не забудьте обновить приведенное выше решение с помощью этой информации, это поможет будущим пользователям легко использовать эту информацию!

Овации,
Себе на уме

Karthik_Mahalingam

конечно себе на уме
я буду следовать вашим словам
ты прав..

DEbopm

привет, Картик .. Ты там ? У меня есть еще один вопрос.

Я хочу переместить эти старые файлы в резервную копию после того, как они будут объединены в один файл. Как добавить шаги .

Karthik_Mahalingam

да, ты можешь это сделать.
пожалуйста, посетите эту ссылку
http://msdn.microsoft.com/en-us/library/cc148994.aspx

DEbopm

Я нашел ответ ... в любом случае спасибо тебе, Картик ..

Karthik_Mahalingam

:) добро пожаловать

DEbopm

Я отправил вопрос в differntly для чтения из текстового файла и проверки в sql server . не могли бы вы помочь мне с этим ?

Karthik_Mahalingam

хорошо, я проверю это.

DEbopm

http://www.codeproject.com/Questions/706457/How-do-I-Search-in-sql-db-from-text-file-and-if-pr