36

Chúng tôi có một giải pháp thực sự lớn với hơn 200 dự án và hàng ngàn tệp. Mặc dù vậy, giải pháp được sử dụng để tải khá nhanh trong Visual Studio 2010 cũng như năm 2012. Tuy nhiên, sau khi sao chép toàn bộ kho SVN đến một vị trí khác, việc tải và đóng giải pháp đột nhiên mất rất nhiều thời gian. (Tôi đang nói về 30-60 phút ở đây!)Tại sao phải mất quá nhiều thời gian để tải giải pháp của tôi trong Visual Studio?

Trả lời

60

Tôi đã tìm được giải pháp cho bản thân và tôi muốn chia sẻ ở đây, hy vọng rằng nó có thể tiết kiệm được một vài giờ nghiên cứu và nhìn chằm chằm vào "Chuẩn bị giải pháp .. . "hộp thoại.

Khi kiểm tra quá trình devenv.exe với Process Monitor, tôi phát hiện ra rằng nó khá bận rộn khi truy cập vào thư mục .svn. Đây là những gì tôi đã làm (và điều này bằng cách nào đó giải quyết vấn đề):

  1. Kill Visual Studio
  2. mở Visual Studio mà không cần nạp một giải pháp
  3. Disable Ankhsvn như là plugin Source Control (Tools-> Options-> Nguồn Control-> Plug-in Selection-> None)
  4. Vô hiệu hóa "Document Well 2010 Plus" (VS2010) hoặc "Custom Document Well" (VS2012) trong Powerivity Power Tools (Tools-> Options-> Productivity Power Tools) - Tôi đọc ở đâu đó và nó cũng có thể giúp ích cho bạn ...
  5. Đóng Visual Studio
  6. Xóa tệp *.suo của giải pháp. Điều này nằm trong cùng thư mục với chính giải pháp đó. LƯU Ý: Bạn sẽ mất nhiều cài đặt cho giải pháp của bạn, giống như các file đang mở, breakpoint, bookmark, hiện tại cấu hình giải pháp & nền tảng (ví dụ như gỡ lỗi x86) vv
  7. Khởi động lại Visual Studio
  8. tải giải pháp - nó đã được nhiều Nhanh hơn nào!
  9. Đóng Visual Studio
  10. mở Visual Studio mà không cần nạp một giải pháp
  11. Kích hoạt lại Ankhsvn và "Tài liệu Vâng"
  12. Khởi động lại Visual Studio
  13. mở giải pháp - nó vẫn nạp chỉ trong vài giây!

Tôi không biết bước nào thực sự giải quyết được sự cố. Có lẽ, không phải tất cả các bước này là bắt buộc, nhưng tôi không muốn tạo lại vấn đề để tìm ra các bước nào có thể bị bỏ qua. :)

+9

Cảm ơn bạn đã chia sẻ điều này. Trong trường hợp của tôi, xóa tập tin suo cải thiện hiệu năng tải của giải pháp. – rpattabi

+0

Cảm ơn tôi đã gặp rất nhiều rắc rối với điều này trong vài ngày qua và có rất nhiều khiếu nại về những thứ như thế này nhưng không có câu trả lời nào khác giải quyết được vấn đề của tôi. – mikeLspohn

+9

Bước 6 đã sửa nó cho tôi - Xóa tập tin '* .suo' của giải pháp. – SausageFingers

0

Tôi đã thử ở trên, nhưng nó không giải quyết được vấn đề của tôi.

Đây là cách tôi đã nhận xung quanh vấn đề này, hy vọng nó sẽ làm việc cho một số bạn cũng như:

  1. mở Visual Studio 2013 với không có giải pháp.
  2. Tạo ứng dụng C# Console mới và lưu nó.
  3. Đóng Visual Studio.
  4. Mở lại giải pháp Bảng điều khiển được tạo ở bước 2.
  5. Đóng Visual Studio.
  6. Mở lại giải pháp đã được treo trước đó trong hộp thoại Giải pháp chuẩn bị. Mỏ mở ngay lập tức, không còn treo nữa.
