Ralentissement de Visual Studio traversant toute la solution à la recherche / création de Dapper SqlMapper.cs

dapper slowdown visual-studio

Question

J'utilise Dapper 1.37 et Dapper.SimpleCRUD 1.3.0 dans deux de mes projets, ajoutés en tant que packages NuGet.

Au fil du temps, Visual Studio (mise à jour 2013 4) s'est arrêté, ce qui prend 10 ou 20 secondes pour charger chaque fichier source dans l'éditeur. En examinant son activité de système d'exploitation à l'aide de Process Monitor, je constate qu'il traverse les répertoires de la solution entière sur chaque chargement de fichier, en essayant de créer / ouvrir SqlMapper.cs dans chaque répertoire.

Chaque sous-répertoire de chaque projet (PROJECT_PATH) dans le répertoire de la solution comporte une série d'événements de ce type dans la trace de 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

Les autres développeurs utilisant la même solution ne reçoivent pas les événements faisant référence à SqlMapper.cs. J'ai essayé:

  • Supprimer tous les paquets Dapper NuGet
  • Suppression de Dapper.pdb et Dapper.SimpleCRUD.pdb de tous les projets où je l'ai trouvé.
  • grep la solution entière pour SqlMapper.cs pour voir ce qui la référence (seulement les fichiers .pdb)
  • L'ajout d'un SqlMapper.cs dans le premier répertoire dans lequel il est recherché - élimine le message PATH NOT FOUND pour ce répertoire mais continue d'analyser tous les autres.

En espérant que quelqu'un puisse m'aider à retourner aux jours difficiles de jadis ...

Réponse acceptée

J'ai re-cloné mon repo.

Le problème a disparu.



Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi
Sous licence: CC-BY-SA with attribution
Non affilié à Stack Overflow
Est-ce KB légal? Oui, apprenez pourquoi