ローカル ディスクからフラッシュへのコピーに問題があります。コードは以前は機能していましたが、別の foreach ループを作成し、新しいオブジェクトを作成する必要が生じた後、File.Copy 機能が機能しなくなりました。値ファイル | System.IO.File には次のような値があります。5、Error_Invalid パラメータ| 87、GetFileExInfoStandard | 0.
編集: フラッシュ上の locationUSB の現在のファイル パス。(locationUSB == "D:\something.hex") および x._location == "C:\something_1.hex" .
foreach (object item in this.dataGridView2.Rows)
{
versionOnDisk = this.VersionInt(x._version);
versionOnFlash = this.VersionInt(((DataGridViewRow)item).Cells[2].Value.ToString());
if (versionOnFlash > versionOnDisk)
forbidCopying = true;
else
locationUSB = _logicalDrive + ((DataGridViewRow)item).Cells["Filename"].Value.ToString(); // <-- location value (because of the foreach)
if (!forbidCopying)
File.Copy(x._location, locationUSB, true); // <--
else if (AllowDelete.Checked)
File.Delete(locationUSB);
}
編集: 場所を論理ドライブ パス (値は "D:\") に変更すると、DirectoryNotFoundException が処理されませんでした: パス 'D:\' の一部が見つかりませんでした。