Tôi vừa gặp vấn đề này trên VS 2013. Một cái gì đó tôi có thể (đã làm?) Không cô lập là thay đổi GUID trong tệp CSPROJ. Vì các tệp CSPROJ được kiểm tra vào SVN, tôi không thể đơn giản thay đổi GUID trên dev cục bộ của mình. Thay vào đó, tôi liên tục SVN hoàn nguyên thay đổi cục bộ mỗi khi nó xảy ra.
Đầu tiên, tôi phải giải quyết vấn đề GUID đang thay đổi.
- Hoàn nguyên CSPROJ về phiên bản đã đăng ký.
- Mở CSPROJ thông qua trình soạn thảo văn bản, KHÔNG VS.
Trích xuất giá trị từ tệp CSPROJ nguyên sơ.
{B1234567-5123-4AAE-FE43-8465767788ED}
Mở tệp SLN thông qua trình soạn thảo văn bản, KHÔNG VS.
Xác định vị trí tham chiếu Dự án trong giải pháp.
Dự án ("{FAE12345-3210-1357-B3EB-00CA4F394F7C}") = "some.Project", ".... \ lắp ráp \ some.Project \ some.Project.csproj", "{B7654321-5321-4AAE- FE3D-ED20900088ED} "Dự án cuối
GUID đầu tiên được liệt kê là GUID Giải pháp. Đối với mọi dự án được tham chiếu trong SLN của bạn, bạn sẽ thấy giá trị này được lặp lại ở đối số đầu tiên. GUID theo sau .csproj là cái bạn muốn thay thế bằng GUID nguyên sơ.
Điều này sẽ giải quyết vấn đề đầu tiên, nhưng việc hạ cánh "Đi đến Định nghĩa" trong dữ liệu meta không được giải quyết. Trong tệp SLN của chúng tôi, có một dự án chính (trang web của chúng tôi), vì vậy mục nhập của nó trong tệp SLN phải chứa mục ProjectSection có nhiều giá trị GUID. Đây là một ví dụ:
ProjectSection(ProjectDependencies) = postProject
{AC50D230-24C4-4DCA-BAAD-355E6AF5EFBD} = {AC50D230-24C4-4DCA-BAAD-355E6AF5EFBD}
EndProjectSection
Lưu ý GUID bị thiếu trong bộ sưu tập này là một trong dự án nguyên sơ của tôi.
- Thêm GUID bị thiếu làm mục nhập cuối cùng giữa ProjectSection và EndProjectSection. Định dạng dường như là trên mỗi dòng và đó là {GUID} = {GUID}.
- Lưu các tập tin.
- Mở giải pháp của bạn.
- Nhấp chuột phải vào một tham chiếu trong dự án mới được thêm vào và "Chuyển đến Định nghĩa".