訓練
模組
Guide to Secure .NET Development with OWASP Top 10 - Training
Evaluate security risks that come with insecure application development patterns and practices
若您要將應用程式移轉至 .NET 9,則可能會受此處列出的中斷性變更影響。 變更會依技術領域分組,例如 ASP.NET Core 或 Windows Forms。
本文會將每個重大變更分類為「二進位不相容」或「來源不相容」,或分類為「行為變更」:
二進位不相容 - 針對新的執行階段或元件執行時,現有的二進位檔可能會發生重大行為變更,例如載入或執行失敗,如果發生此情況,則需要重新編譯。
來源不相容 - 使用新的 SDK 或元件重新編譯,或以新的執行階段為目標時,現有的原始程式碼可能需要來源變更才能順利編譯。
行為變更 - 現有的程式碼和二進位檔在執行階段的行為可能不同。 如果不需要新的行為,則必須更新並重新編譯現有的程式碼。
注意
本文為進行中的作業。 這不是 .NET 9 中斷性變更的完整清單。 若要查詢仍暫待發行的重大變更,請參閱 .NET 的問題。
標題 | 變更類型 | 引進的版本 |
---|---|---|
DefaultKeyResolution.ShouldGenerateNewKey 已更改意義 | 行為變更 | Preview 3 |
開發憑證導出不再建立資料夾 | 行為變更 | RC 1 |
HostBuilder 可在開發環境中啟用 ValidateOnBuild/ValidateScopes (英文) | 行為變更 | Preview 7 |
具有多個建構函式的中間件類型 | 行為變更 | RC 1 |
標題 | 變更類型 | 引進的版本 |
---|---|---|
.NET 9 容器映像不再安裝 zlib | 行為變更 | Preview 7 |
標題 | 變更類型 | 引進的版本 |
---|---|---|
使用 CompressionLevel 新增 ZipArchiveEntry 會設定 ZIP 中央目錄標頭一般用途位元旗標 | 行為變更 | Preview 5 |
已改變非開放式泛型的 UnsafeAccessor 支援 | 行為變更 | Preview 6 |
使用自訂診斷識別碼的 API 淘汰 | 來源不相容 | (多個) |
BigInteger 最大長度 | 行為變更 | Preview 6 |
BinaryReader.GetString() 在格式不正確的序列上傳回 “\uFFFD” | 行為變更 | Preview 7 |
不允許建立 System.Void 陣列的類型 | 行為變更 | Preview 1 |
標示 InlineArrayAttribute 的類型預設擲回 Equals() 和 GetHashCode() |
行為變更 | Preview 6 |
EnumConverter 會驗證要列舉的已註冊類型 | 行為變更 | Preview 7 |
FromKeyedServicesAttribute 不再插入非索引鍵參數 | 行為變更 | RC 1 |
IncrementingPollingCounter 初始回呼為非同步 | 行為變更 | RC 1 |
強制執行內嵌陣列結構大小限制 | 行為變更 | Preview 1 |
InMemoryDirectoryInfo 在檔案前面加上 rootDir | 行為變更 | Preview 1 |
採用整數的新 TimeSpan.From*() 多載 | 來源不相容 | Preview 3 |
RuntimeHelpers.GetSubArray 傳回不同的類型 | 行為變更 | Preview 1 |
String.Trim(params ReadOnlySpan<char>) 多載已移除 | 來源/二進位不相容 | GA |
支援空白的環境變數 | 行為變更 | Preview 6 |
ZipArchiveEntry 名稱和註解遵循 UTF8 旗標 | 行為變更 | RC 1 |
標題 | 變更類型 | 引進的版本 |
---|---|---|
SafeEvpPKeyHandle.DuplicateHandle 向上參照控制代碼 (英文) | 行為變更 | Preview 7 |
部分 X509Certificate2 和 X509Certificate 建構函式已淘汰 (英文) | 來源不相容 | Preview 7 |
Windows 私密金鑰存留期已簡化 | 行為變更 | Preview 7 |
標題 | 變更類型 | 引進的版本 |
---|---|---|
已被取代的桌面 Windows/macOS/Linux MonoVM 執行階段套件 | 來源不相容 | Preview 7 |
標題 | 變更類型 | 引進的版本 |
---|---|---|
默認支援 CET | 二進位不相容 | Preview 6 |
標題 | 變更類型 | 引進的版本 |
---|---|---|
飽和的浮點數至整數轉換 | 行為變更 | Preview 4 |
部分 SVE API 已移除 | 來源不相容 | RC 2 |
標題 | 變更類型 | 引進的版本 |
---|---|---|
API obsoletions | 來源不相容 | Preview 6 |
HttpClient 計量無條件報告server.port |
行為變更 | Preview 7 |
依預設,HttpClientFactory 記錄會修訂標頭值 | 行為變更 | RC 1 |
HttpClientFactory 使用 SocketsHttpHandler 作為主要處理程式 | 行為變更 | Preview 6 |
HttpListenerRequest.UserAgent 可為 Null | 來源不相容 | Preview 1 |
HttpClient EventSource 事件中的 URI 查詢修訂 | 行為變更 | Preview 7 |
IHttpClientFactory 記錄中的 URI 查詢修訂 | 行為變更 | Preview 7 |
標題 | 變更類型 | 引進的版本 |
---|---|---|
dotnet restore 稽核可轉移套件 |
行為變更 | Preview 6 |
dotnet watch 與舊架構的 熱重新載入 不相容 |
行為變更 | RC 1 |
dotnet workload 命令輸出變更 |
行為變更 | Preview 1 |
不再記載 installer 存放庫版本 |
行為變更 | Preview 5 |
終端記錄器是預設值 | 行為變更 | Preview 1 |
.NET 9 SDK 的版本需求 | 來源不相容 | GA |
針對 .NET Standard 1.x 目標發出的警告 | 來源不相容 | Preview 6 |
針對 .NET 7 目標發出的警告 | 來源不相容 | GA |
標題 | 變更類型 | 引進的版本 |
---|---|---|
BinaryFormatter 一律會擲回 | 行為變更 | Preview 6 |
標題 | 變更類型 | 引進的版本 |
---|---|---|
BindingSource.SortDescriptions 不會傳回 null | 行為變更 | Preview 1 |
可 NULL 性註釋的變更 | 來源不相容 | Preview 1 |
ComponentDesigner.Initialize 擲回 ArgumentNullException | 行為變更 | Preview 1 |
DataGridViewRowAccessibleObject.Name 開始資料列索引 | 行為變更 | Preview 1 |
IMsoComponent 支援為選擇加入 | 行為變更 | Preview 2 |
新的安全性分析器 | 來源不相容 | RC 1 |
如果 DataGridView 為 null,則沒有例外狀況 | 行為變更 | Preview 1 |
PictureBox 引發 HttpClient 例外狀況 | 行為變更 | Preview 6 |
標題 | 變更類型 | 引進的版本 |
---|---|---|
GetXmlNamespaceMaps 類型變更 |
行為變更/來源不相容 | Preview 3 |
訓練
模組
Guide to Secure .NET Development with OWASP Top 10 - Training
Evaluate security risks that come with insecure application development patterns and practices