Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

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

オープン
#13,085 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
46/100
issue の種類
リファクタリング
明瞭さ
おおむね明確
活発さ
活発
技術スタック
csharp
領域
build-system

調査の方向性

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.

索引モデルが issue の本文から書いたものです。

説明

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.

主要言語
C#
スター
2.1k
フォーク
581
平均マージ
1日 23時間
マージ済み PR(30日)
243

環境構築

  • Dockerfile・Docker Compose ファイルなし
  • プルリクエストのテンプレートあり
  • コントリビューションガイドなし

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

dotnet/android のほかの issue

dotnet/android の issue をすべて見る

似ている issue

C# の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。