Làm cách nào để ngăn chặn Visual Studio khỏi hệ thống luôn luôn kiểm tra các tập tin giải pháp?


152

Rõ ràng là không có lý do, mỗi khi tôi mở giải pháp của mình, Visual Studio sẽ kiểm tra tệp sln.

Nếu tôi so sánh nó với phiên bản trước thì không có thay đổi. Nhưng điều này thực sự gây bực bội vì mọi người đều có giải pháp kiểm tra.

Tôi đang sử dụng VS 2008 và TFS 2008, cả SP2.

Bất cứ ý tưởng về làm thế nào tôi có thể ngăn chặn điều này xảy ra? Hoặc là một tính năng / lỗi của nhà cung cấp kiểm soát nguồn TFS cho VS?


Bạn có một dự án thử nghiệm đơn vị như là một phần của giải pháp?
Mitch Wheat

1
TFS hỗ trợ kiểm tra đồng thời và miễn là không có sửa đổi đối với tệp .sln, nhiều lần kiểm tra không phải là vấn đề.
Dirk Vollmar

5
Khi các tệp * .sln có thay đổi thực tế, chúng là một cơn ác mộng khủng khiếp khi hợp nhất vì các dự án bên trong được cung cấp ID tùy ý nhưng không độc đáo. Tôi là một người ủng hộ lớn cho việc kiểm tra đồng thời, nhưng tôi giữ phần lớn * .sln của chúng tôi bị khóa.
Richard Berg

3
ĐIỀU NÀY CỐ ĐỊNH TRONG VS2013 !!! Tôi mở cùng một giải pháp vào năm 2012 và nó kiểm tra .sln, mở vào năm 2013 và nó vẫn rõ ràng.
felickz

2
Thỉnh thoảng tôi đã thấy điều này với tất cả các phiên bản từ Visual Studio 2010 và cho đến phiên bản mới nhất, Visual Studio 2015 Update 3. Nó xảy ra khoảng một nửa số lần tôi mở một giải pháp và dường như thường xuyên hơn cho các giải pháp với nhiều dự án.
Xé stergaard

Câu trả lời:


121

Điều này xảy ra khi sau đây trong tệp .sln:

GlobalSection(ExtensibilityGlobals) = postSolution
    MyGlobalProperty = AnyValue
EndGlobalSection

Tôi thấy rằng Thư viện doanh nghiệp đã thêm một trong số này. Tôi gỡ bỏ nó, kiểm tra trong giải pháp, đóng lại sau đó mở lại và không kiểm tra tự động nữa.


21
Có vẻ như gói Unity NuGet có thể đã thực hiện điều này với tệp giải pháp của tôi trong VS 2010. Tôi đã xóa phần này và vấn đề kiểm tra tự động của tôi đã được giải quyết. Cảm ơn Graham!
Dan Mork

14
hai công nghệ yêu thích của tôi - TFS và EntLib - thật là một cặp đôi thân yêu.

1
Tôi có một phần như vậy nhưng không muốn xóa nó vì nó chứa dữ liệu tôi muốn giữ - bây giờ thì sao? MS đã đóng vấn đề này là "không thể tái sản xuất" - ngu ngốc? connect.microsoft.com/VisualStudio/feedback/details/573538/NH
mattanja

Nhận xét của Dan thêm thông tin cần thiết - không cần thiết phải xóa tất cả các phần toàn cầu - chỉ là phần dường như được thêm vào bởi gói nuget unity.
Jordan0

vẫn như vậy trong năm 2012
BlackICE

6

Từ bộ nhớ, nếu bạn sử dụng menu Công cụ, Tùy chọn và chọn Điều khiển nguồn, bảng Môi trường , sẽ có một vài tùy chọn để định cấu hình cách giao diện IDE với điều khiển phiên bản.

Tôi nghĩ rằng một số tùy chọn này kiểm soát việc kiểm tra hành vi mở .


1
vâng ... họ cho phép bạn thanh toán tự động, nhắc nhở từ thanh toán hoặc không làm gì cả ... nhưng không có gì giúp giải quyết vấn đề này
CodeClimber

Sau đó, bạn không thể nói "không, đừng kiểm tra" khi nó nhắc bạn?
Scott Marlowe

Tôi ước tôi là nhà phát triển duy nhất trong nhóm ... thật không may, tôi không thể tin tưởng vào tất cả các nhà phát triển đang siêng năng
CodeClimber

CodeClimber, mỗi khi bạn khởi động VS, nó sẽ tự động kiểm tra và bạn muốn dừng và tắt tùy chọn kiểm tra tự động không khắc phục được sự cố. Cái gì?
veight

