dsp, dsw, vcproj, vcxproj, slnなど Visual Studioの拡張子

プログラミング
スポンサーリンク

Visual Studio使ってソリューションなりプロジェクトを作っていると様々な拡張子のファイルが自動的に作成されます。

よく分からなくなるので、整理してみました。

スポンサーリンク

Visual Studioの変遷

まず、Visual Studioのバージョンの進化をまとめてみた。

Visual Studio 系列の開発コード名

開発コード名 製品名 内部バージョン
Thunder Visual Basic 1.0
Zamboni Visual C++ 4.1
Escher Visual Basic 1.0 for MS-DOS
Rainier Visual Studio.NET (2002) 7.0
Everett Visual Studio.NET 2003 7.1
Saturn ASP.NET Web Matrix
Cassini Web Server ASP.NET Development Server
Venus Visual Web Developer Express Edition
Whidbey Visual Studio 2005 8.0
Orcas Visual Studio 2008 9.0
Rosario Visual Studio Team System (2008/2010)
Burton Visual Studio 2005 Team System
Hatteras (VSTS 用ソース管理システム)
Ocracoke (VSTS 用ロード テスト)
Currituck (VSTS 用トラッキング)
Bodie (TFS 用 SDK)
Whitehorse (VSTS 用ソフトウェア デザイン設計)
Fidalgo (VS2005 Extensions for WinFX)
Tuscany (オンライン版)
Dev10 (Hawaii) Visual Studio 2010 10.0
Camano Testing Tools for Visual Studio 2010 Team System
Dev11 Visual Studio 2012 11.0
Dev12 Visual Studio 2013 12.0
Torino Visual C++ Compiler November 2013 CTP
Visual Studio "14" Visual Studio 2015 14.0
Visual Studio "15" Visual Studio 2017 15.0

Wikipedia

Microsoft Visual Studio - Wikipedia

からの引用。

 

Visual Studioのdsp dswという拡張子

dswとかdspは、VC++5とか6で使われていた古い形式の拡張子です。

ファイル 拡張子 説明
プロジェクト・ワークスペース・ファイル
Developer Studio Work Space
.DSW Microsoft社のVisual C++のプロジェクトワークスペースファイル。複数のプロジェクト管理も可能。中身はテキストファイル。

プロジェクト・ワークスペースに関する情報が格納されます。

プロジェクト・ファイル
Developer Studio Project
.DSP Visual C++のプロジェクトファイル。

dswファイルと共に管理される。中身はテキスト。

1 つのプロジェクトまたは副プロジェクトをビルドするために使用されます。

ワークスペース・オプション・ファイル .OPT ウィンドウの大きさと場所,挿入点位置,プロジェクト・ブレークポイントの状態,「Watch」ウィンドウの内容など,Visual Fortran の環境設定を含んでいます。

意味合いとしては、DSWの中に複数のDSPを束ねることが可能って感じか。

 

Visual Studio .NET (2002) はVisual C++ 7.0なので、それ以前に使われていたのがDSWとDSPです。

vcprojやvspropsとは? (Visual Studio 2002から2008まで)

その後、Visual Studio .NET (2002)から登場したのが、slnやvcproj というファイルです。

このうち、vcproj vsprops は、Visual Studio 2002から2008まで使われました。

 

sln = プロジェクトファイルを束ねるファイル。それ以前のDSWに相当します。

vcproj = プロジェクトファイル。それ以前のDSPに相当します。

vsprops = 新登場。プロジェクトのプロパティ シートで、XML ベースのファイルです。

vcxprojやpropsとは? Visual Studio 2010で名前変更

さらに、その後、vcprojとvspropsは次のように拡張子の名前が変更されました。

.vcproj から .vcxproj へ変更。

プロジェクトファイルでは .vcproj ファイル名拡張子が使用されなくなりました。

以前のリリースで作成されたプロジェクト ファイルは、Visual Studio により、現在のシステムで使用されている形式に自動的に変換されます。

手動でプロジェクトをアップグレードする方法の詳細については、「/Upgrade」を参照してください。

Visual Studio 2010以降では、プロジェクト ファイルのファイル名拡張子は .vcxproj です。

 

.vsprops から .props へ変更。

以前のリリースでは、プロジェクトのプロパティ シートは .vsprops というファイル名拡張子を持つ XML ベースのファイルでした。

プロジェクトのプロパティ シートを使用すると、コンパイラやリンカーなどのビルド ツールのスイッチを指定し、ユーザー定義のマクロを作成できます。

Visual Studio 2010以降では、プロジェクトのプロパティシートのファイル名拡張子は .props です。

sln,vcxproj, suoとは?Visual Studio 2010以降の拡張子

Visual Studio 2010以降の拡張子は次の通りです。

ファイル名 ディレクトリの場所 ソリューション エクスプローラーでの場所 説明
Solname.sln Projname ソリューション エクスプローラーでは非表示 ソリューション ファイル。 1 つまたは複数のプロジェクトのすべての要素を 1 つのソリューションにまとめます。
Projname.suo Projname ソリューション エクスプローラーでは非表示 ソリューション オプション ファイル。 ソリューションのカスタマイズを格納します。これにより、ソリューション内のプロジェクトまたはファイルを開くたびに、指定した外観や動作が再現されます。
Projname
.vcxproj
Projname ソリューション エクスプローラーでは非表示 プロジェクト ファイル。 各プロジェクトに固有の情報を格納します (以前のバージョンでは、このファイルは Projname.vcproj または Projname.dsp という名前でした)。 Visual C++ プロジェクト ファイルの例については、「プロジェクト ファイル」を参照してください。
Projname.sdf Projname ソリューション エクスプローラーでは非表示 参照データベース ファイル。 定義へ移動すべての参照の検索クラス ビューなど、参照機能とナビゲーション機能をサポートします。 このファイルは、ヘッダー ファイルの解析によって生成されます。
Projname
.
vcxproj
.filters
Projname ソリューション エクスプローラーでは非表示 フィルター ファイル。 ソリューションに追加されたファイルを配置する場所を指定します。 たとえば、.h ファイルは ヘッダー ファイル ノードに配置されます。
Projname
.
vcxproj
.user
Projname ソリューション エクスプローラーでは非表示 移行ユーザー ファイル。 プロジェクトが Visual Studio 2008 から移行された後、このファイルには .vsprops ファイルから変換された情報が格納されます。
Projname.idl Projname ソース (プロジェクトに固有) コントロール タイプ ライブラリのインターフェイス記述言語 (IDL) ソース コードが含まれます。 このファイルは、Visual C++ でタイプ ライブラリを生成するために使用されます。 生成されたライブラリは、他のオートメーション クライアントにコントロールのインターフェイスを公開します。 詳細については、Windows SDK の「インターフェイス定義 (IDL) ファイル」を参照してください。
Readme.txt Projname プロジェクト read me ファイル。 アプリケーション ウィザードによって生成され、プロジェクト内のファイルについて記述します。

vcproj vcxproj違い、自動変換されるか?

まとめると

dsw ⇒ sln

dsp ⇒ vcproj ⇒ vcxproj

という形に変更されたってことか。

 

より新しいVisual Studioで、古い形式のslnやvcprojを開くと、新しいバージョンに自動変換されます。

 

 

 

コメント