Visual Studio truy xuất một đường dẫn không chính xác đến một dự án từ một nơi nào đó


98

Visual Studio (và có thể cả TFS) bằng cách nào đó (tôi nghĩ có lẽ trong quá trình hợp nhất kiểm soát nguồn) trở nên nhầm lẫn về đường dẫn của một dự án trong giải pháp của tôi.

Nó nghĩ rằng nó ở đây (ví dụ đường dẫn cho đơn giản):

C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj

trong khi trên thực tế, tệp dự án nằm ở đây:

C:\My Projects\ExampleSolution\ExampleProjectCorrect\ExampleProjectCorrect.csproj

Tôi không thể cho cuộc đời của tôi để nó nhận ra vị trí chính xác. Tôi đã thử:

  • Xóa và thêm lại dự án từ vị trí chính xác. Một thông báo lỗi xuất hiện The project file at C:\My Projects\ExampleSolution\ExampleProjectWrong\ExampleProjectCorrect.csproj could not be found.

  • Chỉnh sửa thủ công tệp .sln để đảm bảo tất cả các tham chiếu ExampleProjectCorrect.csprojcó đường dẫn chính xác.

  • Thực hiện tìm kiếm trong các tệp trên thư mục giải pháp cho cả đường dẫn chính xác và không chính xác, để thử và theo dõi nơi studio đang ẩn đường dẫn không chính xác.

  • Xóa các thư mục bộ nhớ cache cho VS và TFS

Tôi đang vò đầu bứt tóc vì tôi không thể tạo lại giải pháp vì nó gần như không có gì khác biệt với 100 dự án và bị ràng buộc với quyền kiểm soát nguồn với một số nhà phát triển khác đang làm việc trên nó.

Bất cứ ai có thể chỉ cho tôi đúng hướng về nơi nó đang lưu trữ đường dẫn không chính xác này và / hoặc làm thế nào để đặt lại nó để thứ chết tiệt sẽ tải chính xác?


Vì vậy, điều gì sẽ xảy ra nếu bạn di chuyển dự án vào thư mục ExampleProjectWrong?
Hans Passant

Ok, một số tiến bộ .. Di chuyển nó đến sai thư mục cho phép tôi tải nó trong studio trực quan. Tuy nhiên, tôi không thể giữ nó ở đó vì thư mục 'ExampleProjectWrong' là nơi chứa một dự án khác, chứa nhiều cấu trúc thư mục giống nhau. Vì vậy, bất kỳ ý tưởng nào về cách thay đổi đường dẫn của dự án bây giờ tôi đã tải nó? Trường đường dẫn trong thuộc tính dự án đã dỡ tải không khả dụng, ngay cả khi dự án được dỡ bỏ?
Charlie Drewitt

3
Tôi gặp sự cố này lần thứ hai, nhưng lần này tôi đã có thể phát hiện ra rằng dự án phân nhánh đã nhắm mục tiêu đến thư mục gốc vì tôi sử dụng các chuỗi kết nối khác nhau. Đây là lần đầu tiên rất kỳ lạ, khiến visualstudio gỡ lỗi trong các tệp từ thư mục nguồn và trộn nó với các tệp từ nhánh, và thậm chí Log4net đã đăng nhập vào thư mục gốc! Đã xóa tệp giải pháp suo và bây giờ nó chỉ truy cập chính xác vào các tệp được phân nhánh.
Binke

2
Tôi cũng có chính xác vấn đề đấy. Nó không hoàn toàn dễ dàng như chỉ xóa tệp suo. Tôi phải: 1. Xóa dự án vi phạm khỏi giải pháp. 2. Lưu giải pháp. 3. Xóa .suo 4. Mở giải pháp và thêm lại dự án.
SeanLAllen

1
Xóa tệp SUO phù hợp với tôi.
DanielV

Câu trả lời:


96
  1. Đi tới Quản lý không gian làm việc (thông qua trình đơn Kiểm soát tệp / nguồn hoặc không gian làm việc thả xuống trong Trình khám phá kiểm soát nguồn)
  2. chọn chỉnh sửa cho không gian làm việc của bạn.
  3. Bạn sẽ thấy, trong các thư mục đang làm việc, một ánh xạ cho thư mục điều khiển nguồn đến thư mục dự án cũ / sai.
  4. Chọn nó và nhấp vào loại bỏ .
  5. Đóng VS và xóa tệp suo.

Nó vẫn tham chiếu sai thư mục. Có thể rebinding có thể hoạt động tại thời điểm này nhưng tôi đã không thử điều đó. Tải lại dự án của bạn và bạn nên đi.


1
Ngoài ra, đừng để bị lừa bởi liên kết đường dẫn cục bộ trong trình khám phá điều khiển nguồn. Tôi đã có thêm một ánh xạ cho không gian làm việc của mình và nó đang hiển thị những gì tôi đang mong đợi ở đó nhưng khi nó cố gắng tải dự án, nó đang sử dụng đường dẫn khác.
Benjamin Potts

