MSBuild 予約済みのプロパティ

更新 : 2007 年 11 月

MSBuild では、プロジェクト ファイルに関する情報や MSBuild のバイナリに関する情報を保持する一連の予約済みプロパティが用意されています。これらのプロパティは、他の MSBuild プロパティと同じように評価されます。たとえば、MSBuildProjectFile プロパティを使用するには、次のように入力します。

$(MSBuildProjectFile)

予約済みのプロパティ

次の表を使用して、MSBuild 予約済みプロパティを説明します。

プロパティ

説明

MSBuildProjectDirectory

プロジェクト ファイルがあるディレクトリの絶対パスは、たとえば、C:\MyCompany\MyProduct のようになります。

MSBuildProjectFile

ファイル名の拡張子を含むプロジェクト ファイルの完全なファイル名は、MyApp.proj のようになります。

MSBuildProjectExtension

ピリオドを含むプロジェクト ファイルの名前の拡張子は、.proj のようになります。

MSBuildProjectFullPath

プロジェクト ファイルの絶対パスと完全なファイル名は、C:\MyCompany\MyProduct\MyApp.proj のようになります。

MSBuildProjectName

ファイル名の拡張子のないプロジェクト ファイルの名前は、MyApp のようになります。

MSBuildBinPath

現在使用されている MSBuild バイナリが存在するディレクトリの絶対パスは、C:\Windows\Microsoft.Net\Framework\v2.0 のようになります。MSBuild ディレクトリのファイルを参照する必要がある場合、このプロパティが役立ちます。

MSBuildProjectDefaultTargets

Project 要素の DefaultTargets 属性で指定されるターゲットの完全な一覧。たとえば、次の Project 要素の MSBuildDefaultTargets プロパティの値は A;B;C となります。

<Project DefaultTargets="A;B;C" >

MSBuildExtensionsPath

Program Files ディレクトリの下の MSBuild フォルダ。この場所は、カスタム ターゲット ファイルを格納するために役立ちます。たとえば、ターゲット ファイルを \Program Files\MSBuild\MyFiles\Northwind.targets にインストールし、次の XML でプロジェクト ファイルにインポートできます。

<Import Project="$(MSBuildExtensionsPath)\MyFiles\Northwind.targets"/>

MSBuildStartupDirectory

MSBuild が起動されるディレクトリの絶対パス。

これを使用すると、プロジェクト ツリーの任意の場所に移動して、その下にあるすべての内容をビルドできます。各ディレクトリに "dirs.proj" 形式のファイルを作成する必要はありません。次の例に示すように、c:\traversal.proj という 1 つのプロジェクトだけが作成されます。

<Project …>
    <ItemGroup>
        <ProjectFiles  
           Include="$
           (MSBuildStartupDirectory)
           **\*.csproj"/>
    </ItemGroup>
    <Target Name="build">
        <MSBuild    
        Projects="@(ProjectFiles)"/>
    </Target>
</Project>

次に、ツリー上の任意の場所で次の内容を入力します。

msbuild c:\traversal.proj

参照

概念

MSBuild プロパティ

その他の技術情報

MSBuild リファレンス