File proyek telah dipindahkan namanya atau tidak ada di komputer Anda

150

Saya mendapatkan kesalahan ini ketika saya mencoba memuat proyek VS 2008 dari kontrol sumber TFS:

File proyek telah dipindahkan, diganti nama atau tidak ada di komputer Anda

Setelah saya klik OK proyek mengatakan "tidak tersedia". Apa masalahnya? Bagaimana saya mengatasi ini? Saya tidak pernah mengalami masalah ini sebelumnya. Beberapa blog mengatakan untuk menghapus file .suo tetapi saya tidak dapat menemukan file .suo. Saya menghapus seluruh proyek di komputer lokal saya sehingga saat dibuka nanti akan membuat yang baru, tapi saya masih mendapatkan kesalahan yang sama.

sineas
sumber
28
Oh, betapa aku benci TFS karena memberiku sakit kepala ini!
John Leidegren
2
Turun, Anda akan menemukan jawaban yang benar di sini.
Claudius

Jawaban:

270

Apa yang biasanya membantu memperbaikinya adalah menghapus Solusi Opsi Pengguna alias "SUO".

VS hingga 2013

Dalam VS yang lebih lama disimpan sebagai "tersembunyi" SolutionName.suodi folder yang sama dengan .slnfile utama .

VS2015 atau lebih baru

Dalam VS2015 data yang sama dipindahkan ke .vsfolder "tersembunyi" di bawah folder yang sama dengan .slnfile utama .

Stanley. Goldman
sumber
6
+1. Pesan kesalahan yang sangat disayangkan - sebenarnya kemungkinan besar akan muncul ketika Anda memindahkan file dengan cara yang "benar" menurut penyedia SCC Anda. (misalnya menggunakan 'tf rename' untuk TFS) Memindahkan proyek pada disk tanpa memberitahu TFS, atau lupa memperbarui file sln / csproj, akan menghasilkan pesan kesalahan yang berbeda dalam pengalaman saya. File SUO buram sehingga Anda tetap menggaruk-garuk kepala sampai Anda melakukan tfpt treeclean / scorch.
Richard Berg
8
Ini menyelamatkan hariku;)
Kamil Lach
44
Jangan lupa untuk me-restart Visual Studio setelah menghapus file .suo
orandov
8
Oh Jadi sekarang file .suo disembunyikan. Mengapa? Oh, aku tahu kenapa. Kami adalah pengembang dan jelas tidak mampu menangani kompleksitas tambahan dengan melihat file .suo di tempat terbuka ;-)
Torben Rahbek Koch
29
Ini juga berfungsi di Visual Studio 2015, meskipun jalur ke file .suo telah berubah menjadi <SolutionFolder> \ .vs \ <SolutionName> \ v14 \ .suo.
Greg M.
38

Saya baru saja mengalami masalah ini menggunakan VS 2013 setelah mengubah nama proyek. Jawaban Stanley menuntun saya pada solusi:

Tutup VS - hapus file .suo - mulai VS lagi.

AndreasV
sumber
1
Saya bisa saja salah, tapi saya pikir saya bahkan tidak melihat file .SUO, sampai saya menutup VisualStudio.
Michael R
5
Hanya ingin menambahkan - keharusan bahwa Anda menutup VS sebelum menghapusnya. Menghapus file saat VS masih terbuka, lalu menutup dan membuka kembali tidak memiliki efek. Harus tutup dulu!
wizloc
23

Hapus file .suo dengan cara khusus.

  1. Jangan buka solusinya saat Anda menghapus file .suo yang disembunyikan.
  2. Mulai ulang VisualStudio.
  3. Buka solusi dan Tambah proyek tanpa pesan kesalahan.
Mikhael Loo
sumber
Bekerja untuk saya Visual Studio 2019. Hanya itu Anda menghapus .vsfolder tersembunyi
user919426
11

TFS bekerja seperti kebanyakan paket kontrol sumber: Ia mengingat apa yang telah diletakkan di komputer Anda sehingga ketika Anda "Dapatkan Terbaru", ia hanya perlu mendapatkan chnage sejak "Get" terakhir Anda daripada harus benar-benar mendapatkan segalanya.

Ini memiliki satu peringatan: Jika Anda menghapus atau mengganti nama file lokal pada disk Anda, TFS tidak akan tahu bahwa Anda telah melakukan ini, dan ia masih akan berpikir mereka berada di tempat itu meninggalkannya.

