Proje dosyasının adına veya konumuna başvurma
Kendi özelliğinizi oluşturmak zorunda kalmadan proje dosyasının kendi içinde projenin adını veya konumunu kullanabilirsiniz. MSBuild, proje dosya adına ve projeyle ilgili diğer özelliklere başvuran ayrılmış özellikler sağlar. Ayrılmış özellikler hakkında daha fazla bilgi için bkz . MSBuild ayrılmış ve iyi bilinen özellikler.
Proje özelliklerini kullanma
MSBuild, proje dosyalarınızda her seferinde tanımlamadan kullanabileceğiniz bazı ayrılmış özellikler sağlar. Örneğin, ayrılmış özellik MSBuildProjectName
proje dosya adına bir başvuru sağlar. Ayrılmış özellik MSBuildProjectDirectory
, proje dosyası konumuna bir başvuru sağlar.
Proje özelliklerini kullanmak için
Herhangi bir özellikte olduğu gibi proje dosyasındaki özelliğine $() gösterimiyle başvurun. Örneğin:
<CSC Sources = "@(CSFile)" OutputAssembly = "$(MSBuildProjectName).exe"/> </CSC>
Ayrılmış özellik kullanmanın bir avantajı, proje dosya adında yapılan tüm değişikliklerin otomatik olarak birleştirilmiş olmasıdır. Projeyi bir sonraki derlemenizde, çıkış dosyası sizin için başka bir işlem gerekmeyecek şekilde yeni ada sahip olur.
Dosya veya proje başvurularında özel karakterlerin kullanımı hakkında daha fazla bilgi için bkz . MSBuild özel karakterleri.
Dekont
Ayrılmış özellikler proje dosyasında yeniden tanımlanamaz.
Örnek 1
Aşağıdaki örnek proje dosyası, çıktının adını belirtmek için proje adına ayrılmış özellik olarak başvurur.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
DefaultTargets = "Compile">
<!-- Specify the inputs -->
<ItemGroup>
<CSFile Include = "consolehwcs1.cs"/>
</ItemGroup>
<Target Name = "Compile">
<!-- Run the Visual C# compilation using
input files of type CSFile -->
<CSC Sources = "@(CSFile)"
OutputAssembly = "$(MSBuildProjectName).exe" >
<!-- Set the OutputAssembly attribute of the CSC task
to the name of the project -->
<Output
TaskParameter = "OutputAssembly"
ItemName = "EXEFile" />
</CSC>
<!-- Log the file name of the output file -->
<Message Text="The output file is @(EXEFile)"/>
</Target>
</Project>
Örnek 2
Aşağıdaki örnek proje dosyası, ayrılmış özelliğini kullanarak MSBuildProjectDirectory
proje dosyası konumundaki bir dosyanın tam yolunu oluşturur.
<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<!-- Build the path to a file in the root of the project -->
<PropertyGroup>
<NewFilePath>$([System.IO.Path]::Combine($(MSBuildProjectDirectory), `BuildInfo.txt`))</NewFilePath>
</PropertyGroup>
</Project>
Örnek, statik .NET Framework yöntemini System.IO.Path.Combineçağırmak için Özellik işlevinin söz dizimini kullanır.