Tệp dự án đã được di chuyển đổi tên hoặc không có trên máy tính của bạn


150

Tôi gặp lỗi này khi thử tải dự án VS 2008 từ kiểm soát nguồn TFS:

Tệp dự án đã được di chuyển, đổi tên hoặc không có trên máy tính của bạn

Sau khi tôi nhấn OK, dự án nói "không khả dụng". Vấn đề là gì? Làm thế nào để tôi giải quyết điều này? Tôi chưa gặp Vân đê nay trươc đây. Một số blog nói sẽ xóa tệp .suo nhưng tôi không thể định vị tệp .suo. Tôi đã xóa toàn bộ dự án trên máy tính cục bộ của mình để lần sau mở nó sẽ tạo một dự án mới, nhưng tôi vẫn gặp lỗi tương tự.


28
Ôi, làm thế nào tôi ghét TFS vì đã cho tôi những cơn đau đầu!
John Leidegren

2
Đi xuống, bạn sẽ tìm thấy câu trả lời chính xác ở đây.
Claudius

Câu trả lời:


270

Điều thường giúp khắc phục nó là xóa Tùy chọn người dùng Giải pháp hay còn gọi là "SUO".

Đến năm 2013

Trong VS cũ hơn, nó được lưu trữ dưới dạng "ẩn" SolutionName.suotrong cùng thư mục với .slntệp chính .

VS2015 trở lên

Trong VS2015, dữ liệu tương tự đã được chuyển đến .vsthư mục "ẩn" trong cùng thư mục với .slntệp chính .


6
+1. Thông báo lỗi rất đáng tiếc - thực sự rất có thể phát sinh khi bạn di chuyển các tệp theo cách "chính xác" theo nhà cung cấp SCC của bạn. (ví dụ: sử dụng 'tf đổi tên' cho TFS) Di chuyển dự án trên đĩa không nói với TFS hoặc quên cập nhật tệp sln / csproj, sẽ dẫn đến các thông báo lỗi khác nhau theo kinh nghiệm của tôi. Các tệp SUO mờ đục vì vậy bạn sẽ gãi đầu cho đến khi bạn thực hiện một tfpt treeclean / scorch.
Richard Berg

8
Nó tiết kiệm ngày của tôi;)
Kamil Lach

44
Đừng quên khởi động lại Visual Studio sau khi xóa tệp .suo
orandov

8
Oh. Vì vậy, bây giờ tập tin .suo bị ẩn. Tại sao? Ồ, tôi biết tại sao. Chúng tôi là nhà phát triển và rõ ràng không có khả năng xử lý sự phức tạp thêm vào khi thấy tệp .suo được mở ra ;-)
Torben Rahbek Koch

29
Điều này cũng hoạt động trong Visual Studio 2015, mặc dù đường dẫn đến tệp .suo đã thay đổi thành <SolutionFolder> \. Vs \ <SolutionName> \ v14 \ .suo.
Greg M.

38

Tôi vừa gặp vấn đề này bằng cách sử dụng VS 2013 sau khi đổi tên dự án. Câu trả lời của Stanley đã hướng dẫn tôi giải pháp:

Đóng VS - xóa tệp .suo - bắt đầu lại VS.


1
Tôi có thể sai, nhưng tôi không nghĩ rằng tôi thậm chí đã nhìn thấy tệp .SUO, cho đến khi tôi đóng VisualStudio.
Michael R

5
Chỉ muốn thêm - bắt buộc bạn phải đóng VS trước khi xóa nó. Xóa tệp trong khi VS vẫn mở, sau đó đóng và mở lại không có hiệu lực. Phải đóng trước!
wizloc

23

Xóa tệp .suo theo cách đặc biệt.

  1. Không mở giải pháp khi bạn xóa tệp .suo ẩn.
  2. Khởi động lại VisualStudio.
  3. Mở giải pháp và Thêm dự án mà không có thông báo lỗi.

Làm việc cho tôi Visual Studio 2019. Chỉ khi bạn xóa .vsthư mục ẩn
user919426

11

TFS hoạt động giống như hầu hết các gói kiểm soát nguồn khác

Điều này có một cảnh báo: Nếu bạn xóa hoặc đổi tên các tệp cục bộ trên đĩa của mình, TFS sẽ không biết rằng bạn đã thực hiện việc này và nó vẫn sẽ nghĩ rằng chúng là nơi để chúng ở lại.

Nếu bạn sau đó "Nhận mới nhất", nó sẽ không cập nhật các tệp bị thiếu.

Sau đó, bạn có thể nhận được tất cả các loại lỗi "tệp bị thiếu", từ TFS và bất kỳ công cụ nào khác tìm tệp.

