1

我在 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 对测试没有任何影响。
  • 如果我在属于同事的另一台机器、相同的硬件规格和操作系统上尝试这个,我可以在 VS2010 中调试它。

这显然与我机器上的设置有关。但是,我无法确定条件是什么。

其他用户建议将应用程序移至 C: 驱动器。我认为这不适用于我的情况,因为我可以从 D: 驱动器成功运行 int 。只有在 VS 中调试时才会出现问题。

4

0 回答 0