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

Remove memory-safety LangVersion=preview overrides when C# 16 is the default

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

Maintainer thường phản hồi trong vòng 1 ngày

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
46/100
Loại issue
Tái cấu trúc
Độ rõ ràng
Khá rõ ràng
Mức độ hoạt động
Sôi nổi
Công nghệ
csharp
Lĩnh vực
build-system

Hướng nghiên cứu

Start by reading the four listed project files and the linked migrations #13070 and #13078 to understand which LangVersion=preview and memory-safety settings they introduced. Check the repository’s normal language-version policy and confirm C# 16 is the default before changing anything. Done means applicable temporary overrides are removed, unrelated compiler switches and safe-caller rejection remain intact, and the affected tests pass.

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

Mô tả

needs-triage
Android framework version

Other — repository build configuration; not a customer application framework issue.

Affected platform version

The repository SDK/compiler once C# 16 is the default language version. The memory-safety migration currently uses SDK 12.0.100-alpha.1.26480.102 with project-local LangVersion=preview overrides.

Description

Track removal of the temporary <LangVersion>preview</LangVersion> overrides introduced for the updated C# memory-safety model once C# 16 is the repository's default and the migrated code no longer requires preview language features.

Requested by @jonathanpeppers in this review comment. Related migrations: #13070 and #13078.

Current overrides to revisit:

  • external/Java.Interop/src/Java.Interop/Java.Interop.csproj
  • src/Xamarin.Android.Build.Tasks/Xamarin.Android.Build.Tasks.csproj
  • src/Microsoft.Android.Build.Tasks/Microsoft.Android.Build.Tasks.csproj
  • tools/tmt/tmt.csproj

When the prerequisite is met, audit any additional overrides introduced by subsequent memory-safety migrations, remove those no longer needed, and inherit the repository's normal language-version policy. Do not replace them with another permanent project-local language-version pin.

Completion criteria:

  • The repository compiler's normal language-version policy selects C# 16 or later, and the migrated syntax is supported without preview.
  • All applicable temporary overrides are removed while unrelated compiler feature switches remain intact. Reassess updated-memory-safety-rules separately; removing LangVersion=preview must not accidentally disable the memory-safety model.
  • Affected projects and relevant existing tests pass, and safe-caller rejection of caller-unsafe APIs is preserved.
Steps to Reproduce

Inspect the project-local LangVersion=preview declarations added by the linked migrations. They are intentional today; this issue tracks their cleanup after C# 16 becomes the default.

Did you find any workaround?

Keep the preview overrides until the prerequisite is satisfied.

Relevant log output

N/A — future build-configuration cleanup, not a current build failure.

Ngôn ngữ chính
C#
Star
2.1k
Fork
579
Merge trung bình
1 ngày 11 giờ
Pull request đã merge (30 ngày)
228

Chuẩn bị môi trường

  • Không có Dockerfile hay tệp Docker Compose
  • Có mẫu pull request
  • Không có hướng dẫn đóng góp

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 dotnet/android

Tất cả issue của dotnet/android

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.