Domanda

Perché ricevo un " System.Security.Permission.FileIOPermission " errore? Di seguito è sostanzialmente tutto il mio programma. È estremamente semplice. Tutto quello che deve fare è creare una copia di una cartella. Funziona sul mio PC e sul numero di PC dei miei colleghi, ma per alcuni dà l'errore sopra.

Qualche idea?

        public static void CopyAll(DirectoryInfo source, DirectoryInfo target)
        {
            // Check if the target directory exists, if not, create it.
            if (Directory.Exists(target.FullName) == false)
            {
                Directory.CreateDirectory(target.FullName);
            }

            // Copy each file into it’s new directory.
            foreach (FileInfo fi in source.GetFiles())
            {
                Console.WriteLine(@"Copying {0}\{1}", target.FullName, fi.Name);
                fi.CopyTo(Path.Combine(target.ToString(), fi.Name), true);
            }

            // Copy each subdirectory using recursion.
            foreach (DirectoryInfo diSourceSubDir in source.GetDirectories())
            {
                DirectoryInfo nextTargetSubDir =
                target.CreateSubdirectory(diSourceSubDir.Name);
                CopyAll(diSourceSubDir, nextTargetSubDir);
            }
        }
È stato utile?

Soluzione 3

L'installazione di .net 3.5 risolve il problema (modifica le FileIOPermissions predefinite sul computer locale per concedere l'autorizzazione alle applicazioni eseguite sulla rete)

Altri suggerimenti

Sui sistemi in cui ciò sta accadendo, l'utente che ha effettuato l'accesso potrebbe non disporre delle autorizzazioni di lettura o scrittura (molto probabilmente letto, perché se è possibile creare una directory di destinazione è possibile scrivere su di essa). Ulteriori informazioni su FileIOPermission sono disponibili qui a msdn .

Il problema saranno i diritti insufficienti. Il sistema operativo nega l'accesso a una directory, poiché l'utente che esegue il programma non è autorizzato a creare directory o copiare file in quella particolare directory.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top