1

fwiw, tôi nhận thấy đây là mục nhập muộn, nhưng tôi thấy rằng việc xóa (xóa) số lượng lớn các điểm ngắt của tôi đã giải quyết được thời gian tải quá nhiều và thời gian biên dịch. Tác vụ này đã giảm kích thước tệp .suo từ 214MB xuống còn 977KB. Hãy để VS xử lý tập tin .suo. Biên dịch và tải ngay bây giờ mất < 1 phút thay vì 5-10 phút cho một giải pháp với 35 dự án. Visual Studio 2012 Pro, cập nhật 4.

5

Không ai trong số những người đã giúp tôi, những gì tôi đã làm ... Tôi xem với ProcMon của sysinternals, lọc cho devenv, và tôi thấy rất nhiều mục fussionlog. Tôi đã kích hoạt fussionlog cho mục đích gỡ lỗi một vài tuần trước và không nghĩ đến việc vô hiệu hóa nó. Tôi chỉ cần vô hiệu hóa fussionlog và giải pháp mở nhanh hơn.

3

Bạn có thể mở Visual Studio trong Chế độ an toàn, sau đó kiểm tra cài đặt điều khiển nguồn và plugin sau khi mở dự án. Chế độ an toàn nghĩa là "Bắt đầu Visual Studio, chỉ tải môi trường và dịch vụ mặc định".

Làm thế nào:

devenv /SafeMode 

Hoặc theo con đường của bạn

"C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" /SafeMode 

nguồn: https://msdn.microsoft.com/en-us/library/ms241278.aspx

0

Không có câu trả lời khác làm việc cho tôi. Thời gian biên dịch CI là tốt, nhưng tải giải pháp của tôi trong Visual Studio đã mất gần hai phút. VS sau đó sẽ hoạt động tốt cho đến khi tôi đóng cửa và mở giải pháp lần sau. Các phiên bản khác nhau của VS đều cho thấy cùng một vấn đề và cả hai chế độ an toàn và xóa suo không giúp được gì.

Tôi đã kết thúc theo lời khuyên trong http://geekswithblogs.net/akraus1/archive/2014/04/30/156156.aspx để sử dụng Trình ghi hiệu suất Windows cho công cụ VS và tìm sự cố. Bằng cách tìm trong Windows Performance Analyzer trong phần "CPU Usage (Sampled)" và thêm cột "Stack (Frame Tags)", tôi đã có thể đào sâu vào việc sử dụng devenv.exe.

Tắt đường dẫn nóng bằng cách đếm số cuộc gọi Microsoft.VisualStudio.Platform.WindowManagement.ni.dll 23 và bên dưới cuối cùng là Microsoft.VisualStudio.ServerExplorer.dllMicrosoft.VisualStudio.Data.Package.dll. Điều đó đã chỉ cho tôi xem trong Server Explorer trong giao diện người dùng và mở tab Kết nối dữ liệu. Ở đó tôi tìm thấy hàng trăm kết nối nhầm lẫn được thêm vào từ phần gỡ lỗi của web.config ConnectionString. Loại bỏ những người từ web.config giảm tải của dự án riêng lẻ đó từ 90 giây xuống gần như ngay lập tức.

0

Trong trường hợp của tôi, sau đây làm việc mà không cần những bước can thiệp đề nghị:

  1. Kill Visual Studio.
  2. Bắt đầu Visual Studio trực tiếp (nghĩa là, không phải từ tệp .sln).
  3. Sau đó, từ trong Visual Studio, hãy mở giải pháp.

Trong trường hợp của tôi, việc tải giải pháp vấn đề khá nhanh, không cần tôi thay đổi bất kỳ cài đặt nào hoặc xóa bất kỳ tệp nào.

Các vấn đề liên quan