Jika Anda kemudian "Dapatkan Terbaru" itu tidak akan repot untuk memperbarui file yang hilang.

Anda kemudian akan mendapatkan semua jenis kesalahan "file hilang", dari TFS dan alat lain yang mencari file.

Untuk menyiasatinya, Anda perlu:

  • Jika Anda merasa ada perubahan di sana yang tidak ingin hilang, salin folder sumber pada PC Anda sebagai cadangan untuk berjaga-jaga!
  • Klik kanan pada proyek (di Solution Explorer) atau folder (di Kontrol Sumber)
  • Pilih "Dapatkan Versi Spesifik" dari menu konteks
  • Pilih untuk mendapatkan "Versi Terbaru" dan centang opsi yang mengatakan (sesuatu seperti) "paksa dapatkan file di ruang kerja Anda", yang memberitahu TFS untuk melupakan apa yang "diketahui" dan tetap mendapatkan semua file lagi.

Jika Anda memiliki file yang dapat diubah secara lokal (dapat ditulis), maka berhati-hatilah. Ada opsi kedua yang akan menimpa ini, kehilangan perubahan Anda. Tetapi Anda memiliki cadangan, jadi Anda harus aman. Secara umum lebih baik untuk menandai opsi ini juga untuk memastikan bahwa semua kode sumber Anda benar-benar terkini. (Tapi jelas hanya jika Anda tidak keberatan kehilangan perubahan lokal!)

Ketika Anda OK, ini akan secara paksa mendapatkan semua file dalam proyek ke drive lokal Anda, dan akan memperbaiki masalahnya.

Jason Williams
sumber
saya memang "mendapatkan versi spesifik" dan memeriksa "menimpa semua file bahkan jika server pertandingan lokal". tidak ada kesalahan, tetapi tidak ada yang masuk. Saya memeriksa dari komputer lain dan proyek ini di TFS dan orang lain dapat bekerja dengan baik di sana.
sineas
BTW folder sumber lokal saya benar-benar KOSONG. Tidak ada apa pun di dalamnya. Saya menghapus semua file pada awalnya sehingga saya bisa mendapatkan semua yang baru. seperti membuka proyek baru.
sineas
1
Dalam hal ini, hal berikutnya yang akan saya periksa adalah pemetaan ruang kerja Anda. Di Team Explorer, klik dua kali ikon Source Control dan di bagian atas jendela yang muncul adalah kotak kombo drop-down. Jatuhkan ini ke bawah dan pilih "tambah / edit ruang kerja". Edit ruang kerja Anda dan periksa apakah proyek TFS yang berisi kode Anda memiliki folder yang sesuai pada hard drive lokal Anda. Dan pastikan Anda melihat folder ini ketika Anda mencoba memuat solusinya. (Petunjuk: Bandingkan pengaturan Anda dengan pengembang lain yang berfungsi untuk melacak sumber masalahnya)
Jason Williams
9

Meskipun cacat VS terkenal, pasti kita bisa mengatasinya!

  • Buka file solusi dalam mode edit

  • Ubah jalur relatif agar sesuai dengan jalur fisik yang dimodifikasi / dipindahkan ..

    SccProjectUniqueName1 = Source\\Order\\Order.csproj
    SccProjectName1 = Order.ApplicationService
    SccLocalPath1 = Order.ApplicationService
    
  • Juga, memastikan jalur relatif yang benar untuk proyek rujukan

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

Coba buka .csproj atau .vbproj alih-alih .sln. Apa yang mungkin terjadi adalah file .sln (solusi) memiliki referensi file absolut (alih-alih jalur relatif) ke proyek compoenent. Anda mungkin perlu membuat ulang .sln, atau mengeditnya sendiri.

Sungai Lilith
sumber
Saya mencoba membuka file .vbproj dan ini yang saya dapatkan. "File yang dipilih tidak dapat dibuka sebagai solusi atau proyek. Silakan pilih file solusi atau file proyek" juga harap masukkan cara membuat ulang file .sln. Saya baru dalam hal ini. terima kasih
sineas
Terima kasih! Membuka file csproj, saat keluar diminta untuk membuat / menyimpan file .sln baru dan menimpa yang lama!
Rafael
5

Opsi termudah yang berhasil bagi saya adalah:

  1. Klik kanan proyek & Hapus proyek "tidak dimuat" atau "tidak tersedia"
  2. Klik kanan solusinya & Tambah "Proyek yang Ada"
