Ciao a tutti, ho sviluppato un programma e funziona (mi sono sorpreso nell'aver fatto un programma che funziona). Il mio problema però è sorto quando ho impostato il framework di destinazione in 2.0 anzichè 4, perche non trova diversi riferimenti tra cui .Linq e la parte sull'Xdocument.

Nel pratico, questo mio programmino legge un file xml dove risiedono alcune impostazioni come connessione al db, cartella sorgente e cartella destinazione.
Crea l'elenco dei file nella cartella sorgente e per ogni file controlla se esiste un record in una tabella del db, se esiste sposta il file nella cartella destinazione ed esegue un INSERT in un'altra tabella.

codice:
using System;
using System.IO;
using System.Data.SqlClient;
using System.Linq;
using System.Xml.Linq;

class Program
{
    static void Main()
    {
        /*
           LETTURA FILE XML CON Le IMPOSTAZIONI
        */
        string DataFile = @"Datafile.xml";
        XDocument document = XDocument.Load(DataFile);
        string Connection = (string)document.Element("Root").Element("ConnectionString").Value;
        string Source = (string)document.Element("Root").Element("Path").Attribute("Source").Value;
        string Dest = (string)document.Element("Root").Element("Path").Attribute("Dest").Value;

        /*
           LETTURA FILE DIRECTORY SOURCE
        */
        string[] arrayFile = Directory.GetFiles(Source);

        foreach (string nameFile in arrayFile)
        {
            /*
               OPERAZIONI SULLA STRINGA DEL NOME FILE
               SEPARO NUM.INV GIORNO MESE ANNO
            */
            string FileName = nameFile.Replace(Source, "");
            int startIndex = FileName.IndexOf(".");
            string NewNameFile = FileName.Substring(0, startIndex);
            string[] splitFile = NewNameFile.Split('-');
            string InventoryNumber = splitFile[0];
            string Day = splitFile[1];
            string Mounth = splitFile[2];
            string Year = splitFile[3];

            SqlConnection conn = new SqlConnection();
            conn.ConnectionString = @Connection;
            conn.Open();
            SqlCommand cmd = new SqlCommand();
            cmd.Connection = conn;
            cmd.CommandType = System.Data.CommandType.Text;
            cmd.CommandTimeout = 300;
            string sql = @"SELECT .......";
            cmd.CommandText = sql;
            SqlDataReader reader;
            reader = cmd.ExecuteReader();


            if (reader.HasRows == true)
            {
                while (reader.Read())
                {
                    /*
                       ESEGUO INSERT PER OGNI RECORD TROVATO
                    */
                    SqlConnection connInsert = new SqlConnection();
                    connInsert.ConnectionString = @Connection;
                    connInsert.Open();
                    SqlCommand cmdInsert = new SqlCommand();
                    cmdInsert.Connection = connInsert;
                    cmdInsert.CommandType = System.Data.CommandType.Text;
                    cmdInsert.CommandTimeout = 300;
                    string sqlInsert = @"INSERT INTO prova ([Inventario],[GUID],[Numero]) VALUES ('" + InventoryNumber + "','" + reader.GetString(0) + "','" + reader.GetInt32(1) +"')";
                    cmdInsert.CommandText = sqlInsert;
                    SqlDataReader Insert;
                    Insert = cmdInsert.ExecuteReader();
                    Insert.Close();
                    connInsert.Close();
                }

                /*
                   SPOSTO IL FILE NELLA NUOVA DIRECTORY
                */

                File.Move(Source + FileName, Dest + FileName);
                Console.WriteLine("File: " + FileName + " Spostato");    
            }

            else
            {
                Console.WriteLine("Record non trovato");
            }

            Console.ReadKey();

            reader.Close();
	        conn.Close();
        }

    }
}
Non cerco la soluzione pronta, ma mi accontento anche di qualche link dove trovare i riferimenti che mi servono
inoltre mi piacerebbe qualche consiglio su come migliorare il programma, non sono un programmatore professionista e molte cose sono dei copia-incolla, tipo ad esempio pensavo di creare una classe per la connessione al db, in modo da non dover riscrivere tutto ogni volta.

Grazie