2011-10-24 6 views
0

File.Existsがfalseを返すかどうかを確認するときに、私の仕事は以前と同じでした。.Net 4.0はFileを変更しましたか?

私は最近、4.0にアップデートしました。私の個人的なユーザフォルダ内のファイルは、File.Existsに対してFALSEを返します。

誰でもこの問題を経験したことがありますか? File.Exists( "C:\ Users \ peronalFolder.domain \ test.txt")はTRUEになりますが、(File.Exists( "C:\ Users \ Public \ test.txt")) ))いつも戻ってくる偽)

ありがとう。

+0

あなたがそのフォルダにアクセスする権利を持っていますか:

あなたはそれは.NETの問題やファイルアクセスのためのユニットテストとして、次ののPowerShellスクリプトを使用して、環境問題であるかを識別することを試みることができます? – Marco

+0

私は...これらはすべて前に働いた。たぶん一部の権限の変更が発生したかもしれませんが、私はそれを認識していません。 –

+3

これは、この機能を再現するかなりシンプルなコンソールアプリですか?または、他の何か?それがWebアプリの場合、2.0以下のアプリケーションプールとは異なるアプリケーションプールで実行されている可能性があり、異なるユーザーコンテキストを持つ可能性があります。 –

答えて

1

File.Existsが変更されている可能性はほとんどありません。環境が変わった可能性が高くなります。 @Jesseが述べたように、あなたのアプリケーションプールの設定を調べることをお勧めします(関連する場合)。

$SourceFile = "c:\foo\Test.txt"; 

if ([System.IO.File]::Exists($SourceFile)) { 
    "Source File exists" 
} 
else { 
    "Source file ($Sourcefile) does not exist." 
} 
+1

何らかの理由で許可がどこかで変更されたようです...これはかつては(私のユーザフォルダの下にある)ファイルであり、今はそうではありません。 –

関連する問題