Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
MSBuild, proje dosya adına ve projeyle ilgili diğer özelliklere referans veren ayrılmış özellikler sağlar. Kendi özelliğinizi oluşturmak zorunda kalmadan proje dosyasının kendi içinde projenin adını veya konumunu kullanabilirsiniz. Ayrılmış özellikler hakkında daha fazla bilgi için bkz MSBuild ayrılmış ve iyi bilinen özellikler.
Önkoşullar
Visual Studio projesi, MSBuild ile derlenir.
Ayrılmış 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 dosyası adına bir referans sağlar. Rezerve edilmiş proje özelliği MSBuildProjectDirectory, proje dosyası konumuna bir referans sağlar.
Ayrılmış özelliği 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 derlediğinizde, çıkış dosyası ve özelliği kullanan diğer dosya adları otomatik olarak yeni isme güncellenir.
Proje özelliklerini kullanmak için, herhangi bir özelliğe yaptığınız gibi, proje dosyasındaki özelliğine $() gösterimiyle başvurun. Örneğin:
<CSC Sources = "@(CSFile)"
OutputAssembly = "$(MSBuildProjectName).exe"/>
</CSC>
Dosya veya proje başvurularında özel karakterler kullanma hakkında bilgi için bkz. MSBuild özel karakterleri.
Uyarı
Proje dosyasında ayrılmış özellikleri yeniden tanımlayamazsınız.
Çıkış dosyası adını belirtmek için MSBuildProjectName kullanın
Aşağıdaki örnek proje dosyası, çıktının adını belirtmek için proje adına önceden belirlenmiş özellik olarak başvurur.
<Project 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>
Bir dosyanın tam yolunu oluşturmak için MSBuildProjectDirectory kullanma
Aşağıdaki örnek proje dosyası, ayrılmış özelliğini kullanarak MSBuildProjectDirectory proje dosyası konumundaki bir dosyanın tam yolunu oluşturur. Örnek, statik .NET Framework yöntemini çağırmak için System.IO.Path.Combine kullanır.
<Project>
<!-- Build the path to a file in the root of the project -->
<PropertyGroup>
<NewFilePath>$([System.IO.Path]::Combine($(MSBuildProjectDirectory), `BuildInfo.txt`))</NewFilePath>
</PropertyGroup>
</Project>