Aracılığıyla paylaş


MSBuild özellikleri

Yapılar yapılandırmak için kullanılan ad-değer çiftleri özelliklerdir. Özellikler, geçirme değerlerini görevleri koşullarını değerlendiriyor ve proje dosyası içinde başvurulan değerleri depolamak için yararlıdır.

Tanýmlamak ve baþvurmak proje dosyasındaki özellikleri

Özellikler, özellik adını alt öğesi olarak sahip bir öğe oluşturarak bildirilir bir PropertyGroup öğesi. Örneğin, aşağıdaki xml adında bir özellik oluşturur BuildDir değeri olan Build.

<PropertyGroup>
    <BuildDir>Build</BuildDir>
</PropertyGroup>

Proje dosyasının tamamında, özellikleri $ biçiminde bir sözdizimi kullanılarak başvurulur (PropertyName). Örneğin, önceki örnekte özelliği $(BuildDir) kullanılarak başvurulur.

Özellik değerleri özelliği tanımlayarak değiştirebilirsiniz. BuildDir Özelliği verilebilir yeni bir değer bu xml kullanarak:

<PropertyGroup>
    <BuildDir>Alternate</BuildDir>
</PropertyGroup>

Özellikler, proje dosyasında göründükleri sırayla değerlendirilir. Yeni değer için BuildDir eski değeri atandıktan sonra bildirilmelidir.

Ayrılmış özellikleri

MSBuildProje dosyası hakkındaki bilgileri saklamak için bazı özellik adları rezerve eder ve MSBuild ikili dosyaları. Bu özelliklerin herhangi bir özellik gibi $ gösterim kullanılarak başvurulur. Örneğin, $(MSBuildProjectFile) proje dosyasının dosya adı uzantısı da dahil olmak üzere tam dosya adını döndürür.

Daha fazla bilgi için, bkz. Nasıl yapılır: adını veya proje dosyasının konumunu başvuru ve MSBuild özelliklerini ayrılmış.

Ortam Özellikleri

Proje dosyalarını ortam değişkenleri yalnızca ayrılmış özellikleri referans olarak başvurabilirsiniz. Örneğin, kullanmak için PATH ortam değişkeni proje dosyanızda, kullanım $(yol). Proje özelliğinde proje ortam özelliği ile aynı ada sahip bir özellik tanımı varsa, ortam değişkeninin değerini geçersiz kılar.

MSBuild project her bir yalıtılmış ortamda bloğu vardır: yalnızca okuma görür ve kendi blok yazar. Proje dosyası değerlendirilen veya yerleşik önce özellik koleksiyonu başlatır MSBuild yalnızca ortam değişkenlerini okur. Daha sonra ortam özellikleri statik, yani, üretilen her aracın aynı adları ve değerleri ile başlatır.

Üretilen aracın içindeki ortam değişkenlerinin geçerli değerini almak için Özellik işlevleri System.Environment.GetEnvironmentVariable. Tercih edilen yöntem, ancak görev parametresini kullanmaktır EnvironmentVariables. Bu dize dizisinde ortam özellikleri sistem ortamı değişkenlerini etkilemeden kapatmasına aracı geçirilebilir.

İpucu

Tüm ortam değişkenleri, başlangıç özellikleri haline gelmesi için okunur.Herhangi bir ortam değişkeni adı olan bir geçerli MSBuild özellik adlarını değil, "386" gibi göz ardı edilir.

Daha fazla bilgi için bkz. Nasıl yapılır: bir yapý ortam değişkenlerini kullanma.

Kayıt defteri özellikleri

Aşağıdaki sözdizimini kullanarak sistem kayıt defteri değerlerini okuyabilir nerede Hive kayıt defteri kovanının (örneğin, HKEY_LOCAL_MACHINE) olan Key anahtar adı SubKey alt anahtar adı ve Value alt anahtarının değeri.

$(registry:Hive\MyKey\MySubKey@Value)

Varsayılan alt anahtar değeri almak için atlamak Value.

$(registry:Hive\MyKey\MySubKey)

Bu kayıt defteri değeri oluşturma özelliği'ni başlatmak için kullanılır. Örneğin, Visual Studio web tarayıcınızın giriş sayfası temsil eden bir yapı özelliği oluşturmak için şu kodu kullanın:

<PropertyGroup>
  <VisualStudioWebBrowserHomePage>
    $(registry:HKEY_CURRENT_USER\Software\Microsoft\VisualStudio\11.0\WebBrowser@HomePage)
  </VisualStudioWebBrowserHomePage>
