1. ホーム
  2. visual-studio

[解決済み] Visual Studioでデバッグすると、"file is used by another process "というエラーが発生するのですが?

2022-02-24 22:04:10

質問

Visual Studio 2010 betaを使用して、デバッグのためにIDE内でアプリケーションを実行すると、最初の1回は完全に動作します。 しかし、アプリケーションを閉じるか、デバッグの停止ボタンをクリックしてデバッグセッションを終了すると、それ以降、アプリケーションのデバッグに失敗してしまいます。

Error 1 Unable to copy file "objDebug﹑Application.dll" をコピーできません。 "binDebugApplication.dll". プロセスはファイルにアクセスできません 'binDebug Filter.dll' によって使用されているためです。 プロセスです。

SysInternalsのHandle.exeには、開いているハンドルが表示されていますが、ハンドルを閉じても、エラーは消えません。 手動でファイルを削除しようとすると、"Access Denied"のエラーメッセージが表示されます。

これを解決するには、Visual Studio を完全に再起動する必要がありますが、その後、デバッグ セッションは一度動作して再び停止します。

いつからこのような現象が起こり始めたのか全く分かりませんが、かなり最近のことであることは間違いありません。

アップデイト : Application.dllのハンドルを強制終了したら、VSから以下のエラーが出ました。

エラー1 ファイルをコピーできません objDebug

Application.dll" から "binDebugApplication.dll". 要求された操作はできません。 ユーザー マップされたファイルに対して実行されます。 セクションが開いています。

ユーザーマップセクションとは一体何でしょうか?

アップデイト2 : デバッグ時にデザインビューでフォームを開いていると、この問題が発生するようです。もう少しトラブルシューティングをしてから、結果を投稿するつもりです。

アップデイト3 : UserControlを使ったフォームに絞ったつもりです。

どのように解決するのですか?

正直なところ、VS2010のバグのような気がします。 何らかの理由で、デバッガが停止したときに、開いているハンドルを閉じていないのです。 VSのプロセスを終了させると、自動的にこれらのハンドルが閉じられ、ファイルに再びアクセスできるようになります。 回避策として、以下をご覧ください。 アンロッカー これは無料で、非常によく機能します。 あまり良い答えではないと思いますが、VSを再起動するよりは早いはずです。 バグレポートを送ることも検討したほうがいいかもしれませんね。

64ビットOSではUnlockerは動作しません。 ロックハンター しかし、そうです。