VS 2010でアプリケーションをデバッグするときに、問題が発生しました。
これは単純なコマンドラインアプリです。
namespace HttpTest
{
class Program
{
public void testHTTP ()
{
Console.WriteLine("Creating HTTP request. Press a key to proceed.");
Console.ReadKey();
var request = (HttpWebRequest)HttpWebRequest.Create("http://stackoverflow.com");
Console.WriteLine("Getting response...");
var response = (HttpWebResponse)request.GetResponse();
Console.WriteLine("Done");
Console.ReadKey();
}
static void Main(string[] args)
{
Program app = new Program();
app.testHTTP();
}
}
}
Visual Studio 2010から起動/デバッグすると、HttpWebRequestの作成時にConfigurationErrorsExceptionが発生します。
'system.net/defaultProxy'構成セクションで指定されたWebプロキシの作成中にエラーが発生しました。
私のapp.configにはsystem.net/defaultProxyにエントリがないので(そして私のdevenv.exe.configにもエントリがないので)、これは非常に驚くべきことです。
さまざまな設定を試してみると、ターゲットフレームワークを4.0に設定し、ターゲットプラットフォームをx86に設定して、VS内でデバッグしようとした場合にのみ、エラーが発生することがわかりました。
- ビルドしてコマンドラインから実行すると(ビルド設定に関係なく)、問題はありません。
- ターゲットフレームワークを3.5に設定すると、エラーが消え、アプリは正常にデバッグされます。
- プラットフォームターゲットを「x64」または「任意のCPU」に設定すると、アプリは正常にデバッグされます。
- 4.0 / x86でビルドし、コマンドラインから実行し、最初のキーが押されるのを待っている間にデバッガーを接続して続行すると、上記のエラーが発生します。
- マシンのファイアウォールを無効にしました
- 管理者としてVSを実行しても、テストに違いはありません。
- 同僚が所有する別のマシン、同じハードウェア仕様、OSでこれを試してみると、VS2010内でデバッグできます。
それは明らかに私のマシンの設定と関係があります。しかし、私は条件が何であるかを特定することができませんでした。
他のユーザーは、アプリケーションをC:ドライブに移動することを提案しました。D:ドライブからintを正常に実行できるため、これは私の場合には当てはまらないと思います。問題は、VS内でデバッグする場合にのみ発生します。