我的问题是,当我运行这段代码时,它会告诉我"File.WriteAllText"行procedure.pas正在被另一个程序使用。
script = File.ReadAllText(Application.StartupPath + "\Procedure.pas");
decryptedstring = Crypter.Decrypt(script, sSecretKey);
decryptedstring = decryptedstring.Replace("_" + Firma + "_", "_" + txtFirma.Text + "_");
decryptedstring = decryptedstring.Replace("_" + DonemNo + "_", "_" + txtDonemNo.Text + "_");
decryptedstring = decryptedstring.Replace("FIRMNR=" + Firma + " ", "FIRMNR=" + txtFirma.Text + " ");
encryptedstring = Crypter.Encrypt(decryptedstring, sSecretKey);
File.WriteAllText(Application.StartupPath + "\Procedure.pas", encryptedstring);
您正在写入的文件可能是使用共享锁打开的,该锁允许其他进程读取数据,但不允许写入。因此,当您打开文件进行写入时,尽管该文件一直由另一个进程打开,但它会失败并出现异常。
有关此内容的详细信息,请参阅文件共享枚举。