web-dev-qa-db-ja.com

PowerShellでタイプ[System.Web.HttpUtility]が見つかりません

PowerShellを使用してMicrosoft Translatorアプリケーションのアクセストークンを取得しようとしていますが、プロセスの特定のコマンドがエラーの結果として失敗します。

Unable to find type [System.Web.HttpUtility]

最初にコードを入力しましたが、コードを MSDNページ から直接PowerShell ISEにコピーアンドペーストすると、同じエラーが表示されます(不足している値を置き換えます)。

# ...
$ClientID = '<Your Value Here From Registered Application>'
$client_Secret = ‘<Your Registered Application client_secret>'

# If ClientId or Client_Secret has special characters, UrlEncode before sending request
$clientIDEncoded = [System.Web.HttpUtility]::UrlEncode($ClientID)
$client_SecretEncoded = [System.Web.HttpUtility]::UrlEncode($client_Secret)
# ...

私はPowerShellを初めて使用します(通常は開発にLinuxを使用します)が、追加のツールをインストールしなくてもすぐに動作するはずだと推測しました。そうでない場合、どこで見つけることができますか?

15
David Bailey

System.Webアセンブリをロードする必要があります。 Add-Typeコマンドレットを次のように使用します。

PS C:\> [System.Web.HttpUtility]::UrlEncode("www.google.com")
Unable to find type [System.Web.HttpUtility].

PS C:\> Add-Type -AssemblyName System.Web
PS C:\> [System.Web.HttpUtility]::UrlEncode("www.google.com")
www.google.com
43
vonPryz