Замедление Visual Studio при обходе всего решения в поисках/создании Dapper SqlMapper.cs

Я использую Dapper 1.37 и Dapper.SimpleCRUD 1.3.0 в нескольких своих проектах, добавленных как пакеты NuGet.

Со временем Visual Studio (обновление 4 2013 г.) остановилась, и на загрузку каждого исходного файла в редактор уходило 10–20 секунд. Глядя на его активность в ОС с помощью Process Monitor, я вижу, что он просматривает все каталоги решения при каждой загрузке файла, пытаясь создать/открыть SqlMapper.cs в каждом каталоге.

Каждый подкаталог в каждом проекте (PROJECT_PATH) в каталоге решения имеет ряд событий, подобных этому, в трассировке Process Monitor:

4:04:11.5955306 p.m.    devenv.exe  8368    FASTIO_NETWORK_QUERY_OPEN   PROJECT_PATH\lib    FAST IO DISALLOWED  
4:04:11.5955677 p.m.    devenv.exe  8368    IRP_MJ_CREATE   PROJECT_PATH\lib    SUCCESS Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a, OpenResult: Opened
4:04:11.5956773 p.m.    devenv.exe  8368    FASTIO_QUERY_INFORMATION    PROJECT_PATH\lib    SUCCESS Type: QueryBasicInformationFile, CreationTime: 8/07/2014 2:12:02 p.m., LastAccessTime: 8/07/2014 2:12:02 p.m., LastWriteTime: 8/07/2014 2:12:02 p.m., ChangeTime: 8/07/2014 2:12:02 p.m., FileAttributes: D
4:04:11.5956858 p.m.    devenv.exe  8368    IRP_MJ_CLEANUP  PROJECT_PATH\lib    SUCCESS 
4:04:11.5956948 p.m.    devenv.exe  8368    IRP_MJ_CLOSE    PROJECT_PATH\lib    SUCCESS 
4:04:11.5957298 p.m.    devenv.exe  8368    FASTIO_NETWORK_QUERY_OPEN   PROJECT_PATH\lib\Dev\dapper-dot-net\Dapper NET40\SqlMapper.cs   FAST IO DISALLOWED  
4:04:11.5957464 p.m.    devenv.exe  8368    IRP_MJ_CREATE   PROJECT_PATH\lib\Dev\dapper-dot-net\Dapper NET40\SqlMapper.cs   PATH NOT FOUND  Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
4:04:11.5957751 p.m.    devenv.exe  8368    FASTIO_NETWORK_QUERY_OPEN   PROJECT_PATH\lib\dapper-dot-net\Dapper NET40\SqlMapper.cs   FAST IO DISALLOWED  
4:04:11.5957902 p.m.    devenv.exe  8368    IRP_MJ_CREATE   PROJECT_PATH\lib\dapper-dot-net\Dapper NET40\SqlMapper.cs   PATH NOT FOUND  Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a
4:04:11.5958125 p.m.    devenv.exe  8368    FASTIO_NETWORK_QUERY_OPEN   PROJECT_PATH\lib\Dapper NET40\SqlMapper.cs  FAST IO DISALLOWED  
4:04:11.5958237 p.m.    devenv.exe  8368    IRP_MJ_CREATE   PROJECT_PATH\lib\Dapper NET40\SqlMapper.cs  PATH NOT FOUND  Desired Access: Read Attributes, Disposition: Open, Options: Open Reparse Point, Attributes: n/a, ShareMode: Read, Write, Delete, AllocationSize: n/a

Другие разработчики, использующие то же решение, не получают событий, относящихся к SqlMapper.cs. Я пытался:

  • Удаление всех пакетов Dapper NuGet
  • Удаление Dapper.pdb и Dapper.SimpleCRUD.pdb из всех проектов, где я их нашел.
  • grep все решение для SqlMapper.cs, чтобы увидеть, что на него ссылается (только файлы .pdb)
  • Добавление SqlMapper.cs в первый каталог, в котором он его ищет, устраняет сообщение PATH NOT FOUND для этого каталога, но продолжает сканировать все остальные.

Надеясь, что кто-то может помочь мне вернуться к быстрым денькам былых дней...


person fibber    schedule 19.11.2014    source источник


Ответы (1)


Я повторно клонировал свое репо.

Проблема ушла.

person fibber    schedule 23.11.2014