本日、Visual Studio 2010 がロックアップされた後、入れ子になった With ステートメントを含むコード セグメントが機能しなくなり、ロックアップしたため、タスク マネージャーを使用して VS-2010 を終了する必要がありました。
次のようなコードブロックがありました。
With cmd ' OleDbCommand object
With .Parameters '<------- locks up when executing this line
.AddWithValue("@Parm1", Parm1Value)
.AddWithValue("@Parm2", Parm2Value)
' Etc.
End With
.ExecuteNonQuery()
End With
VSが以前にロックされるまで、これは問題なく実行されました。以前に開いたドキュメントを開こうとしたときにVSが文句を言わないように、ディレクトリからSUOファイルを削除する必要がありました。しかし、その後、このネストされた With ステートメントは機能しなくなりました。
ただし、コードの次の 2 つのバリエーションは問題なく動作します。
With cmd
With cmd.Parameters '<--- with cmd explicitly specified
.AddWithValue("@Parm1", Parm1Value)
.AddWithValue("@Parm2", Parm2Value)
' Etc.
End With
.ExecuteNonQuery()
End With
と
cmd.Parameters.AddWithValue("@Parm1", Parm1Value)
cmd.Parameters.AddWithValue("@Parm2", Parm2Value)
cmd.ExecuteNonQuery()
外側の With ステートメントを利用するネストされた With ステートメントはすべて同じように失敗します (つまり、OleDb オブジェクトと組み合わせて使用する必要はありません)。オブジェクト ... 同じ結果: ロックされました。
修復を行うために VS-2010 のインストールを実行しましたが、それでもこのように動作します。再起動しても問題は解決しません。
別の方法でコーディングすることもできますが、その必要はありません。次に、VS が最初にクラッシュしたときに他に何が混乱したかを誰が知っていますか? !!
VS-2010 を完全にアンインストール/再インストールする必要がないようにしたかったのです。
他の誰かがこの問題を見たことがありますか?