2013-01-16 10 views
5

私はソースツリーを調べ、.vcprojと.csprojプロジェクト(VS2005)を探しているツールを書いています。各プロジェクトがアプリケーション、DLLまたは静的なlibプロジェクトであるかどうかを知りたい。Visual Studioのプロジェクトファイルがアプリケーション、DLLまたは静的ライブラリプロジェクトを表すかどうかを確認するにはどうすればよいですか?

C#の場合、この質問には答えがあると思いますが(How do you tell the Visual Studio project type from an existing Visual Studio project)、C++プロジェクトで明白な並列性を見つけることはできません。可能であれば、テキスト内の単純な検索用語として使用できるものを好む。

+0

2012年には 'PropertyType'に' Application 'があり、' Label = "Configuration" 'となっています。選択したプロジェクト構成に応じて変更される可能性があるため、適切なものを選択する必要があります。 –

+2

私は彼らが2010年にC++用にかなり変わったと確信しています –

+0

どのようなソリューションを利用するかを二重にチェックするには、プロジェクトを右クリックして 'Properties'->' Configuration Properties'- > 'General'->' Configuration Type'( "Project Defaults"の下) – bunkerdive

答えて

5

.vcprojファイルの "ConfigurationType"属性を解析する必要があります。 <VisualStudioProject><Configurations><Configuration>要素の属性。 DLLプロジェクトの場合は「2」、静的ライブラリプロジェクトの場合は「4」です。これは非常に珍しいことですが、さまざまな設定でこの属性に異なる値を設定できることに注意してください。

一般的に、.vcprojファイルのコピーを作成し、Project +プロパティページを変更し、File + SaveAllを使用して2つの.vcprojファイルを比較して、変更内容を比較します。

Visual Studioの古いバージョンに多大な労力を費やすことに少し気を付けてください。ソフトウェアエンジニアリングでは、特にC++ 11標準がリリースされてからは、8年が非常に長い時間です。 C++プロジェクトファイル形式はVS2010(現在は.vcxprojファイル)で劇的に変更されました。このファイルは、MSBuildを使用してビルドをサポートすることで、VSの残りの言語に加わりました。あなたはいつかあなたのVSバージョンをアップグレードするときにこれをやり直す必要があります。あなたがあなたのツールに頼るようになったときに後でそれをやるほうが簡単になることはないので、今はそれをやり直してください。

+0

更新は外的要因によって行われるため、ここでは一日の移動時にテストの_long_リストに "この小さなユーティリティを更新する" 2010年以降まで: –

+0

ConfigurationType = "1"は、アプリケーションまたはexeプロジェクト用です。 – Nathan

関連する問題