共用方式為


MSBuild 保留屬性

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 項目可能具有值為 A;B;C 的 MSBuildDefaultTargets 屬性。

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

MSBuildExtensionsPath

\Program Files\ 或 \Program Files (x86) 資料夾下的 MSBuild 子資料夾。 此路徑永遠都會指向與您目前正在執行的視窗具有相同 Bitness 的 Program Files。 例如,對於 64 位元機器上的 32 位元視窗,路徑會是 Program Files (x86) 資料夾。 對於 64 位元機器上的 64 位元視窗,此路徑是 Program Files 資料夾。 請參閱 MSBuildExtensionsPath32MSBuildExtensionsPath64

此位置可以用來放置自訂目標檔。 例如,可以將目標檔安裝於 \Program Files\MSBuild\MyFiles\Northwind.targets,然後使用下列 XML 匯入專案檔中。

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

附註:您可以將環境變數 MSBUILDLEGACYEXTENSIONSPATH 設定為非 Null 值,以啟用 MSBuildExtensionsPath 在舊版中的行為。

MSBuildExtensionsPath32

\Program Files\ 或 \Program Files (x86) 資料夾下的 MSBuild 子資料夾。 此路徑永遠都會指向 32 位元 Program Files 資料夾。 例如,在 32 位元機器上,此路徑是 Program Files 資料夾。 對於 64 位元機器,此路徑是 Program Files (x86) 資料夾。 請參閱 MSBuildExtensionsPathMSBuildExtensionsPath64

MSBuildExtensionsPath64

\Program Files\ 目錄下的 MSBuild 子資料夾。 此路徑永遠都會指向 64 位元 Program Files 資料夾。 在 64 位元機器上。 對於 32 位元機器,此路徑是空白的。 請參閱 MSBuildExtensionsPathMSBuildExtensionsPath32

MSBuildStartupDirectory

叫用 MSBuild 所在資料夾的絕對路徑。

這樣讓您能夠移至專案樹狀結構的任何位置,並可建置該位置以下的所有項目,而不需要在每個目錄中建立 "dirs.proj" 類型的檔案。 您卻只有一個專案,如這個範例中的 c:\traversal.proj:

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

若要在樹狀結構中的任何點組建,您可以輸入:

msbuild c:\traversal.proj

請參閱

概念

MSBuild 屬性

其他資源

MSBuild 參考