C#でプロジェクトがあり、プロジェクトをコンパイルしようとするたびにこのエラーが表示されます。
(ファイル「obj\Debug\Project1.exe」を「bin\Debug\Project1.exe」にコピーできません。別のプロセスで使用されているため、プロセスはファイル「bin\Debug\Project1.exe」にアクセスできません。)
そのため、タスクマネージャーからプロセスを閉じる必要があります。私のプロジェクトは1つの形式にすぎず、マルチスレッドはありません。
解決策は何ですか(VSを再起動したり、プロセスを強制終了したりしません)?
@Udpate:この「答え」を最初に投稿したときから、問題に対する別の説明をする傾向があります。それ以降、問題はVisual Studioの外部でも頻繁に発生しました。1つのフォルダーから別のフォルダーに.exeファイルをコピーしようとしたときです。そもそもWindowsは.exeファイルをコピー(!)することを許可していませんでした(最初に管理者権限を求めていましたが、とにかくコピーすることを拒否しました)。しかし、しばらくして-それ以上のアクションを実行せずに、魔法のように消えました。質問の問題が常にしばらくしてから解決するようです。そのため、問題はプロジェクト出力ファイルの削除の遅延に関連しており、バグの少ないVSに関連していると思います。不当な疑惑をおIびします。 :|
これにより、ソリューションの検索にまったく異なる方向が与えられると思います。そのリンクを見つけて、進行状況を更新します:
https://superuser.com/questions/234569/windows-7-delayed-file-delete
================================================== =======================
これはVSの既知のバグです。私はそれを非常に頻繁に発見しました-主にVS2010で(SP1の有無にかかわらず)。いくつかの「解決策」が推奨されます。それらのいくつかは、私にとって助けになりました:
これらのどれもバグを実際に修正しません。しかし、VSを使用可能な状態に戻す場合があります-MSによって真のソリューションが提供されるまで(可能な場合)。
http://social.msdn.Microsoft.com/Forums/en/vsdebug/thread/cea5e4b2-5b33-453c-bffb-8da9f1a1fa4a
http://social.msdn.Microsoft.com/Forums/en/vbide/thread/cd12f3c7-de96-4353-adce-23975e30933f
このバグはVS 2012 Update 2にも存在することを確認できます。
私の回避策は次のとおりです。
これが関連するかどうかはわかりませんが、私のプロジェクトは他のプロジェクトのクラスファイルで「リンク」を使用します。これはSilverlight 5プロジェクトであり、.NETおよびSL互換のクラスを共有する唯一の方法はファイル。
考慮すべきこと...単一のソリューションでプロジェクト間でリンクされたファイルを探します。
プロジェクトのプロパティに移動します。ビルドイベントの内部で、ビルド前のイベントコマンドラインの下に、次の2行のコードを追加します。
if exist "$(TargetPath).locked" del "$(TargetPath).locked"
if exist "$(TargetPath)" if not exist "$(TargetPath).locked" move "$(TargetPath)" "$(TargetPath).locked"
Objディレクトリを見て、.exeが表示されない場合、Avast!または他のウイルス対策ソフトウェアが削除しています。実際に.exeが表示されてから消えます。 Avast!をオフにすると、問題は解決しました。
VS2010は「ファイル "obj\x86\Debug\[file] .exe"が見つからなかったためコピーできませんでした。」
本当の問題は、発生しているエラーではありません。それは、アプリケーションがそれ自体をクリーンアップしていないということです。
リソースを解放するのではなく、参照を保持している、またはプロセスが終了するように指示されたときにプロセスが終了しない原因となっています。その問題を修正すると、この問題は自動的に解決します。あなたがコードを投稿しない限り、私たちはそれで本当にあなたを助けることはできません(そしてこの時点で、あなたがそれで助けが必要なら、あなたは新しい質問を始めるべきです)。
これは、[yourProjectName].exe
プロセスは、デバッグの終了後も閉じていません。
この問題には2つの解決策があります。
アプリケーションを変更するたびに、タスクマネージャ->プロセス-> [yourProjectName] .exeに移動して、このプロセスを終了します。システムに変更を加えるたびに、このプロセスを終了する必要があります。
アプリケーションに終了ボタンを追加してウィンドウを終了し、クリックイベントにこれらの行を追加します
System.Diagnostics.Process.GetCurrentProcess().Kill();
Application.Exit();
Windowsエクスプローラーに移動して、bin/debugフォルダーとobj/debugフォルダーを削除する必要がありました。その後、プロジェクトをクリーンアップして再構築しました。
これはVS 2010とWin 7で私に起こりました。
私が試したもの:
ウイルス対策を停止し、タスクマネージャーとProcessExplorerを使用してとんでもない実行中のプログラムを確認する
管理者としてVSを実行する
すべての方法がまだ機能しない場合
次に、試す最後の方法:
Visual Studios 2012で同様のエラーが発生した後、どこからともなく。プロジェクトのルートフォルダーに移動して右クリックすると、読み取り専用のチェックがオフになり、このエラーがなくなりました。明らかに、TFSはフォルダを読み取り専用にすることがあります。うまくいけば、これが同様の問題を抱えている人を助けるでしょう。ありがとう
私はそれがうまくいくと思う:)
この問題を解決するには、アセンブリの名前を別の名前に変更します。
ソリューションをリビルドする前に、プロジェクトをクリア、IISを停止し、"bin"フォルダープロパティを開きます。読み取り専用属性一般タブで再構築します。
あなたの答えを読んだ後、Task Manager
に行き、app.exe
を検索しました。
それを見つけて選択し、END TASK
.my問題を解決しました。
すべてのmsbuild.exeタスクを(タスクマネージャーで)終了すると、VS2012の問題が修正されることがわかりました。
他の提案がうまくいかない場合は、このURLで提案されている解決策が役に立ちました: http://weblogs.asp.net/fmarguerie/archive/2009/01/29/life-changer-xaml-tip-for -visual-studio.aspx
この質問はこの問題にも関連しています: VS2012-Xamlファイルを開くとXDesProcがハングします
何らかの理由でXAMLファイルを開いてからビルドすると、メインアセンブリのdllファイルを使用しているときにXDesProcプロセスがメモリに残っていました
まあ私は同じ問題を抱えている、それを修正する私の方法は、Windowsで「アプリケーションエクスペリエンス」サービスを停止して無効にすることでした。
Visual StudioをAdministrator
として実行します
これを解決するには、DLLが削除できなかった)のハンドルを持っていたXDesProc
を削除しました。
Visual Studio 2019が突然停止して再起動し、プロジェクトを実行するとこのエラーが発生します。
プロジェクトフォルダーに移動し、binフォルダーとobjフォルダーを削除することでこの問題を解決してから、プロジェクトを削除して再構築します。これで問題が解決します。
最近、VS 2012 Update 2のWinPhone 8プロジェクトでこれを経験しました。
不可解なことに、原因はTupleタイプを使用していた。タプルを使用したコードを削除すると、問題はなくなりました。返された問題を元に戻すコードを追加します。
私にとってはアンチウイルスでした。 Visual Studioプロジェクトまたは親フォルダー全体をAntivirusの除外リストに追加するか、ファイル拡張子を除外として追加することもできます。この方法はVisual Studio 2010/2012で使用できます。
解決策1:
Solution2:
ビルド前イベントに次のコードを追加します。
attrib -r $(OutDir)*..\* /s
このコマンドラインコードは、「bin」フォルダーのready-only属性を削除します。 Visual Studioで新しいDLLを簡単に削除およびコピーできるようになりました。
私は長年からこれに苦労しました。最終的にLockHunterをダウンロードして、ファイルをロックしたユーザーを見つけました。私の場合、MBAMでした。プロジェクトのディレクトリをMBAMの除外リストに追加すると、この問題は発生しなくなりました。
私が解決したのは:
あなたの質問に対する直接的な答えではありません。
これを実現できるシナリオの1つを以下に示します-
アプリケーションがデバッグ処理中の場合-たとえば、「プロセスにアタッチ」デバッグすると、このエラーが発生する場合があります
このソリューションは私のために機能します:ビルド->構成マネージャー->アクティブなソリューションプラットフォーム-> x64を選択し(新規作成が必要な場合があります)、プラットフォームをx64に設定して閉じます
プロジェクトをビルドするとエラーが表示され、avastアンチウイルスは悪意のある試みとしてそれを表示し、プロジェクトは実行されません。作成され、プロジェクトが正常に実行されました。
または、これを試すことができます
検索とビルドとリビルドで一日を過ごした後、ビジュアルスタジオをオフにするだけで、異なるスレッドでサービスをキャッチするように見えることがわかりました
非常に簡単な解決策は、タスクマネージャー(CTRL + ALT + DELETE)を開き、[プロセス]タブに移動して、実行中のプロジェクト名でプロセスを名前で検索することです。すべてのプロセスを終了して続行します! :)
このエラーが発生した場合、次のように進めることができます
msbuild.exe
タスクを終了しますExplorer.exe
タスクを終了しますExplorer.exe
タスクを再度実行します