Cảnh báo của Visual Studio: Không thể đọc được một số thuộc tính liên quan đến giải pháp


160

Khi tôi mở giải pháp của mình, tôi nhận được một hộp thoại với cảnh báo này. Giải pháp (một ứng dụng web, một dự án lớp) xây dựng không có lỗi.

Làm cách nào để xác định thuộc tính nào gây ra sự cố và khắc phục lỗi?

Câu trả lời:


281

Tôi vừa khắc phục sự cố tương tự với giải pháp VS2010 với 35 dự án ... Nguyên nhân là do trùng lặp

GlobalSection(TeamFoundationVersionControl)

phần trong tập tin giải pháp. Tôi đã đóng giải pháp, xóa cấu hình GlobalSection (TeamFoundationVersionControl) trùng lặp và tải lại giải pháp và thông báo cảnh báo đã biến mất.

Nếu đây không phải là vấn đề với bạn, vì bạn chỉ có 2 dự án, tôi sẽ bỏ tập tin giải pháp bị vỡ, tạo một giải pháp mới và thêm lại hai dự án của bạn ...


6
Có cùng một vấn đề với VS2012, giải pháp này đã hoạt động. Cảm ơn!
David Airapetyan

4
Có an toàn không khi cho rằng GlobalSection (TeamFoundationVersionControl) nên bị xóa là cái dưới cùng?
frostshoxx

4
Tôi đã có cùng một vấn đề và tôi chỉ loại bỏ cái dưới cùng. Nó giải quyết vấn đề. Có vẻ như việc sáp nhập đôi khi gây ra điều này.
MaiOM

12
Đó là cái dưới cùng đối với tôi (nó rõ ràng đã lỗi thời). Tôi nghi ngờ VS sử dụng cái đầu tiên mà nó tìm thấy. Trong trường hợp của tôi, điều này là do hợp nhất TFS.
Igby Largeeman

2
Vấn đề tương tự trong VS2013 với GlobalSection trùng lặp - đã được khắc phục bằng cách xóa
Mark Hosang

31

Có vẻ như có một số lý do cho cảnh báo này. Tôi đã nhận được nó bởi vì tập tin giải pháp của tôi SccNumberOfProjects = 4khi chỉ có 3.


25

Các giải pháp tốt nhất là để buộc các VS để tạo lại configs. Để làm điều này:

  1. Mở tệp sln bằng trình soạn thảo văn bản.
  2. Cuộn xuống cho đến khi bạn đạt đến phần tử "EndProject" cuối cùng.
  3. Xóa mọi thứ sau đó.
  4. Lưu, Đóng và xây dựng lại giải pháp và mọi thứ sẽ được tạo lại.

Giải pháp này là hoàn hảo cho tình huống của tôi. Tôi đã nhận được hai lỗi tương tự: The following property is missing or has incorrect value: SccLocalPath63The following property is missing or has incorrect value: SccLocalPath64
user919426

2
Giải pháp này đã làm việc cho tôi trong VS 2017. Nó thực sự phục hồi khi tệp sln được mở. Lưu ý rằng EndProject là một từ.
Varun Sharma

Đây là bản sửa lỗi cho tôi. Sự khác biệt duy nhất trong tệp giải pháp là SolutionGuid.
ADH

2
Điều này hiệu quả với tôi trong VS 2017. điều duy nhất tôi phải thêm là ... nếu bạn đang sử dụng Solution Folders ... bạn sẽ phải thả các dự án của mình trở lại vào các "vị trí" chính xác
Tù nhân ZERO

1
Điều này làm việc cho tôi trong VS 2019. Tôi đã có các phần trùng lặp như được đề cập trong các giải pháp khác, nhưng khi tôi loại bỏ chúng, chúng sẽ quay trở lại. Đây là người duy nhất làm việc.
fehays

8

Tôi vừa sửa một vấn đề tương tự trong VS2012 với 44 dự án.

Nguyên nhân là do sự kết hợp của một GlobalSection(TeamFoundationVersionControl)phần trùng lặp (câu trả lời của một Boycs), nhưng tôi cũng có một vài dự án bị trùng lặp - cũng như một vài tài liệu tham khảo cho các dự án đã bị xóa gần đây - trong GlobalSection(TeamFoundationVersionControl)phần mà tôi giữ.

Khi tôi đã đảm bảo rằng tất cả các dự án được tham chiếu tương ứng 1: 1 với các dự án thực tế trong giải pháp của tôi, cảnh báo đã biến mất.

Ngoài ra: Tôi nghi ngờ rằng phần lớn các vấn đề này có thể tránh được với sự chú ý chặt chẽ hơn đối với .sln trong khi phân nhánh và cam kết sáp nhập, nhưng ai biết đôi khi VS đang nghĩ gì ...


5

Tôi đã có vô số lỗi ở trên. Tôi đổi tên dự án, lưu lại, mở lại đổi tên. Điều này tạo lại tệp .sln và trong trường hợp của tôi đã lấy ra tất cả các mục bổ sung.


Sửa chữa dễ nhất ở đây. Đừng bận tâm .slntìm kiếm các lỗi.
Jonathan Landrum

Bạn có thể mở rộng thêm một chút nữa không. Một số người dùng có thể không hiểu. Bạn có nghĩa là đổi tên nó trong explorer hoặc Visual studio hoặc trong tập tin thực tế?
iTechy

1
Làm điều này trong Visual Studio, Bạn sẽ nhấp chuột phải vào dự án, thay đổi tên thành bất cứ điều gì, sau đó lưu và thoát. Mở lại và thay đổi trở lại ban đầu, lưu và thoát. mở lại giải pháp và lỗi sẽ biến mất.
CThin

