私はVS 2010 Professional(Windows 7 Professional 64)を使用していますが、WCF 4.0で書いています。条件が偽である間(responseMessage.StatusCodeが「OK」である)、Visual Studio 2010デバッガ - 条件が偽であっても "if"ステートメントに進む
if (responseMessage.StatusCode == HttpStatusCode.NotFound)
{
throw new ContentNotFoundException(contentId, SSPErrorCode.PartnerRestGetStream404);
}
プロセスにデバッガをアタッチ、「if」ステートメントまたはその前にブレークポイントを設定した: は、私は、次のコードを持っていますデバッガは "if"ステートメントを実行します。その後、何もせずに "throw"ステートメントを実行し、コードを続けます。
私が試した:
は、私のWindowsユーザーをログアウト、VSを再起動、再起動、洗浄液、IISをresarting、アプリケーションプールのリサイクル、それを再構築し、それを再度構築し、「もし内部でより多くのコードを追加"ステートメントと条件の内部 - これまでのところ何も働かなかった。
私はそれを取り除くためにきれいにすることができるどこかのキャッシュがなければならないが、何がどこで?
私はhttp: - social.msdn.microsoft.com/Forums/en-US/vsdebug/thread/d4b70fd7-b74a-42ce-a538-7185df3d3254/を見つけたので、手動でブレークポイントを設定してみましたが、このクラスでは壊れませんでしたが、他のクラスでも同じことが起こりました。
私はVSを再インストールせずにこの問題を解決したいと思います。前もって感謝します!
更新:
- 私はこれを設置し、答えを見つけることができませんでしたので、私は私のプロジェクトでの移動。
- 私は簡単な例で終了され、this postにジョン・マッキンタイアが報告し、この問題につまずいた:
using System; namespace IEnumerableBug2 { class Program { static void Main(string[] args) { if (new object() == null) throw new Exception(); try { } catch { } } } }
更新#2:
注意を私のことメソッドにはtry-catchステートメントがあります。これは 'if'ステートメントの後の数行です。
このバグを再現しようとしましたが、失敗しました。私はそれを必要とするかもしれない他の人のためにstackoverflowに関する質問を残すつもりですが、私が書いたように、私はもはやその動作を再現することができません。
IDEの真のバグのようです。それをMSに報告する。 – Martin
これは、.NET 4.5を対象とするときにVisual Studio 11で修正されているようです。ただし、.NET 4.0を対象としている場合、このバグは存続します。 –
私にお知らせいただきありがとうございます。 –