1
Tệp .suo bị ẩn vì vậy bạn cần bật tùy chọn "hiển thị tất cả tệp và thư mục"
ANIL MANE

8
Trong Visual Studio 2015, tôi gặp phải lỗi tương tự. Điều hiệu quả với tôi là xóa thư mục .vs ẩn và cả tệp .suo.
Daniel Leiszen

5
Đối với VS2015, .suotệp của bạn có thể không đúng như bạn nghĩ. Xóa .slntệp nằm cùng với tệp của bạn (đừng quên "hiển thị tệp ẩn") và cũng có một tệp đang ẩn trong thư mục con tại .\.vs\[solution_name]\v14\.suo. Khi tôi có cả hai, tôi có thể thêm lại dự án. Rất tiếc - tín dụng một phần để @DanielLeiszen (chỉ nhận thấy ông nhận xét điều tương tự)
Richard Hauer

1
Tôi đã phải xóa file .suo khởi động lại VS cho tỉnh táo để chiếm ưu thế
Appulus

33

Đơn giản chỉ cần xóa .suotệp giải pháp đã làm việc cho tôi.


5
Trong VS2015, tôi cần đóng tất cả các phiên bản Visual Studio trước khi xóa <SolutionDir>\.vs\<SolutionName>\<VsVersion>\.suophù hợp với tôi.
GraehamF

12

Tôi gặp phải sự cố này sau khi thực hiện di chuyển từ Visual Source Safe 2005 sang TFS 2012. Tôi không thể đợi "Trình hướng dẫn chuyển đổi" hết hạn trong vài tuần tới nên tôi chỉ chạy VSSConvert.exe. Điều này đã mất 6 năm lịch sử và chuyển nó vào TFS .. trong khi tôi không nhận được lịch sử dòng thời gian thực tế .. Tôi nhận được một loạt các mục nhập trong cùng một ngày với các nhận xét chỉ ra lượt đăng ký thực tế của lịch sử. . không tệ.

Vì vậy, sau khi nó chạy cả đêm (Thành công, yay!), Tôi đã gặp sự cố khi tải các dự án của mình giống như câu hỏi này đã nêu. Vì lý do nào đó, một vài dự án đã được tham chiếu đến một thư mục không chính xác. Tôi đã kiểm tra các tệp .sln, .vsproj và cập nhật mới nhất, xóa lấy lại, thêm xóa, v.v. Tôi đã thử mọi thứ được lưu ý ở đây ... thậm chí nâng cấp không gian làm việc của mình, mà tôi không chắc điều đó đã làm được gì.

CUỐI CÙNG ... Tôi đã xóa các tệp * .suo và viola. Nó đã làm việc.

Tôi đã dành một vài giờ cho cái này.


2
Trước khi bạn xóa tệp * .suo, hãy đảm bảo đóng tất cả các phiên bản Visual Studio, sau đó mở lại giải pháp.
Mas,

5

Một giải pháp hơi khác.

TFS đang hiển thị một đường dẫn không tồn tại cho một Giải pháp cụ thể. Trước đây, tôi có một máy tính xách tay với một ổ D: riêng biệt, nhưng bây giờ, tôi chỉ có một ổ C:. TFS vẫn nghĩ rằng dự án của tôi được lưu trữ trên D: \ Project \ MikesProject

Tôi không có một .suotập tin để xóa, D: đường dẫn không đề cập bất cứ nơi nào trong Workspaces của tôi (chôn đi dưới File\Source Control\Advanced\Workspacesmenu), TFS cho thấy tôi đã có các tập tin mới nhất trong tôi (không-còn-existant) D: thư mục và TFS trong VS2013 không có tùy chọn "Xóa ánh xạ" cho dự án này.

Nhưng những gì đã làm là chỉ đơn giản là thực hiện "Tải phiên bản mới nhất" cho dự án.

Sau khi làm như vậy, một bản sao mới của mã đã được ghi vào ổ C: của tôi và (thú vị là), bây giờ Đường dẫn cục bộ đã được gạch dưới .

Trước đây, đường dẫn D: \ không được hiển thị như thế này.

Kỳ quặc. Rất kỳ quặc.


2
Chính xác tình huống tương tự cho tôi. Tôi đã do dự khi bóp cò và "Tải mới nhất" vì con đường không chính xác đó, nhưng @Mike đã cho tôi can đảm!
Jonathan

2

Chúng tôi đã gặp vấn đề tương tự với việc di chuyển và đổi tên. Xóa các thư mục cục bộ và sau đó giải quyết lại nó.


2

Ngay cả sau khi xóa .suotệp và .vsthư mục, tôi đã phải chỉnh sửa .slntệp và xóa url tương đối cũ SccProjectName#mặc dù SccLocalPath#chính xác. Rõ ràng VS cũng sử dụng tên như một đường dẫn gợi ý.


1

Cố gắng xóa hoặc đổi tên tệp .suo (bao gồm cả phần mở rộng). Tệp này ở cùng vị trí với tệp giải pháp của bạn. Nó đã làm việc cho tôi.


0

