【问题标题】:Visual Studio 2010 Find in Files - not finding files!Visual Studio 2010 在文件中查找 - 不查找文件!
【发布时间】:2014-04-11 05:14:50
【问题描述】:

请让我不要在这里完全发疯。在我的项目中,当我在我的 ASP.NET MVC 项目的视图目录中搜索时,我一直发现“在文件中查找”工作正常,但当我进入项目目录的上一层时却没有:

----
Find all "<RelatedSections", Subfolders, Keep modified files open, Find Results 2, "C:\Users\James\Documents\Visual Studio Projects\DeveloperFusion\DeveloperFusion.Web.UI", "*.spark"
  No files were found to look in.
----

但在做的时候:

----
Find all "<RelatedSections", Subfolders, Keep modified files open, Find Results 2, "C:\Users\James\Documents\Visual Studio Projects\DeveloperFusion\DeveloperFusion.Web.UI\Views", "*.spark"
  C:\Users\James\Documents\Visual Studio Projects\DeveloperFusion\DeveloperFusion.Web.UI\Views\Community\Index.spark(108):  <RelatedSections />
  C:\Users\James\Documents\Visual Studio Projects\DeveloperFusion\DeveloperFusion.Web.UI\Views\Content\Article\Index.spark(13):  <RelatedSections />
  C:\Users\James\Documents\Visual Studio Projects\DeveloperFusion\DeveloperFusion.Web.UI\Views\Content\Code\Index.spark(14):  <RelatedSections />
  <snip>
  Matching lines: 9    Matching files: 9    Total files searched: 239
----

如您所见,查找文件类型设置为 *.spark(在两个查询中相同)。子文件夹搜索已启用。 View 文件夹未设置为隐藏或类似的,并且包含在项目中。

我不知所措 - 有什么建议吗?

更新我现在意识到这种行为会因文件夹名称而异。在“obj”文件夹之后似乎按字母顺序出现的任何东西都没有被发现。如果我将 obj 文件夹的所有内容删除(或重命名)为“xyz”,则可以很好地搜索 Views 文件夹。奇怪。会不会和 obj 文件夹中 MS Deploy 工具生成的长路径名有关?

【问题讨论】:

  • 您是否检查过文件夹所有权/访问权限是否不同?您是否以与您自己相同的用户身份运行 Visual Studio?可能是visual studia,以管理员身份运行,无权查询您的普通帐户所在的目录。
  • ...如果是这样的话,即使我将它指向确切的文件夹,它肯定会继续找不到文件吗? (此外,它作为提升的管理员帐户运行......因此可以访问所有内容)。
  • 您是否检查了查看子文件夹选项?
  • 史蒂夫...是的。您可以在我发布的查找结果中看到它! :)

标签: visual-studio visual-studio-2010


【解决方案1】:

我以前见过这个,我发现如果你按Ctrl+Break,问题就会消失。 This 显示相同的分辨率。

顺便说一句,在你问之前:不,我不知道为什么会这样。

【讨论】:

  • 是的,我在 VS2008 中遇到过这种情况,并且 Ctrl-Break 总是可以修复它
  • 感谢马克,不幸的是,这次不是这样。我做了更多的挖掘,并更新了问题 - 这似乎与“obj”文件夹有关。
  • 对我来说是 Ctrl+Shift+Break 导致并修复了它。
【解决方案2】:

好的,我已经找到了。

项目根目录中“obj”文件夹后按字母顺序排列的任何文件夹都不会被搜索。

在进行了一些挖掘之后,我似乎最终得到了这个由 MS Deploy/Packaging 工具创建的文件夹结构:

C:\Users\James\Documents\Visual Studio Projects\DeveloperFusion\DeveloperFusion.Web.UI\obj\Release\Package\Archive\Content\C_C\Users\James\Documents\Visual 工作室 项目\DeveloperFusion\DeveloperFusion.Web.UI\obj\Release\Package\PackageTmp\Views

(是的,这是一条有点递归的路径!)。由于某种原因,“视图”文件夹“丢失”了管理员所有权,并被 Visual Studio 锁定。使用解锁工具并删除 Views 文件夹后,突然一切又开始工作了。

怪事。

故事的寓意 - 如果其他人看到这种奇怪的行为,Visual Studio 似乎会放弃,如果它在任何文件夹上遇到访问被拒绝并且不告诉你!

(在此处发布连接:https://connect.microsoft.com/VisualStudio/feedback/details/640712/find-replace-in-files-silently-aborts-if-it-hits-acl-permissions-problem#details

【讨论】:

  • 感谢您向 Microsoft 报告此问题。我希望这将使它成为 Visual Studio 2010 Service Pack 1 (SP1)! ;)
【解决方案3】:

重启电脑为我解决了这个问题。

【讨论】:

    【解决方案4】:

    当正在搜索的文件夹包含路径很长的子文件夹时,Visual Studio 2010 Find In Files 将停止搜索。

    清理您的项目输出可能会解决此问题,尤其是在您使用可以创建深度嵌套文件夹结构的 MS Deploy 时。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-09
      • 2014-08-07
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多