Để đi xung quanh nó, bạn cần phải:

  • Nếu bạn nghĩ rằng bạn có thể có bất kỳ thay đổi nào trong đó mà bạn không muốn mất, hãy sao chép thư mục nguồn trên PC để sao lưu chỉ trong trường hợp!
  • Nhấp chuột phải vào dự án (trong Solution Explorer) hoặc thư mục (trong Kiểm soát nguồn)
  • Chọn "Nhận phiên bản cụ thể" từ menu ngữ cảnh
  • Chọn lấy "Phiên bản mới nhất" và đánh dấu vào tùy chọn có nội dung (giống như) "buộc lấy các tệp đã có trong không gian làm việc của bạn", điều này nói với TFS hãy quên đi những gì nó "biết" và nhận lại tất cả các tệp.

Nếu bạn có bất kỳ tập tin thay đổi cục bộ (có thể ghi), thì hãy cẩn thận. Có một tùy chọn thứ hai sẽ ghi đè lên những điều này, làm mất các thay đổi của bạn. Nhưng bạn có bản sao lưu, vì vậy bạn nên an toàn. Nói chung, tốt hơn là đánh dấu tùy chọn này để đảm bảo rằng tất cả mã nguồn của bạn hoàn toàn cập nhật. (Nhưng rõ ràng chỉ khi bạn không nhớ mất bất kỳ thay đổi cục bộ nào!)

Khi bạn đồng ý, điều này sẽ buộc tất cả các tệp trong dự án vào ổ đĩa cục bộ của bạn và sẽ khắc phục vấn đề.


tôi đã "lấy phiên bản cụ thể" và kiểm tra "ghi đè tất cả các tệp ngay cả khi máy chủ khớp cục bộ". không có lỗi, nhưng không có gì xảy ra. Tôi đã kiểm tra từ một máy tính khác và dự án nằm trong TFS và người khác có thể làm việc tốt với nó.
sineas

BTW thư mục nguồn cục bộ của tôi là hoàn toàn EMPTY. Không có gì trong đó. Tôi đã xóa tất cả các tệp ban đầu để tôi có thể nhận được tất cả các tệp mới. như mở một dự án hoàn toàn mới.
sineas

1
Trong trường hợp đó, điều tiếp theo tôi sẽ kiểm tra là ánh xạ không gian làm việc của bạn. Trong Team Explorer, nhấp đúp vào biểu tượng Kiểm soát nguồn và ở đầu cửa sổ xuất hiện là hộp tổ hợp thả xuống. Thả nó xuống và chọn "thêm / chỉnh sửa không gian làm việc". Chỉnh sửa không gian làm việc của bạn và kiểm tra xem dự án TFS chứa mã của bạn có thư mục tương ứng trên ổ cứng cục bộ của bạn không. Và chắc chắn rằng bạn đang xem thư mục này khi bạn cố gắng tải giải pháp. (Gợi ý: So sánh thiết lập của bạn với nhà phát triển khác hoạt động để cố gắng tìm ra nguồn gốc của vấn đề)
Jason Williams

9

Mặc dù khiếm khuyết VS nổi tiếng, nhưng chắc chắn chúng ta có thể xử lý nó!

  • Mở tệp giải pháp trong chế độ chỉnh sửa

  • Sửa đổi đường dẫn tương đối để khớp với đường dẫn vật lý đã sửa đổi / di chuyển ..

    SccProjectUniqueName1 = Source\\Order\\Order.csproj
    SccProjectName1 = Order.ApplicationService
    SccLocalPath1 = Order.ApplicationService
    
  • Ngoài ra, đảm bảo đường dẫn tương đối chính xác cho (các) dự án giới thiệu

    Project("{asdasd-301F-11D3-BF4B-asdasd}") = "Order",
            "Source\Order\Order.csproj", "{E25641BC-C990-40E2-8876-08AE8728F763}"
    EndProject
    

6

Hãy thử mở .csproj hoặc .vbproj thay vì .sln. Điều có lẽ đã xảy ra là tệp .sln (giải pháp) có tham chiếu tệp tuyệt đối (thay vì đường dẫn tương đối) đến (các) dự án kết hợp. Bạn có thể cần phải tạo lại .sln hoặc chỉnh sửa bằng tay.


tôi đã cố mở tập tin .vbproj và đây là những gì tôi nhận được. "Tệp đã chọn không thể được mở dưới dạng giải pháp hoặc dự án. Vui lòng chọn tệp giải pháp hoặc tệp dự án" cũng vui lòng đặt cách tạo lại tệp .sln. Tôi là người mới này. cảm ơn
sineas

Cảm ơn! Đã mở các tệp csproj, khi thoát, nó yêu cầu tạo / lưu tệp .sln mới và ghi đè lên tệp cũ!
Rafael

5

Tùy chọn dễ nhất làm việc cho tôi là:

  1. Nhấp chuột phải vào dự án & Xóa dự án "không tải" hoặc "không khả dụng"
  2. Nhấp chuột phải vào giải pháp & Thêm "Dự án hiện tại"

