本日はUnityの小ネタ枠です。
UnityでHttpUtilityなど一部の.NETの関数が利用できない場合の対処についてです。
HttpUtilityなど一部の.NETの関数が利用できない
以下のようなエラーが発生し、HttpUtilityなど一部の.NETの関数が参照できない問題が発生しました。
error CS1069: The type name 'HttpUtility' could not be found in the namespace 'System.Web'. This type has been forwarded to assembly 'System.Web, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' Consider adding a reference to that assembly.
今回のケースはプロジェクトの[APiCompatibilityLevel]に[.NET Framework]が設定されており、HttpUtilityが.NET Core および .NET 5 以降にのみ含まれていることが原因です。
learn.microsoft.com
learn.microsoft.com
対処方法
メニューから[Edit -> Project Settings...]を開き、[Player]タブの[OtherSettings]パネルを開きます。
[Configuration -> APiCompatibilityLevel]の項目を[.NET Standard 2.1]に変更します。
これでHttpUtilityが利用できるようになりました。