トラブル対処法

ソリューションやプロジェクトのオープン

最後に開いていたファイルが開かれない

ファイルを開いている状態でソリューションを閉じると、通常は再度そのソリューションを開いたときにそれらのファイルが自動で開かれます。そのときファイルが開かれないとしたら、ソリューション オプション ファイル (.suo) が破損しているのが原因かもしれません。このファイルはソリューションのディレクトリの.vsディレクトリ以下にあるため、これを削除してから再度ソリューションを開き直してみます。visual studio not remembering open documents & startup project - Stack Overflow

参照データベースと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="http://schemas.microsoft.com/developer/msbuild/2003" を <Project> 要素に追加してください。プロジェクトが古い 1.0 または 1.2 形式で作成された場合、MSBuild 2003 形式に変換してください。 C:\ProjectName.csproj

Visual Studio 2017以降のプロジェクトを、Visual Studio 2015で開くと発生します。これは指示通り、Project要素にxmlns="http://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

このとき作成されるのは、次のような内容です。

// <autogenerated />
using System;
using System.Reflection;
[assembly: global::System.Runtime.Versioning.TargetFrameworkAttribute(".NETFramework,Version=v4.8.1", FrameworkDisplayName = ".NET Framework 4.8.1")]

ファイルのオープン

ヘッダーの停止はマクロまたは#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を再起動してみます。

プロパティの出力パスが設定されていない

The OutputPath property is not set for project '***.csproj'. Please check to make sure that you have specified a valid combination of Configuration and Platform for this project. Configuration='Debug' Platform='x64'. This error may also appear if some other project is trying to follow a project-to-project reference to this project, this project has been unloaded or is not included in the solution, and the referencing project does not build using the same or an equivalent Configuration or Platform.

デバッグ

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
Microsoft Learnから検索