プロジェクト

ファイル形式

C++

Visual Studio 2010からプロジェクト ファイルの形式が変更となり、その拡張子も

  • .vcproj … Visual Studio 2008以前
  • .vcxproj … Visual Studio 2010以降

と変更されています。

構成ファイル

ファイル名 説明
Solname.sln ソリューションのファイル。すべてのプロジェクトの要素を、1つのソリューションとしてまとめる。
Projname.suo ソリューションのオプションのファイル。It stores your customizations for the solution so that every time you open a project or file in the solution, it has the appearance and behavior you want.
Projname.vcxproj プロジェクトのファイル。It stores information specific to each project. (In earlier versions, this file was named Projname.vcproj or Projname.dsp.) For an example of a Visual C++ project file, see Project Files.
Projname.vcxitems プロジェクトの共有項目のファイル。This project isn't built. Instead, the project can be referenced by another C++ project, and its files will become part of the referencing project's build process. This can be used to share common code with cross-platform C++ projects.
Projname.sdf 閲覧データベース ファイル。It supports browsing and navigation features such as Goto Definition, Find All References, and Class View. It is generated by parsing the header files.

[SQL Server desktop database file]

Projname.VC.db .sdfの代替。Visual Studio 2015 Update 2以降から適用 New, Improved, and Faster Database Engine | Visual C++ Team Blog What is the *.VC.db file in Visual Studio projects? - Stack Overflow
.ncb .sdfの前身。Visual Studio 2010より前

[no compile browse]

Projname.vcxproj.filters フィルター ファイル。It specifies where to put a file that is added to the solution. For example, a .h file is put in the Header Files node.
Projname.vcxproj.user 移動ユーザーファイル。After a project is migrated from Visual Studio 2008, this file contains information that was converted from any .vsprops file.
Projname.idl (プロジェクト固有) コントロール タイプ ライブラリーのインターフェイス記述言語 (Interface Description Language : IDL) のソースコードを含む。This file is used by Visual C++ to generate a type library. The generated library exposes the interface of the control to other Automation clients. For more information, see Interface Definition (IDL) File in the Windows SDK.
プロジェクト ファイルとソリューション ファイル | MSDN
ipch

インテリセンスのためのデータベースで、ソリューション フォルダにipchの名前でフォルダが作成され、その中にProjectName-ID\ProjectName-ID.ipchのように配置されます。Troubleshooting Tips for IntelliSense Slowness | Visual C++ Team Blog

この保存場所はVisual Studioのオプションの【テキスト エディター → C/C++ → 詳細設定】にある[常にフォールバック位置を使用]をTrueとして、[フォールバック位置]にパスを指定することで変更できます。フォールバック位置を明示しない場合は、%TEMP%以下に保存されます。[オプション]、[テキスト エディター]、[C/C++]、[詳細] - Visual Studio | Microsoft Docs

保存場所の変更はソリューションを開き直した後に適用され、.ipchファイルは対象となるファイルを開いたときに作成されます。

C#

MSBuild プロジェクト ファイル

参照 (References)

参照の追加

.NETのアセンブリは、[アセンブリ]タブから追加できます。どのアセンブリを追加すべきかは、.NET Framework クラス ライブラリで目的のクラスを探し、そこに記載されている[アセンブリ]の項目で確認できます。たとえばString クラス (System)に必要なアセンブリは、mscorlibです。

追加した参照に警告アイコンが表示され、ビルド時に「warning MSB3274: プライマリ参照 "***.dll" は、".NETFramework,Version=v*.*" フレームワークに対して作成されているため、解決できませんでした。これは現在ターゲットされているフレームワーク ".NETFramework,Version=v*.*" よりも新しいバージョンです。」としてエラーとなるときには、アセンブリが対象としているフレームワークのバージョンと、プロジェクトのそれを確認します。

ローカル コピー (Copy Local) / ローカルにコピー

ソリューション エクスプローラーで参照しているプロジェクトのプロパティを表示し、[ローカル コピー]を[True]とすることで、ビルド時にそのアセンブリがプロジェクトの出力パスにコピーされるようになります。方法 : 参照の [ローカル コピー] プロパティを設定する | MSDN

コンピューターに *** がないため、プログラムを開始できません。」としてプログラムの実行に失敗するときには、その***がプロジェクトの出力パスにコピーされているか確認します。

この方法でコピーされないならば、ビルド イベントでcopyコマンドを利用します。

プロパティ

C++でディレクトリの指定などに使用できるマクロは、プロパティ シートのユーザー マクロで設定できます。

MSDN (Microsoft Developer Network) から検索