風險降低︰路徑冒號檢查
從以 .NET Framework 4.6.2 為目標的應用程式開始,為了支援先前不支援的路徑 (就長度和格式兩方面) 而有數項變更。 特別是提供更正確的適當磁碟機分隔符號語法 (冒號) 檢查。
影響
這些變更會封鎖 Path.GetDirectoryName 和 Path.GetPathRoot 方法先前支援的一些 URI 路徑。
風險降低
若要解決 Path.GetDirectoryName 和 Path.GetPathRoot 方法不再支援的先前可接受路徑問題,您可以執行下列動作:
從 URL 手動移除配置。 例如,從 URL 移除
file://
。將 URI 傳遞給 Uri 建構函式,並擷取 Uri.LocalPath 屬性的值。
藉由將
Switch.System.IO.UseLegacyPathHandling
AppContext 參數設定為true
,以選擇退出新的路徑正規化。<runtime> <AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=true" /> </runtime>