MRが楽しい

MRやVRについて学習したことを書き残す

UnityでHttpUtilityなど一部の.NETの関数が利用できない場合の対処

本日は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が利用できるようになりました。