visual utilizado uso tiene studio siendo saber pudo proceso porque por otro ocupado notas net liberar está esta encontrar archivo acceso abierto c# .net exception-handling

c# - uso - No puede acceder al archivo porque está siendo utilizado por otro proceso



saber si un archivo esta abierto vb net (6)

Tengo un programa ASP.NET donde descargo un archivo de la web usando el método DownloadFile de webClient Class y hago algunas modificaciones en él. luego lo guardo en otra carpeta con un nombre único. Cuando recibo este error

El proceso no puede acceder al archivo ''D: / RD / dotnet / abc / abcimageupload / images / TempStorage / tempImage.jpg'' porque está siendo utilizado por otro proceso

¿Alguien puede decirme cómo resolver esto?


¿Estás cerrando explícitamente la secuencia de archivos después de realizar los cambios?


En general, creo que su código debería verse algo así.

WebClient wc = new WebClient(); wc.DownloadFile("http://.com/Content/Img/-logo-250.png", "Foo.png"); FileStream fooStream; using (fooStream = new FileStream("foo.png", FileMode.Open)) { // do stuff } File.Move("foo.png", "foo2.png");


He tenido muy buenos resultados al utilizar las herramientas de SysInternals para rastrear qué aplicaciones están accediendo a archivos y causando este tipo de problema.

Process Monitor es la herramienta que desea: configúrela para filtrar la salida a solo los archivos en la carpeta que le interesa, y podrá ver cada acceso al archivo.

Ahorra tener que adivinar cuál es el problema.


No sé si esto resolverá tu problema ...

Obtuve exactamente el mismo error al escribir en un archivo de texto y luego intentar abrirlo después.

Fue resuelto lavando al escritor y luego cerrándolo después de escribir en el archivo.


esto puede ayudar ... lo siento es VB no C pero bueno ...

Esto funciona

Dim fs As FileStream = Nothing fs = File.Create("H:/test.txt") fs.Close() File.Delete("H:/test.txt")

Esto no es así, da el error "el archivo está siendo utilizado por otro proceso"

File.Create("H:/test.txt") File.Delete("H:/test.txt")


intente lo siguiente, configure su archivo en modo Asíncrono (tercer parámetro)

FileStream myStream = File.Create(fileName, results.Length,FileOptions.Asynchronous); //make sure you close the file myStream.Write(results, 0, results.Length); myStream.Flush(); myStream.Close(); myStream.Dispose();

si esto falla reinicia el atributo del archivo b4 al que accedes

File.SetAttributes(Server.MapPath(sendFilepath), FileAttributes.Normal);