2

Đã giải quyết một thông báo lỗi giống hệt trong VS2012 bằng cách theo sự dẫn dắt của Boycs. Đối với tôi, vấn đề là hai GlobalSection(SolutionConfigurationPlatforms) = preSolutionkhối không liên quan ở dưới cùng của tệp SLN của tôi.


2

Đối với tôi, vấn đề là khoảng trống (do sao chép-dán) ở cuối mỗi dòng. Bằng cách loại bỏ chúng, tôi đã không nhận được lỗi một lần nữa.


2

Trong VS 2015, tôi đã có hai phần " GlobalSection (TeamFoundationVersionControl) = preSolution "

Dự án đầu tiên bao gồm dự án mới nhất được thêm vào giải pháp, dự án thứ hai (gần cuối tệp giải pháp) thì không. Sau khi xóa cái thứ hai, giải pháp đã mở trong VS 2015 mà không có bất kỳ lỗi nào.


1

Các câu trả lời khác đã giải thích làm thế nào để khắc phục vấn đề. Có lẽ tôi có thể giúp đỡ để không gặp vấn đề nữa:

Làm thế nào tôi gặp vấn đề Tệp giải pháp của chúng tôi đã bị xáo trộn khi tôi thêm một dự án mới vào đó, trong khi một nhà phát triển khác cũng đã thêm một dự án mới và cam kết những thay đổi của anh ấy (mà tôi đã không nhận được tại hệ thống địa phương của mình). Khi tôi bắt đầu thực hiện các thay đổi của mình, tôi đã phải hợp nhất tệp .sln, nơi tôi rõ ràng đã nhầm lẫn :-)

Những gì tôi học được

Các tập tin giải pháp là khủng khiếp để hợp nhất. Nếu bạn thêm một dự án, hãy làm như sau: 1. Nhận phiên bản mới nhất 2. Thêm dự án của bạn 3. Cam kết

Nếu bạn thấy tệp giải pháp của mình trong các thay đổi đang chờ xử lý, nhưng bạn không thấy thay đổi trong chế độ so sánh, bạn phải nhấn 'Lưu tất cả'. Trong khi thêm dự án mới của bạn, VisualStudio cũng thay đổi giải pháp. Tuy nhiên, đây là một thay đổi chưa được lưu tại thời điểm này.


1

Kiểm tra của bạn SccNumberOfProjects trong bạn sln tập tin nó có thể khác với số dự án thực tế của bạn.


0

tôi đã sửa vấn đề tương tự trong năm 2012.

trong trường hợp của tôi, vấn đề là giá trị thuộc tính SccProjectName0 bên trong GlobalSection trong tệp MySolutionName.sln trống.

tôi đã giải quyết nó bằng cách đặt giá trị SccProjectName0 bằng bản sao của giá trị chuỗi này từ một giải pháp khác và thay thế tên của dự án trong chuỗi thành hiện tại (BTW - nếu tên dự án của bạn là khoảng trắng trong nó (''), thì nó cần phải thay thế bằng '\ u0020').

*

trong trường hợp của tôi, vấn đề bắt đầu sau khi tôi mở nhầm giải pháp được kiểm soát bởi TFS với tệp MySolutionName.sln cũ của cùng một giải pháp kể từ khi giải pháp này được kiểm soát bởi VSS.


0

Cập nhật VS2015 3. [GlobalSection (TeamFoundationVersionControl) = preSolution] đã được sao chép trong tệp giải pháp. Bản sao dưới cùng chứa một dự án đã loại bỏ trước đó ... vì vậy việc loại bỏ bản sao đó đã khắc phục sự cố. Tôi nghĩ rằng sự trùng lặp là do một vấn đề sáp nhập trước đó.


0

Tôi có thể thêm một giải pháp khả thi nữa - Hợp nhất tinh ranh có nghĩa là một trong các SccProjectUniqueName / SccProjectName / SccLocalPath stanzas bên trong phần GlobalSection (TeamFoundationVersionControl) có các số không phải là duy nhất, mặc dù SccNumberOfPro là chính xác. Sửa lỗi đánh số, thông báo lỗi biến mất.


0

VS 2019 - Tôi đã mở dự án VS 2017 lần đầu tiên trong VS 2019. Trong cửa sổ đầu ra, nhấp vào "Hiển thị đầu ra từ:" DDL và xem lại các tùy chọn của bạn vì bạn có thể thấy thông tin lỗi bổ sung.

Trong trường hợp của tôi, giải pháp là chỉ định cấu hình lại ánh xạ kiểm soát nguồn của tôi cho năm 2019.

  • Đi vào Team Explorer
  • Nhấp vào nút Quản lý kết nối (phích cắm)
  • Nhấp vào liên kết Quản lý kết nối và Kết nối với Dự án ...
  • ...

-1

Tôi đã có cùng một vấn đề, và giải pháp của tôi là:

  1. Mở giải pháp trong VS
  2. Đặt Nền tảng giải pháp thành mặc định
  3. Lưu nó
  4. Đóng VS
  5. Mở tệp .sln trong Notepad ++ (hoặc bất kỳ trình chỉnh sửa nào khác)
  6. Xóa tất cả các mục Nền tảng giải pháp khác từ mọi nơi
  7. (ví dụ: {73E03C8F-1F76-45E2-9D45-FA040A63F0AA} .Release | Bất kỳ CPU.Build.0 = Phát hành | Bất kỳ CPU nào)
  8. Lưu nó, và mở lại giải pháp.

Điều này làm việc cho tôi.

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.