How do I prevent this System.IO.IOException when copying a file?
When I run the following code to test copying a directory, I get a System.IO.IOException when fileInfo.CopyTo method is being called. The error message is: "The process cannot access the file 'C:\CopyDirectoryTest1\temp.txt' because it is being used by another process."  It seems like there's a lock on folder1 ("C:\CopyDirectoryTest1") which is created a few lines above where the error is occurring, but I don't know how to release this if so.  Any ideas?

    using System;
    using System.IO;
    
    namespace TempConsoleApp
    {
        class Program
        {
            static void Main(string[] args)
            {
                string folder1 = @"C:\CopyDirectoryTest1";
                string folder2 = @"C:\CopyDirectoryTest2";
                string file1 = Path.Combine(folder1, "temp.txt");
    
                if (Directory.Exists(folder1))
                    Directory.Delete(folder1, true);
                if (Directory.Exists(folder2))
                    Directory.Delete(folder2, true);
    
                Directory.CreateDirectory(folder1);
                Directory.CreateDirectory(folder2);
                File.Create(file1);
    
                DirectoryInfo folder1Info = new DirectoryInfo(folder1);
                DirectoryInfo folder2Info = new DirectoryInfo(folder2);
    
                foreach (FileInfo fileInfo in folder1Info.GetFiles())
                {
                    string fileName = fileInfo.Name;
                    string targetFilePath = Path.Combine(folder2Info.FullName, fileName);
                    fileInfo.CopyTo(targetFilePath, true);
                }
            }
        }
    }


How do I prevent this System.IO.IOException when copying a file?
===

When I run the following code to test copying a directory, I get a System.IO.IOException when fileInfo.CopyTo method is being called. The error message is: "The process cannot access the file 'C:\CopyDirectoryTest1\temp.txt' because it is being used by another process."  It seems like there's a lock on folder1 ("C:\CopyDirectoryTest1") which is created a few lines above where the error is occurring, but I don't know how to release this if so.  Any ideas?

    using System;
    using System.IO;
    
    namespace TempConsoleApp
    {
        class Program
        {
            static void Main(string[] args)
            {
                string folder1 = @"C:\CopyDirectoryTest1";
                string folder2 = @"C:\CopyDirectoryTest2";
                string file1 = Path.Combine(folder1, "temp.txt");
    
                if (Directory.Exists(folder1))
                    Directory.Delete(folder1, true);
                if (Directory.Exists(folder2))
                    Directory.Delete(folder2, true);
    
                Directory.CreateDirectory(folder1);
                Directory.CreateDirectory(folder2);
                File.Create(file1);
    
                DirectoryInfo folder1Info = new DirectoryInfo(folder1);
                DirectoryInfo folder2Info = new DirectoryInfo(folder2);
    
                foreach (FileInfo fileInfo in folder1Info.GetFiles())
                {
                    string fileName = fileInfo.Name;
                    string targetFilePath = Path.Combine(folder2Info.FullName, fileName);
                    fileInfo.CopyTo(targetFilePath, true);
                }
            }
        }
    }