Arun Vinoth
sumber
Saya sudah mencoba ini tetapi masih kesalahan yang sama, tidak tahan kesalahan bodoh ini (benar-benar bug, saya tidak bisa menerima bug jahat semacam ini, sangat membingungkan).
Putus asa
1
Sederhana dan lurus ... mengerti.
Sarath Mohandas
3

Dalam kasus saya, menghapus file .suo tidak cukup. Saya menemukan bahwa konfigurasi ruang kerja saya mengalami kesalahan. Saya menemukan dan menyelesaikan masalah dengan langkah-langkah ini:

  1. Di Team Explorer, "Kelola Ruang Kerja ..."

    masukkan deskripsi gambar di sini

  2. Klik "Edit ..."

    masukkan deskripsi gambar di sini

  3. Perbaiki nilai di bawah "Folder Lokal"

    masukkan deskripsi gambar di sini

  4. Akhirnya, hapus file .suo yang terpengaruh per jawaban yang diterima.

Chris Schiffhauer
sumber
2

Saya merasa paling mudah untuk membuat file Solusi sln baru.

David
sumber
1

Kosongkan pemetaan ruang kerja Anda (File -> Kontrol Sumber -> Ruang Kerja). Edit ruang kerja dan hapus semua pemetaan (lebih banyak dampak) atau temukan yang terkait dengan jalur server ini. Kemudian buka Source Control Explorer dan remap. Klik dua kali SLN di Sumber Control explorer dan itu harus mendapatkan yang terbaru. Tidak sepenuhnya yakin apa yang telah terjadi atau keadaan apa yang berhasil Anda lakukan, tetapi dengan ini Anda harus bergerak lagi.

Ryan Cromwell
sumber
1

Saya mengalami masalah ini dan dapat menyelesaikannya dengan memperoleh .rptprojfile dari rekan kerja dan menyalinnya ke direktori lokal saya. Proyek ini kemudian dapat memuat ulang.

Sayward
sumber
1

Saya menghabiskan banyak waktu untuk mencoba menyelesaikan masalah ini. Saya melakukan langkah-langkah ini: mengganti nama proyek, mengganti nama ruang nama, mengganti nama folder proyek, mengedit file .sln, mengedit file .suo yang tersembunyi. Proyek dimuat tetapi tidak dapat dikenali untuk TFS! Akhirnya saya menemukan panduan ini .

Jika Anda menggunakan Resharper dan TFVC adalah kontrol versi Anda, ikuti langkah-langkah ini:

  • Klik kanan proyek di Solution Explorer, pilih Ubah nama, dan masukkan nama baru

  • Klik kanan proyek lagi dan pilih Properties. Ubah "Nama perakitan" dan "Ruang nama default" pada tab Aplikasi.

  • Klik kanan proyek lagi dan pilih Refactor -> Adjust Namespaces. Terima perubahannya.

  • Ubah AssemblyTitle dan AssemblyProduct di Properties / AssemblyInfo.cs

  • Hapus direktori bin dan obj di Windows Explorer

  • Buka Source Control Explorer dan ganti nama direktori proyek. Ini akan menutup solusinya. Biarkan ditutup.

  • Buka file SLN (dengan editor teks seperti Notepad ++) dan ubah jalur ke proyek (harus ada beberapa tempat).

  • Buka Solusi lagi. Bersihkan dan Bangun kembali proyek.

ABS
sumber
0

Klik kanan pada proyek yang tidak tersedia dan edit file proyek ... kemungkinan besar, Anda akan menemukan jalur file yang dikodekan atau yang virtual yang tidak cocok dengan tempat Anda memeriksa proyek.

Kebaikan,

Dan

Daniel Elliott
sumber
2
tidak memiliki opsi Edit. satu-satunya proyek ulang, potong dan hapus.
sineas
0

Solusi untuk ini

  1. Sekali lagi ganti nama folder proyek
  2. Atur versi khusus & paksa dapatkan di TFS
  3. hapus hanya baca & opsi tersembunyi di folder terbaru (bukan ganti nama)
  4. Sekarang Anda dapat membuka proyek tanpa masalah
Saman Jayatilake
sumber
0

Terkadang, meskipun Anda mengubah .slndan .csprojpath, dan secara manual mengubah nama, Anda mungkin lupa untuk memeriksa nama folder yang berisi proyek.

SMPH
sumber