Tôi có một giải pháp với 50 dự án và mỗi dự án có tối thiểu 100 tệp (mà tôi nghĩ là có liên quan).Độ trễ dài trước khi Visual Studio bắt đầu xây dựng
Vấn đề là khi tôi xây dựng giải pháp hoặc một dự án duy nhất, có sự chậm trễ từ 5 đến 10 giây trước khi cửa sổ "Xây dựng đầu ra" được ghi vào. Việc đặt độ dài "Build Output" thành "Diagnostic" không đưa ra bất kỳ dấu hiệu nào là nguyên nhân của sự chậm trễ. Sự chậm trễ này thậm chí xảy ra khi không có tệp nào bị thay đổi (được tạo trước đó).
=== Build: 0 succeeded, 0 failed, 10 up-to-date, 0 skipped ==========
Khi có thay đổi, trong Đầu ra xây dựng, nó cho biết việc xây dựng mất khoảng 2 giây để hoàn thành, tuy nhiên đầu cuối đến cuối mất khoảng 7 đến 12 giây.
xây dựng đầu ra:
1>(omitted)
1>Time Elapsed 00:00:01.99
========== Build: 1 succeeded, 0 failed, 9 up-to-date, 0 skipped ==========
MSBuild:
Build succeeded.
0 Warning(s)
0 Error(s)
Time Elapsed 00:00:02.17
C:\Projects\SharedKernel.Tests>
Chạy MSBuild qua dòng lệnh không có chậm trễ như vậy, 2.17
giây là thời gian khi nhấn trên bàn phím để hoàn thành.
Từ những gì tôi có thể nói, các tác vụ msbuild tự thực thi nhanh trong Visual Studio, nhưng có vẻ như Visual Studio đang làm điều gì đó đằng sau hậu trường trước khi tác vụ msbuild bắt đầu gây ra sự chậm trễ này.
Khi tôi kiểm tra Visual Studio (devenv.exe) mặc dù Process Monitor tôi nhận thấy các cuộc gọi đến CreateFile
, QueryDirectory
, và CloseFile
cho mỗi tập tin và thư mục trong dự án và phụ thuộc của dự án. Điều này có vẻ tương quan với độ trễ khi nhìn vào dòng thời gian.
Làm cách nào để giảm thời gian trễ khi tôi bắt đầu xây dựng quy trình xây dựng từ bên trong Visual Studio (nhấp chuột phải vào dự án> xây dựng), khi xây dựng thực sự xảy ra?
Tôi nhìn câu trả lời sau đây để giải quyết, tuy nhiên họ hoặc là không giảm sự chậm trễ hoặc chỉ đơn giản là không thể áp dụng:
- Visual Studio Long wait before Starting to build
- Visual Studio hangs for 20 seconds before start building
- Visual Studio taking long time to build and load solution because of Nugget
Khi bạn "Xây dựng" một giải pháp như được ứng dụng để "Xây dựng lại" giải pháp, nó chỉ xây dựng lại các tệp (.exes và như vậy) đã thay đổi, do đó nếu bạn thực hiện một thay đổi nhỏ, nó sẽ mất nhiều thời gian hơn để kiểm tra tất cả các tệp trong giải pháp của bạn tìm kiếm thay đổi hơn là viết những thay đổi nhỏ (tòa nhà thực tế). Đây có thể là sự chậm trễ nhỏ mà bạn đang gặp phải. – CalebB
Tôi có một sự chậm trễ đáng kể khi thực hiện "Xây dựng", ngay cả khi không có tệp nào thay đổi. Sự chậm trễ dài hơn khi thực hiện "Xây dựng" trên "Giải pháp". Ví dụ cụ thể của tôi là khi thực hiện "Xây dựng" trên một dự án đơn lẻ "Dự án". – Matthew
Ngay cả khi không có gì thay đổi, nó vẫn sẽ xem xét giải pháp hoặc dự án để thay đổi. – CalebB