0

Visual Studio 2008 の場合

既存の(作業中の)プロジェクトに次の行を追加しました。

if (File.Exists(c_szInvoiceFolder + szAttachmentFile))
    File.Delete(c_szInvoiceFolder + szAttachmentFile);
if (File.Exists(c_szApp_DataFolder + szTemplateFile))
   File.Copy(c_szApp_DataFolder + szTemplateFile, c_szInvoiceFolder + szAttachmentFile);

コードを初めて実行すると、ファイルは期待どおりにコピーされます。

ただし、コードを再実行すると、削除行に「パスへのアクセスが...拒否されました」と表示されます。

私が見つけたすべてのドキュメントによると、ASP.NET 開発サーバーはログオン ユーザーとして実行する必要があります。自分でファイルを削除できるので、ここではそうではないようです。

なぜこれが起こっているのか誰にも考えがありますか?

注: これは、VS Dev 環境で実行しているときにラップトップで発生しています。

別の注記: なぜ私は CREATE で NOT DELETE の権限を持っているのでしょうか?

ところで、ディレクトリへの全員のフルアクセスを許可することで、これを修正しようとしました。助け無し。

4

1 に答える 1

0

問題が見つかりました。元のファイルは読み取り専用だったので、コピーは読み取り専用でした。オリジナルから ReadOnly フラグをクリアし、すべて正常に動作します。

于 2012-04-17T18:22:03.903 に答える