Visual Studio 2013と企業プロキシ(サインインが機能しない、更新が機能しない、Visual Studioギャラリーが機能しない、nugetとgitが失敗する)で問題が発生しています。これらはすべて、httpまたはhttps要求を実行しています。 (例: http://visualstudiogallery.msdn.Microsoft.com/ )。 VS2013では、進行状況バーが回転するか、ネットワーク接続がないというメッセージが表示されるだけです。
ブラウザ(chrome、IE、firefox)で問題はありません。それらはすべてプロキシ(407拒否してから資格情報で応答する)を理解しているためです。
VS2013が機能しない理由を理解したいと思います。しかし、fiddler2にDEVENV.EXEプロセス(またはすべてのプロセス)を監視するように指示すると、トラフィックが表示されません。
ところで、web.config(devenv.exe.config)ファイルにいくつかの変更を試みて、プロキシに送られることを確認しました(スタックビルダーでこれを確認しました)が、私には機能しません。以下のセクションへの追加を参照してください。
_ <system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy proxyaddress="http://gw6.OURSITE.com:3128" />
</defaultProxy>
<settings>
<ipv6 enabled="true"/>
<servicePointManager expect100Continue="false" />
</settings>
</system.net>
_
エリック、私はあなたの提案を受け取り、C:\Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe.config
ファイルに詰め込んだだけです。
私が入れたのは:
_ <system.net>
<defaultProxy useDefaultCredentials="true" enabled="true">
<proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />
</defaultProxy>
</system.net>
_
私が見つけたのは、VS2013がユーザーエージェント文字列を送信していないことです。 #407 naksを認識しており、クレデンシャルで応答しますが、ゲートウェイはまだユーザーエージェントを必要としています。
_HTTP/1.1 200 OK
Cache-Control: no-cache
Pragma: no-cache
Content-Type: text/html; charset=utf-8
Proxy-Connection: close
Connection: close
Content-Length: 1341
<html>
<head>
<title>Access Policy Denied: No User-Agent Specified</title>
<meta name="description" content="Web Access Policy">
</head>
<body>
_
Fiddlerでトラフィックを確認する場合は、machine.config
ファイルを変更して、すべての.NETアプリケーションがFiddlerを介してトラフィックを送信するようにしたいと思うでしょう。これにより、サービスなどで実行されているプロセスからデータを確実にキャプチャできます。
machine.config
フォルダーのC:\Windows\Microsoft.NET\Framework\v4.0.30319\Config
を開きます。 64ビットサービス(ASP.NETなど)をデバッグする場合は、FrameworkフォルダーではなくFramework64
フォルダーを検索することに注意してください。同様に、4.0より前の.NETバージョンを使用している場合、パスのバージョン部分を調整する必要があります。
次のXMLブロックを既存のsystem.net要素にピアとして追加し、既存のdefaultProxy要素がある場合はそれを置き換えます。
<!-- The following section is to force use of Fiddler for all applications, including those running in service accounts -->
<system.net>
<defaultProxy
enabled = "true"
useDefaultCredentials = "true">
<proxy autoDetect="false" bypassonlocal="false" proxyaddress="http://127.0.0.1:8888" usesystemdefault="false" />
</defaultProxy>
</system.net>
参照 http://fiddler2.com/blog/blog/2013/01/08/capturing-traffic-from-.net-services-with-fiddler
注:必要に応じて、Fiddlerを使用してアウトバウンドリクエストにUser-Agent
ヘッダーを挿入できます。また、Fiddlerの最新バージョンでは、[ファイル]> [インポート]> [パケットキャプチャ]を使用して、Microsoft NetMonまたはMicrosoft Message Analyzerを使用してキャプチャした.capファイルからHTTPトラフィックを収集できます。
上司は、この問題を解決する別の簡単な方法を提案しました。 URIに「フィドラー」を追加するだけです。例: http:// localhost:52101 / -> http://localhost.fiddler:52101 /
または、次のような軽量な方法を使用できます。
if(Debugger.IsAttached){request.Proxy = new WebProxy( "
http://localhost:8888/
"、true);}