Saya baru saja mengalami masalah ini pada VS 2013. Sesuatu yang saya (tidak bisa) isolasi tidak mengubah GUID dalam file CSPROJ. Karena file CSPROJ diperiksa ke dalam SVN, saya tidak bisa begitu saja mengubah GUID pada dev lokal saya. Sebaliknya, saya terus-menerus SVN mengembalikan perubahan lokal setiap kali itu terjadi.
Pertama, saya harus menyelesaikan masalah GUID yang berubah.
- Kembalikan CSPROJ ke versi check-in.
- Buka CSPROJ melalui editor teks, BUKAN VS.
Ekstrak nilai dari file CSPROJ yang masih asli.
{B1234567-5123-4AAE-FE43-8465767788ED}
Buka file SLN melalui editor teks, BUKAN VS.
Temukan referensi Proyek dalam solusi.
Project ("{FAE12345-3210-1357-B3EB-00CA4F396F7C}") = "Some.Project", ".... \ assemblies \ Some.Project \ Some.Project.csproj", "{B7654321-5321-4AAE- FE3D-ED20900088ED} "EndProject
GUID pertama yang terdaftar adalah GUID Solusi. Untuk setiap proyek yang dirujuk dalam SLN Anda, Anda harus melihat nilai ini diulang pada argumen pertama. GUID yang mengikuti .csproj adalah yang ingin Anda ganti dengan GUID yang asli.
Ini harus menyelesaikan masalah pertama, tetapi pendaratan "Masuk ke Definisi" dalam data meta tidak terpecahkan. Dalam file SLN kami, ada proyek master (situs web kami), jadi entri dalam file SLN harus berisi entri ProjectSection dengan beberapa nilai GUID. Berikut ini sebuah contoh:
ProjectSection(ProjectDependencies) = postProject
{AC50D230-24C4-4DCA-BAAD-355E6AF5EFBD} = {AC50D230-24C4-4DCA-BAAD-355E6AF5EFBD}
EndProjectSection
Perhatikan bahwa GUID yang hilang dalam koleksi ini adalah dari proyek awal saya.
- Tambahkan GUID yang hilang sebagai entri terakhir antara ProjectSection dan EndProjectSection. Formatnya tampaknya per-baris, dan itu {GUID} = {GUID}.
- Simpan file.
- Buka solusi Anda.
- Klik kanan referensi di proyek yang baru ditambahkan dan "Pergi ke Definisi."