我在几个项目中使用Dapper 1.37和Dapper.SimpleCRUD 1.3.0,作为NuGet包添加。
随着时间的推移,Visual Studio(2013更新4)已停止运行,需要10或20秒才能将每个源文件加载到编辑器中。使用Process Monitor查看其OS活动,我看到它在每个文件加载时遍历整个解决方案的目录,尝试在每个目录中创建/打开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的事件。我努力了:
希望有人可以帮助我回到昔日的快乐时光......