:File.Copy (SourceFileName, destFileName, üzerine yaz) bazı OS üzerinde çalışmaz
File.Copy(oldPath, targetPath,true);
File.SetAttributes(targetPath, FileAttributes.Normal);
Bir dosya başka bir yere taşınacak vardır ve ben eksikliği nedeniyle Kaynak yolunda hemen yaz, dosyayı kopyala ve hedef dosya için erişim haklarını ayarla. Sistemimde (Windows 7 SP1) bu iyi çalışıyor.
Ancak (bildiğim gibi) herhangi bir Windows 10 makinedeki programı) (mesaj
System.Reflection.TargetInvocationException: Exception has been thrown by the target of an invocation. ---> System.IO.FileNotFoundException: Could not find file 'C:\ProgramData\...\BlankDb.sdf'.
at System.IO.__Error.WinIOError(Int32 errorCode, String maybeFullPath)
at System.IO.File.SetAttributes(String path, FileAttributes fileAttributes)
Bu kod File.Copy geçti rağmen bana söyler ile File.SetAttributes de çöküyor satır, dosya henüz başarıyla kopyalanmadı. File.Copy() artık eşzamanlı olarak çalışmıyor mu veya bu konuda farklı işletim sistemlerinde başka bir şey değişti mi?
Açıkçası, çok şaşırdım. İlk başta, zamanlama sorunlarını düşündüm ve Kopyala çağrılarını yeni bir Konuya sarmayı denedim, okunduğumda File.Copy() başarıyla kopyalanmadan veya bir hataya girmeden önce geri dönmeyecek.
"Copy" öğesinden sonra 'File.Exists (targetPath)' özelliği nedir? – spender
Gerçekten çok garip. Ancak, temel problemi çözmeniz gerekecek, c: \ programdata * düzgün bir şekilde yapılandırılmış bir makinede * asla yazılabilir. Pek çok programcı, dizini erişilebilir kılan bir cr * ppy yükleyici tarafından hasar gören makinelere sahiptir. Yaptığınız aynı hatayı yapan bir programcı tarafından yazıldı. Dizinde sakar bir isim var. Soğuk sert gerçek şu ki bir veritabanı saklamak için doğru yer asla, ** appdata kullanmanız gerekir **. –
Windows 10 makinesinde bir virüs tarayıcısı var mı? – CodeCaster