2009-05-27 19 views
0

既存のファイルでSystem.IO.File.Encrypt()を呼び出そうとすると、汎用IOExceptionがスローされ、メッセージは「パラメータが正しくありません」です。File.Encrypt throwing「パラメータが正しくありません」

System.IO.File.Encrypt( "C:\プロジェクト\ StorageDirectory \ file.txtなど")

プロセスが下に実行されている現在のユーザーが "StorageDirectory" フォルダへのフルコントロールを持っています。パーミッションが足りないものがありますか? ファイルを開くとき

+0

追加情報:このコードブロックでユーザーを偽装しています(偽装はうまく機能しています)。また、これはASP.NETなので、ネットワークサービスのユーザー(コードレベルの偽装なし)が同じエラーを出したかどうかを確認しましたが、ファイルは暗号化されています。 –

答えて

1

docsが、これは

アンI/Oエラーが原因発生する可能性が言いますファイル。 - または - この操作は現在のプラットフォームでは ではありません。

ファイルが別のプロセスによってロックされているか、またはファイルを変更する権限がない可能性があります。このエラーを再現しながら、問題が発生しているかどうかを確認しながらProcMonを実行することができます。

+0

私はあなたがロックされているファイルについてあなたが正しいと思っていますが、何によって、私は知らない。私はあなたの提案を試みます。 –

+0

私はProcMonを使用しましたが、私が見たところでは、ユーザーはパス全体に対して一定の権利が必要であることが示唆されました。ユーザーをローカル管理者グループに追加しましたが、同じエラーが表示されました。 –

0

まあ読んthe MSDN page

アンI/Oエラーが発生しました。

- または -

この操作は 現在のプラットフォームでサポートされていません。

特に有用なステートメントではありませんが、どこからでも起動する必要があります。

  • ファイルを読み取ることはできますか?アプリ内からテストしましたか?

  • あなたは他の場所で暗号化を行っていますか?私は前にそのように失敗し、暗号化を見たことがない(が、常に最初の時間があります!) 開きながら

+0

私はあなたの提案を撃つでしょう。 –

+0

ちょうど試しました...私はファイルを暗号化しようとする直前にファイルからデータを読み取ることができます。 –

+0

書き込みはどうですか? – Oli

関連する問題