【问题标题】:Did .Net 4.0 change File.Exists?.Net 4.0 是否更改了 File.Exists?
【发布时间】:2011-10-24 18:36:37
【问题描述】:

以前对我有用的东西,当我检查 File.Exists 现在是否返回 false 时。

我们最近更新到 4.0 - 现在我的个人用户文件夹中的任何文件都返回 FALSE for File.Exists。

有人遇到过这个问题或知道这个问题吗?

(例如 - (File.Exists("C:\Users\Public\test.txt")) 将等于 TRUE 但 (File.Exists("C:\Users\peronalFolder.domain\test.txt") ) 总是返回 FALSE)

谢谢。

【问题讨论】:

  • 您是否有权访问该文件夹?
  • 我愿意...这些都以前有效。也许发生了一些权限更改,但我不知道。
  • 这是一个相当简单的控制台应用程序来重现此功能吗?或者是其他东西?如果它是一个 Web 应用程序,它可能会在与 2.0 下的应用程序池不同的应用程序池中运行,并且可能具有不同的用户上下文。

标签: .net-4.0


【解决方案1】:

File.Exists 改变的可能性很小。您的环境更有可能发生了变化。我建议您查看@Jesse 提到的应用程序池设置(如果相关)。

您可以尝试使用以下 powershell 脚本作为文件访问的单元测试来确定是 .NET 问题还是环境问题:

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

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

【讨论】:

  • 似乎由于某种原因权限在某处发生了变化......这曾经有效(我的用户文件夹下的文件),但现在没有。
猜你喜欢
  • 2023-01-22
  • 2011-05-05
  • 2011-02-03
  • 2013-02-13
  • 1970-01-01
  • 1970-01-01
  • 2011-04-27
  • 2013-11-08
  • 1970-01-01
相关资源
最近更新 更多