Chỉ đoán, nhưng có lẽ một số dự án khác của bạn tham chiếu dự án của bạn từ vị trí sai? Trong trường hợp này, bạn không chỉ xóa và chèn lại dự án vào giải pháp của mình, bạn cũng sẽ phải xóa và tạo lại các tham chiếu từ các dự án tham chiếu (được lưu trữ trong tệp .csproj của chúng).


Cảm ơn vì sự trả lời. dự án không được tham chiếu từ bất kỳ dự án nào khác trong giải pháp. bạn có thể giải thích tại sao tìm trong tệp không hoạt động? Theo kinh nghiệm của tôi nếu bạn cung cấp cho nó một đường dẫn thư mục đến 'Tìm trong', thay vì chọn 'Toàn bộ Giải pháp', nó sẽ tìm kiếm tất cả các loại tệp trừ khi được yêu cầu cụ thể là chỉ tìm kiếm một số loại tệp nhất định?
Charlie Drewitt

Xin lỗi, bạn nói đúng, tôi nghĩ rằng bạn đang sử dụng "Tìm trong tệp" chỉ cho các tệp trong giải pháp, không phải cho thư mục giải pháp, tôi đã bỏ lỡ điều đó. Vì vậy, nó sẽ hoạt động. Bạn có thể mô tả chi tiết hơn khi chính xác thông báo lỗi bật lên không? Nó có xảy ra khi biên dịch, vì vậy bạn có thể xem biên dịch dự án nào không thành công?
Doc Brown

0

Sau khi thử nhiều đề xuất, tôi đã xóa tệp suo (một lần nữa). Lần cuối cùng có hiệu quả. Tại sao nó không hoạt động sớm hơn tôi không biết. Nói chung, tôi thấy xóa tệp suo là một trong những bước đầu tiên tôi làm.


0

Tôi đã mở giải pháp trang web asp.net từ Chi nhánh Dev của mình. Sau đó, vì một số mục đích khác, tôi đã mở giải pháp tương tự từ chi nhánh Chính.

Tôi đã thực hiện thay đổi đối với một trong các tệp .ascx.cs của mình trong nhánh nhà phát triển và đặt điểm ngắt. Khi tôi chạy trình gỡ lỗi, tất cả các điểm ngắt của tôi đều bị ảnh hưởng trong Dev Branch ngoại trừ .ascx.cs đang chạm vào Main branch. Không biết.

Đã thử làm sạch thư mục Tạm thời nhưng không hoạt động.

Những gì hoạt động:

Đã đóng tất cả các phiên bản của Visual Studio

Mở lại giải pháp từ nhánh Dev.

Chạy lại và các điểm nghỉ bắt đầu đánh.


0

Trong trường hợp của tôi, tôi đã sao chép tệp * .sln vào thư mục dự án và thay đổi đường dẫn đến dự án thành tệp * .sln. Chỉ điều này mới giải quyết được vấn đề (so với sp1 2015, dự án wonervise).

Xóa * .suo không giúp được gì cho tôi.


0

Tuy nhiên, một giải pháp khác đã làm việc cho chúng tôi - sau khi thử xóa suo và hầu hết mọi thứ được đề cập trong chủ đề này. Chúng tôi đã có một dự án trong giải pháp đang hiển thị phiên bản ma của tệp csproj. Chúng tôi đã xóa tệp đó và các đường dẫn của chúng tôi đã được sửa trên một dự án khác mà chúng tôi đang cố gắng thêm.


-1

Nếu bạn đang chạy ứng dụng web của mình trong Local IIS thay vì IISExpress, hãy đảm bảo bạn HIT nút "Tạo Thư mục Ảo" bằng cách đi vào thuộc tính của dự án. Sau khi hoàn tất, hãy thực hiện "Giải pháp sạch" và "Giải pháp xây dựng lại".



-3

Tôi biết nó là một dòng cũ. Tôi vừa trải qua cùng một vấn đề. Gần đây chúng tôi đã di chuyển TFS, vì vậy tôi đã tạo một không gian làm việc mới để ánh xạ đến máy chủ mới và giữ nguyên không gian cũ. Mỗi khi tôi mở một giải pháp được cho là nhắm mục tiêu đến không gian làm việc mới của tôi, VS luôn cố gắng tải các dự án từ thư mục ánh xạ cũ của tôi, cho đến khi tôi xóa không gian làm việc cũ của mình.


điều này không thực sự cung cấp bất kỳ sự giúp đỡ cho câu hỏi ban đầu
vlad_tepesch

Tôi nghĩ vấn đề của tôi có cùng bản chất. Tôi có hai không gian làm việc, một trong số đó đã cũ. Tôi đã làm việc trong một cái mới, và tạo ra giải pháp, thêm các dự án. mọi thứ đều ổn nếu tôi không đóng giải pháp. Nhưng nếu tôi đã lưu giải pháp và cố gắng mở nó, VS luôn cố gắng tải các dự án trong giải pháp từ thư mục được ánh xạ trong không gian làm việc cũ của tôi.
BackToSorrento
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.