Update 3 がインストールされた Visual Studio 2012 を使用しています。.NET Framework 4.5 を対象とする C# を使用しています。
次のように開始するメソッドがあります。
public void Open(System.String filePath)
{
if (!System.IO.File.Exists(filePath))
throw new FileNotFoundException(. . .);
. . .
}
filePath
パラメータの値は次のとおりです。
"C:\\Users\\Jonathan.DeCarlo\\Source\\Repos\\PoliticalClassifier\\src\\PoliticalClassifier.DataSource.Tests\\TestFiles\\Social_Economic_DataMicro.xlsx"
そのパスは実際に私のマシンに存在します。このアプリケーションは、「任意の CPU」としてコンパイルされます。Windows 7 x64 がインストールされたマシンで実行しています。アプリケーションを x64 プロセスとして実行するとFileNotFoundException
、ファイルが存在していても がスローされます。アプリケーションを強制的に x86 プロセスとして実行すると、例外はスローされません (これは実際に発生するはずです)。
System.IO.File.Exists(filePath)
アプリケーションが x86 プロセスではなく x64 プロセスとして実行されている場合、 が異なる結果を返すのはなぜですか?