我正在使用安装了 Update 3 的 Visual Studio 2012。我正在使用针对 .NET 框架 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)
当应用程序作为 x64 进程而不是 x86 进程运行时,为什么返回不同的结果?