Path.GetDirectoryName 及 Path.GetPathRoot 不適用於的 Uri 時.NET Framework 4.6.2

請注意--重要:本文是以 Microsoft 機器翻譯軟體翻譯而成,且可能由 Microsoft Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。Microsoft 同時提供使用者人為翻譯、機器翻譯及社群編修後的機器翻譯三種版本的文章,讓使用者可以依其使用語言使用知識庫中的所有文章。但是,所有翻譯文章都可能不盡完美,內容都可能出現詞彙、語意或文法上的錯誤。就翻譯內容之不正確或錯誤,或客戶因使用翻譯內容所產生的任何損害,微軟不負擔任何責任。Microsoft將依合理的商業努力不斷地更新機器翻譯軟體和工具,以期能為使用者提供更好的服務。

按一下這裡查看此文章的英文版本:3181958
徵狀
當您有一個專案時明確地為目標的.NET Framework 4.6.2 或,會關閉AppContext參數Switch.System.IO.UseLegacyPathHandlingPath.GetDirectoryName()Path.GetPathRoot()時,擲回例外狀況不正確的路徑傳遞 (例如 http://) 的 URI。
發生的原因
之所以發生這個問題,是因為這些兩個 Api,通常容忍 URI 語法不正確地加入之相同正確性檢查的冒號用於路徑 Api 的其餘部分。
解決方案
若要解決這個問題,請移除 URI 前置詞之前您呼叫這些 Api。或者,您也可以設定AppContext參數Switch.System.IO.UseLegacyPathHandling=true

.NET Framework 小組正著手提供修正程式,針對這個問題在未來產品的版本。

如需詳細資訊,請參閱.NET Framework 4.6.2 已知問題.

其他相關資訊
如需詳細資訊,請參閱 在.NET Framework 4.6.2 中的應用程式相容性。

警告:本文為自動翻譯

內容

文章識別碼:3181958 - 最後檢閱時間:08/02/2016 17:37:00 - 修訂: 1.0

Microsoft .NET Framework 4.6.2

  • kbqfe kbsurveynew kbtshoot kbexpertiseadvanced kbmt KB3181958 KbMtzh
意見反應