質問

ローカルで正常に動作するユニットテストがありますが、TeamCityビルドサーバーにアップロードすると、「プロセスは別のプロセスで使用されているためファイルにアクセスできません」で失敗します。

  1. テストで何かをする前に ファイルがあればセットアップをチェックインします 存在する場合は削除してください。 これは同じエラーで失敗します 上記のメッセージ
  2. を書くとき ファイル、ライターを閉じます 廃棄すべきだと思う リソースを取り除きます。

だから私はいくつかのクエリを持っています

  1. 同様の問題を抱えている人がいますか?
  2. どのようにプログラムを見つけることができます プロセスが勝手にロックしました ファイル!!!

乾杯

役に立ちましたか?

解決

Sysinternals FileMon には、方法に関するいくつかの情報(スクロールダウン)があります。古いバージョンのWindowsでこれを達成しました。

プロセスモニターは最新バージョンですが、そうではありませんt方法について多くの手がかりを与えます。ただし、そこにリンクされているナレッジベースの記事がいくつかあり、この情報につながるはずです。

-アダム

他のヒント

Sysinternals handle.exe が最初のステップです。または、 Process Explorer Find Handle or DLL を使用します。ただし、ハンドルを閉じるよりもプロセスを強制終了する方が常に安全です。

プログラム的には、Windowsハンドルテーブルを読み取るカーネルドライバーを作成するだけです。

ProcessMon (検出用)および Unlocker (少なくともロック解除用)も便利です。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top