トラブル対処法
ソリューションやプロジェクトのオープン
参照データベースとIntelliSenseファイルに適切な場所が見つかった
ソリューションを開いたときに「参照データベースと IntelliSense ファイルに適切な場所が見つかりました」として、次のようなメッセージが表示されることがあります。
Visual C++ でソリューション "C:\dir\sample.sln" の参照データベースおよび IntelliSense ファイルを格納する適切な場所が見つかりました。
Visual C++ でフォルダー "C:\dir" が検証されました。以下の理由により、このフォルダーは適切ではありません:
このディレクトリ内の参照データベースは Visual Studio の他のインスタンスで開かれているため、再度開くことができません。COMPUTER_NAME のユーザー USER_NAME が開いています。C++ 詳細オプションで 'フォールバック位置' が指定されなかったため、Visual C++ は一時ディレクトリの使用を試みています。
Visual C++ でフォルダー "C:\**\Temp\VC++\sample-**" が検証されました。以下の理由により、このフォルダーは適切です:
ディレクトリがローカル ドライブ上にあります。'フォールバック位置' は C++ 詳細オプションで構成できます。
この場所を使用するには、[OK] をクリックします。
このセッションで C++ 参照情報と IntelliSense を無効にするには、[キャンセル] をクリックします。
このとき理由が「他のインスタンスで開かれているため、再度開くことができません」となっているときには、多重起動したVisual Studioで同一のソリューションを開こうとしているのが原因です。よってそれが意図したものではないならばソリューションを開くのを取り消し、すでに開いているソリューションで作業します。
C++参照データベース ファイルでエラー
C++ 参照データベース ファイル C:\ProjectName.sdf を作成または開くときにエラーが発生しました。C++ プロジェクトでは、IntelliSense と参照情報は利用できません。
試せる修正方法:
他のアプリケーションがファイルにアクセスしていないことを確認します。
Microsoft SQL Server Compact 4.0 がインストールされていることを確認します。この問題が解決しない場合、ファイルを削除してからソリューションを再度開いてください。
多重起動したVisual Studioで同一のプロジェクトを開くと問題のファイルのオープンに失敗し、このエラーが発生します。原因がこれでなければ、問題のファイルにアクセスしているアプリケーションがないか、Process Explorerなどで確認します。
Visual Studio 2015以降ではファイル形式が変更されたため、このエラーは次のように報告されます。
C++ 参照データベース ファイル C:\ProjectName.VC.db を書き込み用に開くことができなかったため、IntelliSense および参照情報は C++ プロジェクトに利用できません。
ソリューション ディレクトリが読み取り専用である場合、他の機能にも影響が及びます。
プロジェクトの既定のXML名前空間は、MSBuildのXML名前空間でなければならない
「プロジェクトの既定の XML 名前空間は MSBuild の XML 名前空間でなければなりません。プロジェクトが MSBuild 2003 形式で作成されている場合、xmlns="//schemas.microsoft.com/developer/msbuild/2003" を <Project> 要素に追加してください。プロジェクトが古い 1.0 または 1.2 形式で作成された場合、MSBuild 2003 形式に変換してください。 C:\ProjectName.csproj」
Visual Studio 2017以降のプロジェクトを、Visual Studio 2015で開くと発生します。これは指示通り、Project要素にxmlns="//schemas.microsoft.com/developer/msbuild/2003"の属性を追加します。
AssemblyAttributesが見つからない
プロジェクトを開いたときに「[失敗] ファイル 'C:\Users\UserName\AppData\Local\Temp\.NETFramework,Version=v*.*.AssemblyAttributes.cs' が見つかりませんでした。」と通知されるときには、そのプロジェクトをリビルドします。Visual Studio 2010 "cannot find" C:\Users\[USERNAME]\AppData\Local\Temp\1\.NETFramework,Version=v4.0.AssemblyAttributes.vb after every reboot - Stack Overflow
ファイルのオープン
ヘッダーの停止はマクロまたは#ifブロックには配置できない
「PCH 警告: ヘッダーの停止はマクロまたは #if ブロックには配置できません。IntelliSense PCH ファイルは生成されませんでした。 (PCH Warning: header stop cannot be in a macro or #if block. An intellisense PCH file was not generated.)」
ファイルの先頭に#pragma onceを記述します。PCH Warning: header stop cannot be in a macro or #if block - Visual C++ 2010 Express SP1 - Stack Overflow
ビュー デザイナーでのクラッシュ
コントロールをビュー デザイナーで表示しようとしたときに、Visual Studioがクラッシュすることがあります。これはそのコントロールか、それに依存するほかのコントロールが読み込まれるときに実行されるコードが原因となることがあります。
問題の解決にはOnLoad()やOnHandleCreated()内のコードを一時的にコメントアウトし、原因を特定したうえで対処します。
ビルド
ファイルにアクセスできない
ビルド時に「プロセスはファイルにアクセスできません。別のプロセスが使用中です。」として失敗するときには、Visual Studioを再起動してみます。
デバッグ
vshost32.exeは動作を停止
デバッグ実行時、「vshost32.exe は動作を停止しました」「問題が発生したため、プログラムが正しく動作しなくなりました。プログラムは閉じられ、解決策がある場合は Windows から通知されます。」として強制終了させられ、デバッグに失敗することがあります。
C#からC++のDLLなどを参照している場合、そこで例外が発生したときにこの問題が発生します。そのような状況ならば、オプションの【デバッグ → 全般】の[ネイティブ互換モードの使用]をチェックすることで解決できます。c# - vshost32.exe has stopped working when I call the ShowDialog method of OpenFileDialog - Stack Overflow
アプリケーションはブレーク モード
デバッガでのブレーク時に「アプリケーションはブレーク モードになっています (The application is in break mode)」「お使いのアプリはブレーク状態になりましたが、すべてのスレッドが外部コード (通常はシステム コードまたはフレームワーク コード) を実行していたため、表示されるコードはありません。」として、詳細を確認できないことがあります。
この場合にはオプションの【デバッグ → 全般】の[マイ コードのみを有効にする]のチェックを外します。
デバッグ操作に時間がかかる
「64 ビット デバッグ操作に予想以上に時間がかかっています。」「サードパーティのネットワーク ソフトウェアとの互換性に問題がある可能性があります。 これらの問題のトラブルシューティングについては、ヘルプを参照してください。」
プログラムが無限ループしているときもこのように通知されるため、プログラムを検証します。
例外が発生
「例外が発生しました。拡張機能が原因である可能性があります。」「詳細な情報を得るには、'C:\Users\UserName\AppData\Roaming\Microsoft\VisualStudio\Version\ActivityLog.xml' ファイルを調べてください。」
指示通りログファイルで確認します。
same ID
「Extension will not be loaded because an extension with the same ID ' *** ' is already loaded at C:\***」
原因不明のエラー
発生原因の切り分けのため、Visual StudioをSafeModeで起動してみます。さらにLogを記録し、動作を検証します。それで問題を確認できないならば、イベントビューアーでエラーを確認します。
Windowsの更新で問題が発生した場合
Windowsの更新などによって問題が発生したならば、devenv.exeに対して互換性のトラブルシューティングを実行することで解決できることがあります。
特定のユーザーだけ問題が発生する場合
別のユーザーでは問題が発生しないならば、設定ファイルを退避させ設定を初期化してみます。
- ファイル … %APPDATA%\Microsoft\VisualStudio
- ファイル … %LOCALAPPDATA%\Microsoft\VisualStudio
- ファイル … %USERPROFILE%\Documents\Visual Studio VERSION
- レジストリ … HKEY_CURRENT_USER\Software\Microsoft\VisualStudio
参考
- エラー メッセージ (Visual Studio) | MSDN
MSDN (Microsoft Developer Network) から検索