プロジェクトをビルドしようとすると、次のエラーが返されます。
エラー1デバッグ情報ファイル 'D:\ Documents\Lance\Documents\School\Capstone\GG\GG\obj\Debug\GG.PDB'-'' GGの作成中に予期しないエラーが発生しました
最近、突然の電源供給の問題(多分)が原因で、PCを再起動するのに不幸になりました。これは、この問題が始まる前の、プロジェクトの構築中です。
PCがオンラインに戻ったとき、突然電源が切られる前にプログラムに加えた変更が保存されていないことに気付きました。そして、それはもうビルドされません。
要求通り、答えとしての私のコメント:
(VSの[ビルド]メニューの下にある)ソリューションをクリーニングしてみてください。
停電によってビルドが途中で中断されたため、ファイルはロックされていません-ビルドシステムはおそらく一貫していない状態です(クリーンソリューションで修正する必要があります)。
これは私のために働きました:
これは私の環境でときどき発生し、問題はおそらくPDBファイルがロックされていることに関係しています(つまり、エラーメッセージの最後の部分が投稿に含まれていないと思います)。これは私のマシンでどのように見えるかです:
Unexpected error creating debug information file 'c:\dir\obj\file.PDB' -- 'c:\dir\obj\file.PDB: The process cannot access the file because it is being used by another process.'
私の場合、解決策をクリーニングしても問題は解決せず、再起動するのはやりすぎです。そのため、通常は(エラーから)pdbファイルの完全な名前をコピーし、コマンドラインでこれを実行します。
ren c:\dir\obj\file.PDB *.old
これは私にとってうまくいきました:Run as Administratorを使用してVisual Studioを閉じてVisual Studioを開き、問題は解決しました。
ファイルを再起動または削除する必要はありません。ファイルの名前を変更するだけで十分です。ファイルを削除しようとすると、エラーが発生します。名前を変更するだけでうまくいくでしょう。 :)
VMを2人のユーザーで使用している場合は、他のユーザーがデバッグ中にすべてのプロセスをアタッチしていないことを確認してください。
(非常に)異なるターゲットに対して同じプロジェクトをコンパイルするときに、この問題に遭遇することがあります。
私の推測では、binおよび/またはobjディレクトリのいずれかがコンパイラによって使用されますが、出力には互換性がありません(もちろん)。 VSからクリーンなソリューションは確かに役立ちます。
多くの場合、出力に別のdll名(mylib.dll、mylib35.dllなど)を指定しますが、これらのプロジェクトで問題が発生することはありません。
\ binフォルダーのすべてのファイルが実行中のプロセス、つまりIIS上のWebサイトまたはビルド後に自動的に実行されるWindowsサービスによって使用される場合があります。そのような場合、サービスをオフにするか、特定のサイトのIISアプリプールを停止することも役立つはずです(私の場合のように)
VSの再起動の短所:
解決策:アセンブリに新しい名前を付けます。短所はありません。ただし、最終的な配置の準備ができたら、アセンブリの名前を元の名前に戻す必要があります。そして、誰でも最後にそれを機能させる方法を見つけることができると思います:)