WebClientの代わりにWebRequestを使い、HttpUtility.UrlEncodeの代わりにUri.EscapeUriStringを使うとSystem.webへの参照を追加する必要がなくなります。WebRequestはデフォルトでGETメソッドを使うため明示的にPOSTメソッドを指定する必要があります。
using System; using System.Text; using System.Net; class Program { static void Main(string[] args) { Tweet("C#のクライアントから送信"); } private static void Tweet(string msg) { WebRequest r = WebRequest.Create("http://twitter.com/statuses/update.xml?status=" + Uri.EscapeUriString(msg)); r.Credentials = new NetworkCredential("ledsun", "XXXXXXXX"); r.Method = "POST"; r.GetResponse().Close();; } }
HttpUtility.UrlEncodeを使わない方法は下のページを参考にしました。
http://iseebi.half-done.net/?TechDoc%2FUrlEncodeWithoutHttpUtility
追記
r.GetResponse()で取得したレスポンスをクローズしないとHTTPセッションが終了しません。