1
Đối với những người không có "Môi trường" trong danh sách tùy chọn của họ, hãy thay đổi kết nối của bạn từ "Địa phương" thành "Máy chủ" (nguồn: stackoverflow.com/questions/26843300/ .)
VenerableAgents

5

Chỉ trong trường hợp, giống như tôi, bạn không thể làm cho nó hoạt động và bạn thấy rằng một hoặc nhiều dự án cũng được kiểm tra, tôi đã tìm thấy một giải pháp đơn giản hơn. Ghi lại (các) dự án mà nó tiếp tục kiểm tra. Đi tới Tệp - Kiểm soát nguồn - Thay đổi kiểm soát nguồn, sau đó hủy liên kết các dự án đang đề cập. Nhấp vào OK, Lưu tất cả, sau đó quay lại Kiểm soát nguồn thay đổi và liên kết dự án lại với giải pháp. Hy vọng điều này sẽ làm việc cho những người khác


3

Mặc dù không ngăn chặn sự cố ngay từ đầu, việc sử dụng tự do lệnh "Hoàn tác không thay đổi" của Team Foundation Power sẽ (hoàn toàn bất ngờ) hoàn tác chỉnh sửa đang chờ xử lý nếu không có thay đổi nào được thực hiện.


Liên kết được cập nhật cho Team Foundation Power Tools: marketplace.visualstudio.com/ từ
Jaider

3

Cho phép kiểm tra và sau đó so sánh cả hai tập tin. Nếu VS thêm một cái gì đó như

<Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" />

bạn đang gặp lỗi VS với giải pháp trong VS2008 nhưng không được chuyển sang VS2005

Kiểm tra liên kết này để biết thêm chi tiết:


Không có dự án nào trong giải pháp có dòng XML này
CodeClimber

2

Tệp Giải pháp Visual Studio đang được kiểm tra âm thầm thông qua một hoặc nhiều Dự án của Giải pháp bằng Thư viện Doanh nghiệp của Microsoft - Tôi tin rằng đây là việc cần làm với Tiện ích Cấu hình Thư viện Doanh nghiệp cho phép quản lý cấu hình của các Khối Ứng dụng khác nhau - http : //msdn.microsoft.com/en-us/l Library / ff649479.aspx

Xem bài đăng Phản hồi này của Microsoft: http://connect.microsoft.com/VisualStudio/feedback/details/737184/globalsection-extensibilityglobals-postsolution-checks-out-sln-file-on-open


cảm ơn vì liên kết Nigel, tất cả các đội đang gặp vấn đề này
Baldy

1

Đây là một tính năng / lỗi của một trong các hệ thống dự án đang được tải trong giải pháp. Hãy thử loại bỏ các loại dự án khác nhau (C #, VB, C ++, trang web, ứng dụng web, kiểm tra đơn vị, silverlight ...) cho đến khi nó biến mất; đó là câu trả lời của bạn


0

Bạn đang lưu các tập tin của bạn trước khi làm so sánh? Nó đã xảy ra với tôi một thời gian trước và tiếp tục nói rằng không có thay đổi nào giữa các tệp, nhưng sau một thời gian tôi nhận ra rằng tôi đã không lưu các tệp trước đó và nó đang so sánh với phiên bản trong đĩa chứ không phải phiên bản trong bộ nhớ.

Mỗi khi bạn mở một số giải pháp trong Visual Studio, nó sẽ thực hiện một số thao tác có thể khiến các tệp .sln hoặc dự án của bạn thay đổi và sau đó nó sẽ yêu cầu bạn kiểm tra tệp. Nó xảy ra khi có các thay đổi trong cấu trúc thư mục trong máy của nhà phát triển hoặc khi chúng không có cùng phiên bản của tất cả các tệp. Có thể ai đó đã thêm một dự án trong một thư mục và một nhà phát triển khác có cùng dự án ở một nơi khác. Một trường hợp khác tôi thấy điều này xảy ra là khi chúng tôi có giải pháp với một số dự án c ++, vì một số lý do, một trong những dự án c ++ này có tệp .res với đường dẫn tuyệt đối. Khi tệp này được tạo tự động bởi VS, nó sẽ thay đổi từ máy phát triển sang máy phát triển.

Tôi sẽ đề nghị bạn mở tệp .sln của bạn và tìm kiếm một số đường dẫn tuyệt đối hoặc theo các đường dẫn tương đối có thể không tồn tại trong một số máy phát triển, tùy thuộc vào những tệp chúng nhận được từ Kiểm soát nguồn của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.