2013-08-27 26 views
18

Tôi gặp vấn đề rất khó chịu, tôi đã tìm được giải pháp, nhưng tôi muốn hỏi bạn tại sao nó hoạt động như vậy ..Tại sao thiếu <SccProjectName> trong tệp dự án gây ra "Tệp dự án không bị ràng buộc với điều khiển nguồn"

Tôi đang sử dụng Visual Studio 2012 với TFS 2012. Mọi thứ đều ổn, nhưng một ngày tôi đã phát hiện ra sự cố. Khi tôi đã thêm dự án mới vào giải pháp của mình, thì tôi luôn nhận được thông báo này mỗi lần tôi mở lại giải pháp:

Tệp dự án này ... không bị ràng buộc với kiểm soát nguồn, nhưng giải pháp chứa nguồn kiểm soát thông tin ràng buộc cho nó. Bạn có muốn ...

Bất cứ điều gì tôi đã làm, tôi vẫn có thông báo này. Trong cửa sổ File-> Source Control-> Advanced-> Change Source Control ... ', mọi thứ đều ổn. Các tệp * .vspscc được tạo đúng cách với nội dung tốt. Tôi đã loại bỏ các ràng buộc và thêm nó một lần nữa và một lần nữa, nhưng nó không phải là hữu ích. Mọi lúc tôi có thông báo khó chịu này ...

Và sau đó tôi đã phát hiện một sự khác biệt trong các tệp * .csproj. dự án có vấn đề của tôi không có dữ liệu XML sau:

<SccProjectName>SAK</SccProjectName> 
<SccLocalPath>SAK</SccLocalPath> 
<SccAuxPath>SAK</SccAuxPath> 
<SccProvider>SAK</SccProvider> 

Khi tôi đã thêm những dòng này, vấn đề đã được giải quyết ...

Có ai có thể cho tôi biết tại sao những yếu tố mà thiếu và tại sao họ gây ra vấn đề không bao giờ kết thúc với thông điệp gây phiền nhiễu về ràng buộc giải pháp?

Cảm ơn bạn

+0

Bạn có thể xem lịch sử (có lẽ tốt nhất là xem lịch sử được chú thích - "đổ lỗi cho báo cáo") để xem tại sao những dòng đó bị xóa. Tôi không chắc tôi hoàn toàn hiểu câu hỏi của bạn về những dòng này, họ chỉ ra rằng dự án là ràng buộc để kiểm soát nguồn. (Nếu không có nó, bạn có một cấu hình lạ và do đó được nhắc nhở để sửa nó mỗi khi bạn mở dự án của bạn cho đến khi bạn làm.) –

+1

Tôi đã chạy vào điều này khi nâng cấp các dự án từ trước TFS2010 đến TFS2012. –

+2

Vấn đề không phải là ai đó đã chỉnh sửa * .csproj và xóa các dòng đó.Tôi đang thêm một dự án mới và trong tất cả các dự án đó đều bị thiếu. Visual Studio không thêm chúng ngay cả khi các dự án được liên kết với TFS ... – user2323704

Trả lời

28

Điều này xảy ra bởi vì file Solution có thông tin Source Control trong đó và các file csproj sẽ chỉ thực hiện những gì các tập tin giải pháp cho nó.

<SccProjectName>SAK</SccProjectName> 
<SccLocalPath>SAK</SccLocalPath> 
<SccAuxPath>SAK</SccAuxPath> 
<SccProvider>SAK</SccProvider> 

SAK đề cập đến "Đã biết" khi nó lấy thông tin từ tệp giải pháp. Các tập tin giải pháp nên chứa một cái gì đó tương tự như những gì đang hiển thị dưới đây

GlobalSection(TeamFoundationVersionControl) = preSolution 
     SccNumberOfProjects = 4 
     SccEnterpriseProvider = {3BA58AB2-18FA-4F8D-95D4-32DDF27D184A} 
     SccTeamFoundationServer = http://TFSSERVER:8080/tfs/DPC 
     SccLocalPath0 = . 
     SccProjectUniqueName1 = Project1\\Project1.csproj 
     SccProjectName1 = Project1 
     SccLocalPath1 = Project1 
     SccProjectUniqueName2 = Project2\\Project2.csproj 
     SccProjectName2 = Project2 
     SccLocalPath2 = Project2 
     SccProjectUniqueName3 = Project3\\Project3.csproj 
     SccProjectName3 = Project3 
     SccLocalPath3 = Project3 
     SccProjectUniqueName4 = Project4\\Project4.csproj 
     SccProjectName4 = Project4 
     SccLocalPath4 = Project4 
    EndGlobalSection 

Bây giờ những gì có thể xảy ra được rằng nếu là người đầu tiên kiểm tra trong các giải pháp và dự án không bao gồm file Solution.vssscc sau đó Visual Studio có thể' t xác định điều khiển nguồn. nếu điều này xảy ra, hãy xóa tệp vssscc và đóng giải pháp. mở lại các giải pháp sẽ tạo ra một tập tin vssscc mới, đảm bảo điều này được kiểm tra trở lại vào kiểm soát nguồn.

Một điều cần kiểm tra khi thêm dự án đảm bảo rằng tệp giải pháp được kiểm tra và sau đó kiểm tra lại khi bạn gửi dự án. Miễn là tệp giải pháp và tệp vssscc được xử lý chính xác bằng điều khiển nguồn thì khi bạn thêm một dự án mới, nó sẽ nhận các cài đặt điều khiển nguồn từ tệp giải pháp và sau đó áp dụng các nút SCC cho dự án mới

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