Visual Studio 2008内でデバッグしているときに、コードを完全にロックする方法があるかどうか疑問に思いました。64ビットアプリケーションとして実行すると、コードドキュメントが自動的にロックされます。ただし、コーディングのほとんどは、32ビットのExcel用のアドインを作成しています。その結果、「AnyCPU」をターゲットにしても、VSホストは32ビットプロセス内で実行されていることを認識しているため、VisualStudioでホストされているコードの実行中にソースコードがロックされることはありません。
[ツール]>[オプション]>[デバッグ]>[編集して続行]に移動し、[編集して続行を有効にする]チェックボックスをオフにすることで、[編集して続行]をオフにできます。ただし、これによってコードが完全にロックされるわけではありません。これにより、コードの編集が現在の実行で実行されるのを防ぐことができますが、マウスクリックやキーストロークによって実際にコードが変更されるのを防ぐことはできません。
繰り返しますが、64ビットアプリケーションで作業する場合、これは発生しません。コードは完全にロックされています。少なくともいくつかの理由から、コードを完全にロックすることを強くお勧めします。
デバッグ中に誤ってキーなどを押してしまうことがありますが、絶対にやりたくないです。まれですが、問題です。
私の自動テストの多くは、SendKeysを介してユーザーインターフェイスを駆動します。ただし、デバッガーを使用してこのようなテストを実行すると、一部の側面にSendKeysが含まれていることを忘れることがあります。つまり、キーストロークがExcelではなくVisualStudioIDEに送信されることになります。
上記の問題#2では、単体テストが失敗します。これは問題ありませんが、すべてのキーストロークをコードモジュールに送信してコードを破棄することはまったく受け入れられません。
誰かがここで何かアイデアを持っていますか?32ビットCPUに対してコンパイルされているときに、Visual Studioでホストされて実行されている場合、コードを完全にロックできますか?
この問題に関するいくつかの関連する投稿がありますが、どれもこれに直接対処していません:
- 方法:編集と続行を有効または無効にする
- Visual Studio 2008でデバッグする場合、「64ビットアプリケーションへの変更は許可されていません」
- Visual Studioのデバッグモードでファイル編集を有効にするにはどうすればよいですか?
- Visual Studioで「編集して続行」はどのように機能しますか?
- アプリケーションの実行中にコードを編集できますか
- デバッグ中のC#の編集
ヘルプやアイデアを事前に感謝します...
マイク