トップ回答者
Windows10に変えてからデバッグなしで実行が出来なくなった

質問
-
10月ぐらいからWindows10に替えてVisual Studioも2015に替えました。
Visual Studio C#の既存のプロジェクトをデバッグ実行は出来るのでしばらく気づかなかったのですが、ある時
「"xxxxx"を"xxxxx"にコピーできませんでした。10回の再試行回数を超えたため失敗しました。」
と出ます。
ビルドしたexeを直接エクスプローラーから実行してもタスクマネージャーにそのプロセスが残っていませんでした。もしかしたら見るところが間違っていたりしたかもしれませんが。
Visual Studio 2015が原因ではないという理由は2013で.NET Framework2.0でビルドしたexeも動かなかったからです。何か原因わかりますでしょうか?
回答
すべての返信
-
何らかの原因でデバッグ実行がうまく行っておらず、それがexeを掴んだままになっている可能性があります。
とりあえず、vshostのプロセスを終了させてみて下さい。
また、binとobjのフォルダーをクリアしてからの再実行も有効かもしれません。
ちなみにその既存のプロジェクトでUnityは使われていますか? 使われている場合、以下の情報がありました。VS "Could not copy" error
http://forum.unity3d.com/threads/vs-could-not-copy-error.355161/★良い回答には回答済みマークを付けよう! MVP - .NET http://d.hatena.ne.jp/trapemiya/
-
詳しく説明させていただきます
VS2015でWindowsフォームアプリケーションを作って何も手を加えずにデバッグ実行したところです。右のタスクマネージャーに「EXE単体で動かない動作確認.vhost.exe」が表示されています。
ここでフォームを閉じてVS2015を終了させます。プロセスが消えます。
「EXE単体で動かない動作確認.vhost.exe」プロセスは終了しました。ここで「「EXE単体で動かない動作確認.exe」をエクスプローラから起動します。タスクマネージャーにプロセスは表示されません。
「EXE単体で動かない動作確認.exe」はロックされて削除することが出来ません。
このような状況です。
- 編集済み 和和和 2015年12月10日 6:14 よろしくない画像
-
先のコメントはすみませんでした。再起動でもすれば回復すると予想していましたが、再現性のある問題なのですね。
「Systemによってファイルは開かれている」とのことですが、具体的な調査方法を提示しますので、原因を特定しこのスレッドで公開していただけないでしょうか?
openfilesというコマンドを使用します。
- 管理者コマンドプロンプトでopenfiles /local onを実行しグローバルフラグを有効化します。
- Windowsを再起動し、グローバルフラグを反映させます。
- 問題となる操作を行い、ファイルがロックされる状況を再現します。
- 管理者コマンドプロンプトでopenfiles /query(他、適切な引数を)を実行しexeをロックしているプロセスを特定します。
- 最後にopenfiles /local offを実行しグローバルフラグを無効化した上でWindowsを再起動し元の設定に戻します。
パッと見、プロセス一覧にPowerDVDが見えますがその辺りかも??
-
ありがとうございます。
openfilesでテキストに出力してexeファイル名で検索しました。
exeファイル名が長くて全部入りきらなかったので「locktest.exe」に変えました。
しかしそのファイルを掴んでいるプロセスは特定できませんでした。
sakuraで開いたテキストファイルはロックしていて一覧に表示しているのでopenfilesの使い方はあっていると思います。
locktest.exeは単体で起動するとマウスポインタは矢印&砂時計に暫くなることから起動しているが状態が不明というような気がします。
ふと思いついてlocktest.exeをビルドしたソリューションからプロセスをアタッチしてみました。
するとプロセスが見えました。
ソースもあるのでアタッチすれば原因分かるかと思いきやソースが見えない状態です。- 編集済み 和和和 2015年12月1日 16:52