Tôi đã thử lỗi này nhưng vẫn cùng một lỗi, không thể chịu được lỗi ngu ngốc này (thực sự là một lỗi, tôi không thể chấp nhận loại lỗi khó chịu này, cực kỳ khó hiểu).
Vô vọng

1
Đơn giản và thẳng thắn ... hiểu rồi
Sarath Mohandas

3

Trong trường hợp của tôi, xóa tệp .suo là không đủ. Tôi phát hiện ra rằng cấu hình không gian làm việc của tôi có lỗi. Tôi đã phát hiện và giải quyết vấn đề với các bước sau:

  1. Trong Team Explorer, "Quản lý không gian làm việc ..."

    nhập mô tả hình ảnh ở đây

  2. Nhấp vào "Chỉnh sửa ..."

    nhập mô tả hình ảnh ở đây

  3. Sửa giá trị trong "Thư mục cục bộ"

    nhập mô tả hình ảnh ở đây

  4. Cuối cùng, xóa các tệp .suo bị ảnh hưởng theo câu trả lời được chấp nhận.


2

Tôi thấy dễ dàng nhất để tạo một tập tin giải pháp mới.


1

Xóa ánh xạ không gian làm việc của bạn (Tệp -> Kiểm soát nguồn -> Không gian làm việc). Chỉnh sửa không gian làm việc và xóa tất cả ánh xạ (tác động trở lại nhiều hơn) hoặc tìm một không gian liên quan đến đường dẫn máy chủ này. Sau đó mở Source Control Explorer và ánh xạ lại. Nhấp đúp vào SLN trong thám hiểm kiểm soát nguồn và nó sẽ nhận được mới nhất. Không hoàn toàn chắc chắn những gì đã xảy ra hoặc trạng thái bạn quản lý để vào, nhưng với điều này sẽ khiến bạn di chuyển trở lại.


1

Tôi gặp vấn đề này và có thể giải quyết nó bằng cách lấy các .rptprojtệp từ đồng nghiệp và sao chép chúng vào thư mục địa phương của tôi. Dự án sau đó đã có thể tải lại.


1

Tôi đã dành rất nhiều thời gian để cố gắng giải quyết vấn đề này. Tôi đã thực hiện các bước sau: đổi tên dự án, đổi tên không gian tên, đổi tên thư mục dự án, chỉnh sửa tệp .sln, chỉnh sửa tệp .suo ẩn. Dự án được tải nhưng không thể nhận ra đối với TFS! Cuối cùng tôi đã tìm thấy hướng dẫn này .

Nếu bạn đang sử dụng Resharper và TFVC là kiểm soát phiên bản của bạn, hãy làm theo các bước sau:

  • Bấm chuột phải vào dự án trong Solution Explorer, chọn Đổi tên và nhập tên mới

  • Nhấp chuột phải vào dự án một lần nữa và chọn Thuộc tính. Thay đổi "Tên hội" và "Không gian tên mặc định" trên tab Ứng dụng.

  • Nhấp chuột phải vào dự án một lần nữa và chọn Refactor -> Điều chỉnh không gian tên. Chấp nhận những thay đổi.

  • Thay đổi tiêu đề hội và tiêu đề sản phẩm trong thuộc tính / hộiInfo.cs

  • Xóa thư mục bin và obj trong Windows Explorer

  • Mở Source Control Explorer và đổi tên thư mục của dự án. Điều này sẽ đóng giải pháp. Hãy để nó được đóng lại.

  • Mở tệp SLN (với trình soạn thảo văn bản như Notepad ++) và thay đổi đường dẫn đến dự án (cần có nhiều vị trí).

  • Mở Giải pháp lại. Làm sạch và xây dựng lại dự án.


0

Nhấp chuột phải vào dự án không có sẵn và chỉnh sửa tệp dự án ... rất có thể, bạn sẽ tìm thấy đường dẫn tệp được mã hóa cứng hoặc đường dẫn ảo không khớp với nơi bạn đã kiểm tra dự án.

Lòng tốt,

Dân


2
không có tùy chọn Chỉnh sửa. dự án chỉ tải lại của nó, cắt và loại bỏ.
sineas

0

Giải pháp cho việc này

  1. Một lần nữa đổi tên thư mục dự án
  2. Đặt phiên bản cụ thể và lực lượng nhận được trong TFS
  3. xóa tùy chọn chỉ đọc & ẩn trong thư mục mới nhất (không phải đổi tên)
  4. Bây giờ bạn có thể mở dự án mà không có bất kỳ vấn đề

0

Đôi khi, mặc dù bạn đã thay đổi .sln.csprojđường dẫn và đổi tên theo cách thủ công, bạn có thể quên kiểm tra tên thư mục có chứa dự á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.