Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Should MSBuildLocator.RegisterDefaults register the highest VS version instead of first?

Đang mở
#81 4 bình luận 5 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
35/100
Loại issue
Tính năng
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Đình trệ
Công nghệ
csharp
Lĩnh vực
build-system

Hướng nghiên cứu

Bắt đầu tại src/MSBuildLocator/MSBuildLocator.cs, xung quanh phần triển khai RegisterDefaults được liên kết, và kiểm tra cách các phiên bản Visual Studio đã cài đặt được phát hiện và lựa chọn. Tái hiện kịch bản VS2017/VS2019 được mô tả trong issue, sau đó xác nhận rằng hành vi đăng ký mặc định khớp với lựa chọn phiên bản dự kiến mà không làm hỏng các bên gọi hiện có.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

Right now MSBuildLocator.RegisterDefaults registers the first instance it finds on the machine, whatever that is:

https://github.com/microsoft/MSBuildLocator/blob/ecd04bf208ed0cc3e67d46e7eb90359df7315504/src/MSBuildLocator/MSBuildLocator.cs#L93

This provides to be wrong in a lot of cases: for example, any tool using RegisterDefaults won't be able to analyze the Roslyn solution on a machine with both VS2017 and VS2019. RegisterDefaults will pick the 2017 version, which will break because we're using the new "GetPathsOfAllDirectoriesAbove" feature which doesn't exist in 2017. Just yesterday both I and @sharwell were independently replacing this in two separate tools with the exact same PR:

https://github.com/dotnet/roslyn/pull/40886
https://github.com/dotnet/roslyn/pull/40574/commits/43e13de123dce589518b51dd48bbe82aadba5361

Should this just be the automatic behavior? Because .editorconfig support uses this new MSBuild feature, anybody using any tool using the default function that has both VS2017 and VS2019 on their machine is going to get potentially very unexpected results.

Ngôn ngữ chính
C#
Star
262
Fork
91
Merge trung bình
11 ngày 22 giờ
Pull request đã merge (30 ngày)
3

Hướng dẫn đóng góp

Chưa lập chỉ mục được hướng dẫn đóng góp cho kho mã nguồn này

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của microsoft/MSBuildLocator

Tất cả issue của microsoft/MSBuildLocator

Issue tương tự

Thêm issue về C#

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.