<PropertyGroup>

Genel Özellikler

MSBuildkullanarak komut satırında özellikleri ayarlamanızı sağlar /property (veya /p) geçin. Bu genel özellik değerleri proje dosyasında ayarlanmış özellik değerlerini geçersiz kılar. Bu ortam özellikleri içerir, ancak değiştirilemez ayrılmış özellikleri içermez.

Aşağıdaki örnek genel ayarlar Configuration özelliğini DEBUG.

msbuild.exe MyProj.proj /p:Configuration=DEBUG

Genel özelliklerini de ayarlanabilir veya kullanarak alt projeleri çoklu yapıda değişiklik Properties MSBuild görevi özniteliğidir. Daha fazla bilgi için bkz. MSBuild görevi.

Kullanarak bir özellik belirtirseniz, TreatAsLocalProperty genel özellik değerini geçersiz kılan proje dosyasında ayarlanan özellik değeri olmayan bir proje etiketinde öznitelik. Daha fazla bilgi için, bkz. Proje öğesini (MSBuild) ve Nasıl yapılır: farklı seçeneklerle aynı kaynak dosyalarını oluştur.

Özellik işlevleri

.NET Framework sürüm 4, MSBuild komut dosyalarınızı değerlendirmek için özellik işlevleri kullanabilirsiniz. Sistem saatini okumak, dizeleri karşılaştırmak, normal ifadeler eşleştirmek ve MSBuild görevleri kullanmadan komut dosyanız yapı içinde birçok başka eylemler gerçekleştirmek.

Birçok sistem sınıflarının statik yöntemleri çağırabilir ve herhangi bir özellik değeri üzerinde çalışmak için dize (örnek) yöntemlerini kullanabilirsiniz. Örneğin, bir derleme özelliği bugünün tarihi aşağıdaki gibi ayarlayabilirsiniz.

<Today>$([System.DateTime]::Now.ToString("yyyy.MM.dd"))</Today>

Daha fazla bilgi ve özellik işlevlerin listesi için bkz: Özellik işlevleri.

Çalıştırma sırasında özellik oluşturma

Özellikler konumlandırılmış dışında Target öğelerin bir yapı değerlendirme aşamasında değerler atanır. Sonraki yürütme aşamasında özellikleri oluşturulan veya değiştirilen aşağıdaki gibi:

  • Bir özellik herhangi bir görev tarafından yayılan. Bir özellik göstermek için görev alt öğesi olması gerekir Çıkış öğesinin sahip bir PropertyName özniteliği.

  • Bir özellik tarafından yayılan CreateProperty görev. Bu kullanımı önerilmiyor.

  • .net Framework 3.5, Başlangıç Target öğeleri içerebilir PropertyGroup özellik bildirimleri içeren öğeler.

xml depolama özellikleri

Görevler değerlerini geçirerek veya oturum açma bilgilerini görüntüleme yardımcı rasgele xml özellikleri içerebilir. Aşağıdaki örnekte gösterildiği ConfigTemplate , xml ve diğer özellik içeren bir değeri olan özellik başvuruları. MSBuildÖzellik başvurular ilgili özellik değerlerini kullanarak değiştirir. Özellik değerlerini göründükleri sırayla atanır. Bu nedenle, bu örnekte, $(MySupportedVersion), $(MyRequiredVersion), ve $(MySafeMode) zaten tanımlanmış.

<PropertyGroup>
    <ConfigTemplate>
        <Configuration>
            <Startup>
                <SupportedRuntime
                    ImageVersion="$(MySupportedVersion)"
                    Version="$(MySupportedVersion)"/>
                <RequiredRuntime
                    ImageVersion="$(MyRequiredVersion)
                    Version="$(MyRequiredVersion)"
                    SafeMode="$(MySafeMode)"/>
            </Startup>
        </Configuration>
    </ConfigTemplate>
</PropertyGroup>

Ayrıca bkz.

Görevler

Nasıl yapılır: bir yapý ortam değişkenlerini kullanma

Nasıl yapılır: adını veya proje dosyasının konumunu başvuru

Nasıl yapılır: farklı seçeneklerle aynı kaynak dosyalarını oluştur

Başvuru

MSBuild özelliklerini ayrılmış

Özellik öğesi (MSBuild)

Diğer Kaynaklar

MSBuild kavramları

MSBuild