Aracılığıyla paylaş


Proje Özellikleriyle Çalışma

IDE'de, tüm derleyici seçenekleri, bağlayıcı seçenekleri, hata ayıklayıcı ayarları ve özel yapı adımları özellikler olarak gösterilir.Bir projenin özelliklerini görüntülemek ve değiştirmek için projenin özellik sayfalarını kullanırsınız.Proje özelliklerini herhangi bir yapı yapılandırması (Hata Ayıklama veya Sürüm) ve hedef platform (Win32, x 64 veya ARM) birleşimine bağımsız olarak uygulayabilirsiniz.Bir projedeki tek tek dosyalar için özellikleri de ayarlayabilirsiniz.

Kullanıcı başına ve bilgisayar başına esasına göre "genel" özellikleri ayarlayabilseniz de, artık bunu yapmanızı önermiyoruz.Bunun yerine, yeniden kullanabilmek veya diğer kişilerle paylaşabilmek istediğiniz her bir proje türünün ayarlarını depolamak üzere bir özellik sayfası oluşturmak için Özellik Yöneticisi'ni kullanmanızı öneririz.Özellik sayfaları, diğer proje türleri için özellik ayarlarının yanlışlıkla değiştirilmesi olasılığını da azaltır.Özellik sayfaları bu makalenin sonraki bölümlerinde daha ayrıntılı olarak ele alınmaktadır.

Özellik Yöneticisi'ni görüntülemek için menü çubuğunda Görünüm, Diğer Pencereler, Özellik Yöneticisi'ni seçin.

Visual C++ proje sistemi MSBuild'i temel alır.XML proje dosyalarını ve özellik sayfalarını doğrudan komut satırında düzenleyebilmenize karşın, özellikle devralmada rol oynayan özellikleri değiştirirken IDE'yi kullanmanızı öneririz.MSBuild'de geçerli olan el ile düzenlenmiş bir dosya Visual C++ proje sistemi tarafından okunabilir olmak zorunda değildir ve yapı işleminize ince hatalar sokabilirsiniz.

Proje dosyası, .vcxproj dosya adı uzantısına sahip bir XML dosyasıdır.IDE'de ayarladığınız tüm özellikler doğrudan proje dosyasına veya yapı zamanında içeri aktarılan özellik sayfalarına yazılır.

Bir Visual C++ projesinin özellik sayfaları aşağıdaki resimde gösterilmektedir.Sol bölmede VC++ Dizinlerikuralının seçili olduğuna ve sağ bölmede de bu kuralla ilişkili özelliklerin gösterildiğine dikkat edin. ($(...) değerleri, bu makalenin sonraki bölümlerinde ele alınan makrolardır.) VC ++ Dizinleri bir yapılandırma özelliğidir ve farklı yapılandırmalar için farklı değerleri olabilir (örneğin, Hata Ayıklama ve Sürüm).Özelliklerin geçerli olduğu yapılandırmaları ayarlamak için iletişim kutusunun üst kısmındaki Yapılandırma ve Platform liste kutularını kullanabilirsiniz; çoğu durumda doğru seçim Tüm Platformlar ve Tüm Yapılandırmalar'dır.Ortak Özellikler kuralındaki ayarlar tüm yapılandırmalar için geçerlidir.

Proje özellik sayfaları

Bir proje için özellikleri ayarlama

Genel olarak, bir projeye ilişkin özellikler şöyle ayarlanır:

Projeye ilişkin bir özelliği ayarlamak için

  1. Menü çubuğunda Proje, Özellikler'i seçin.Veya Çözüm Gezgini'nde ya da Özellik Yöneticisi'nde proje için kısayol menüsünü açın ve sonra Özellikler'i seçin.Özellik Sayfaları iletişim kutusu açılır.

  2. İletişim kutusunun en üstündeki kutularda, ayarın geçerli olmasını istediğiniz yapılandırmaları ve platformları seçin.

    Yapılandırma kutusunda görünen yapılandırmaları oluşturmak veya değiştirmek için Yapılandırma Yöneticisi düğmesini seçin.

  3. Özellik değerini ayarlayın.Tamam düğmesini seçtiğinizde, yeni değer proje dosyasına yazılır.

[!NOT]

Özellik Sayfaları iletişim kutusu yalnızca geçerli projeye uygulanan özellik sayfalarını gösterir.Örneğin, projede bir .idl dosyası yoksa, MIDL özellik sayfası görüntülenmez.

Özellik Sayfaları iletişim kutusundaki özellikler hakkında daha fazla bilgi:

İpucuİpucu

Bir özellik sayfasını, adını Hızlı Başlat penceresine yazarak doğrudan açabilirsiniz.

Sabit kodlanmış özellikler ve makrolar

Bazı proje özellikleri, başka bir yerde tanımlanmış bir özelliğe başvuruyu değer olarak alabilir.Diğer türlerdeki proje özelliği ayarlarından ayırmak için, bu tür değerlere makro adı verilir.Makro, MSBuild sistemi tarafından tanımlanan bir özelliğe veya sizin tanımladığınız bir özelliğe başvuruda bulunabilir.Dizin yolları gibi sabit kodlu değerler yerine makroları kullanarak, makineler arasında ve Visual Studio sürümleri arasında özellik ayarlarını daha kolay paylaşabilir ve proje ayarlarınızın özellik devralmada doğru şekilde rol oynamasını sağlayabilirsiniz.

  • genel makrolar
    Bir proje yapılandırmasındaki tüm öğelere uygulanır.$(name) sözdizimine sahiptir.Genel makroya örnek olarak, Visual Studio yüklemenizin kök dizinini depolayan $(VCInstallDir) öğesi verilebilir.Genel makro, MSBuild'de bir PropertyGroup öğesine karşılık gelir.

  • öğe makroları
    %(name) sözdizimine sahiptir.Bir dosya söz konusu olduğunda, öğe makrosu yalnızca o dosya için geçerli olur; örneğin, yalnızca belirli bir dosya için geçerli olan ekleme dizinlerini belirtmek için %(AdditionalIncludeDirectories) öğesini kullanabilirsiniz.Bu öğe makrosu türü MSBuild'de ItemGroup meta verisine karşılık gelir.Bir proje yapılandırması bağlamında kullanıldığında, öğe makrosu belirli bir türdeki tüm dosyalar için geçerli olur.Örneğin, C/C++ Önişlemci Tanımları yapılandırma özelliği, projedeki tüm .cpp dosyaları için geçerli olan bir %(PreprocessorDefinitions) öğe makrosunu alabilir.Bu öğe makrosu türü MSBuild'de ItemDefinitionGroup meta verisine karşılık gelir.Daha fazla bilgi için bkz. Öğe Tanımları.

Özellik değerlerini tanımlamak için makroları ve kullanılabilir makroların değerlerini görüntülemek için de Özellik Düzenleyicisi'ni kullanabilirsiniz.

Özellik Düzenleyicisi

Belirli dize özelliklerini değiştirmek ve makroları değer olarak seçmek için Özellik Düzenleyicisi'ni kullanabilirsiniz.Özellik Düzenleyicisi'ne erişmek için, özellik sayfasında bir özellik seçin ve sonra sağdaki aşağı ok düğmesini seçin.Açılan listede <Düzenle> seçeneği varsa, söz konusu özelliğe ilişkin Özellik Düzenleyicisi'ni görüntülemek için bu seçeneği kullanabilirsiniz.

Property_Editor_Dropdown

Özellik Düzenleyicisi'nde, uygun makroları ve geçerli değerlerini görüntülemek için Makrolar düğmesini seçebilirsiniz.Aşağıdaki resimde, Makrolar düğmesi seçildikten sonra Ekleme Kodu Ek Dizinleri özelliği için Özellik Düzenleyicisi gösterilmektedir.Üstten veya proje varsayılanlarından devral onay kutusu seçildiğinde ve yeni bir değer eklediğinizde, bu değer devralınmakta olan tüm değerlere eklenir.Onay kutusunun işaretini kaldırırsanız, yeni değeriniz devralınan değerlerin yerini alır.Çoğu durumda, onay kutusunu seçili bırakın.

Özellik Düzenleyicisi, Visual C++

Yeniden kullanılabilir özellik yapılandırmalarını paylaşma

Birden çok projeye uygulamak istediğiniz, ortak bir sık kullanılan özellikler kümeniz varsa, bunları kural gereği .props dosya adı uzantısına sahip olan, yeniden kullanılabilir bir özellik sayfası dosyasında toplamak için Özellik Yöneticisi'ni kullanabilirsiniz.Özelliklerini sıfırdan ayarlamanıza gerek kalmaması için sayfayı (veya sayfaları) yeni projelere uygulayabilirsiniz.Özellik Yöneticisi'ne erişmek için, menü çubuğunda Görünüm, Özellik Yöneticisi'ni seçin.

Yeni Proje Özellik Sayfası Ekle seçeneğini belirler ve sonra örneğin, MyProps.props özellik sayfasını seçerseniz, bir özellik sayfası iletişim kutusu görüntülenir.Bunun MyProps özellik sayfası için geçerli olduğuna dikkat edin; yaptığınız herhangi bir değişiklik proje dosyasına (.vcxproj) değil de sayfaya yazılır.

Aynı özellik doğrudan .vcxproj dosyasında ayarlanmışsa, özellik sayfasındaki özellikler geçersiz kılınır.

Bir özellik sayfasını gerektiği sıklıkta içeri aktarabilirsiniz.Bir çözümdeki birden çok proje, aynı özellik sayfasından ayarları devralabilir ve bir projenin birden fazla sayfası olabilir.Özellik sayfasının kendisi, başka bir özellik sayfasından ayarları devralabilir.

Önemli notÖnemli

.props dosyası bir proje öğesi olarak oluşturulmadığından, varsayılan olarak kaynak denetiminde yer almaz.Dosyayı kaynak denetimine dahil etmek istiyorsanız bir çözüm öğesi olarak el ile ekleyebilirsiniz.

Bir özellik sayfası oluşturmak için

  1. Menü çubuğunda Görünüm, Özellik Yöneticisi'ni seçin.Özellik Yöneticisi açılır.

  2. Özellik sayfasının kapsamını tanımlamak için, geçerli olduğu öğeyi seçin.Bu, belirli bir yapılandırma veya başka bir özellik sayfası olabilir.Bu öğe için kısayol menüsünü açın ve Yeni Proje Özelliği Sayfası Ekle seçimini yapın.Bir ad ve konum belirtin.

  3. Özellik Yöneticisi'nde, yeni özellik sayfasını açın ve eklemek istediğiniz özellikleri ayarlayın.

Özellik devralımı

Proje özellikleri katmanlıdır.Her katman önceki katmanın değerlerini devralır, ancak özelliğin açıkça ayarlanması devralınan değeri geçersiz kılabilir.Temel devralma ağacı şöyledir:

  1. MSBuild CPP Araç Takımı'ndaki varsayılan ayarlar (.vcxproj dosyası tarafından içeri aktarılan ..\Program Files\MSBuild\Microsoft.Cpp\v4.0\Microsoft.Cpp.Default.props.)

  2. Özellik sayfaları

  3. .vcxproj dosyası (Varsayılan ve özellik sayfası ayarlarını geçersiz kılabilir.)

  4. Öğelere ait meta veriler

İpucuİpucu

Özellik sayfasında, bold biçimlendirmeli bir özellik geçerli bağlamda tanımlanır.Normal yazı tipindeki özellik devralınan özelliktir.

Proje dosyası (.vcxproj), yapı zamanında diğer özellik sayfalarını içeri aktarır.Tüm özellik sayfaları içeri aktarıldıktan sonra proje dosyası değerlendirilir ve herhangi bir özellik değerinin son tanımı kullanılan tanım olur.Bazen, belirli bir özellik değerinin nasıl devralındığını belirlemek için genişletilmiş dosyayı görüntülemek yararlıdır.Genişletilmiş sürümü görüntülemek için, Visual Studio komut isteminde aşağıdaki komutu girin. (Yer tutucu dosya adlarını, kullanmak istediğiniz dosya adlarıyla değiştirin.)

msbuild /pp:temp.txtmyapp**.vcxproj**

MSBuild'i iyi bilmiyorsanız, genişletilmiş proje dosyaları büyük ve anlaşılması zor olabilir.Bir proje dosyasının temel yapısı şöyledir:

  1. IDE'de gösterilmeyen temel proje özellikleri.

  2. Araç takımından bağımsız bazı temel özellikleri tanımlayan Microsoft.cpp.default.props öğesinin içeri aktarımı.

  3. Genel Yapılandırma özellikleri (Yapılandırma Genel sayfasında PlatformToolset ve Project varsayılan özellikleri olarak gösterilen).Bu özellikler, sonraki adımda hangi araç takımının ve iç özellik sayfalarının Microsoft.cpp.props öğesine aktarılacağını belirler.

  4. Çoğu proje varsayılanını ayarlayan Microsoft.cpp.props öğesinin içeri aktarımı.

  5. .user dosyaları da dahil olmak üzere tüm özellik sayfalarının içeri aktarımı.Bu özellik sayfaları PlatformToolset ve Project varsayılan özellikleri dışında her şeyi geçersiz kılabilir.

  6. Kalan diğer proje yapılandırma özellikleri.Bu değerler özellik sayfalarında ayarlanmış değerleri geçersiz kılabilir.

  7. Meta verileriyle birlikte öğeler (dosyalar).Bunlar, diğer özellikler ve içeri aktarımlardan önce olsa bile, MSBuild değerlendirme kurallarında her zaman son sözdür.

Daha fazla bilgi için bkz. MSBuild Özellikleri.

.user dosyaları ve sorunlu olmalarının nedenleri

Visual Studio'nun önceki sürümlerinde, dosya adı uzantısı .user olan ve <kullanıcı profili>\AppData\Local\Microsoft\MSBuild\v4.0\ klasöründe bulunan genel özellik sayfaları kullanılmaktaydı.Bu dosyalar, proje yapılandırmalarına ilişkin özellikleri kullanıcı başına ve bilgisayar başına temelinde ayarladığından artık bu dosyaları önermiyoruz.Bu tür "genel" ayarlar, özellikle de yapı bilgisayarınızda birden fazla platformu hedef aldığınızda yapıları engelleyebilir.Örneğin, hem MFC projeniz hem de Windows Phone projeniz varsa, .user özellikleri bunlardan biri için geçersiz olur.Yeniden kullanılabilir özellik sayfaları daha esnek ve daha güçlüdür.

.user dosyaları halen Visual Studio tarafından yüklenmesine ve özellik devralımında rol oynamasına karşın, bu dosyalar varsayılan olarak boştur.Uygulamada en iyi yöntem, projelerinizin tüm kullanıcı başına ve bilgisayar başına ayarlardan bağımsız olarak çalışmasını sağlamak için Özellik Yöneticisi'nde bunların başvurusunu silmektir. Bu, SCC (kaynak kodu kontrolü) ortamında doğru davranışı sağlamak açısından önem taşır.

Varsayılan dizinler kümesine bir ekleme dizini ekleme

Bir projeye ekleme dizini eklediğinizde, tüm varsayılan dizinleri geçersiz kılmamak önemlidir.Dizin eklemenin doğru yolu; örneğin "C:\MyNewIncludeDir\" şeklinde yeni yolu sona eklemek ve sonra $(IncludePath) makrosunu özellik değerinin sonuna eklemektir.

Kullanıcı tanımlı makro oluşturma

Proje yapılarında değişken olarak kullanmak için kullanıcı tanımlı makrolar oluşturabilirsiniz.Örneğin, bir özel yapı adımına veya özel yapı aracına değer sağlayan kullanıcı tanımlı bir makro oluşturabilirsiniz.Kullanıcı tanımlı makro bir ad/değer çiftidir.Proje dosyasında değere erişmek için $(name) gösterimini kullanın.

Kullanıcı tanımlı makrolar bir özellik sayfasında depolanır.Projeniz halihazırda bir özellik sayfası içermiyorsa, bu makalenin başlarında yer alan adımları izleyerek bir tane oluşturabilirsiniz.

Kullanıcı tanımlı makro oluşturmak için

  1. Özellik Yöneticisi penceresinde (menü çubuğunda Görünüm, Özellik Yöneticisi'ni seçin), bir özellik sayfası (adı .user ile biter) için kısayol menüsünü açın ve Özellikler'i seçin.Bu özellik sayfasına ilişkin Özellik Sayfaları iletişim kutusu açılır.

  2. İletişim kutusunun sol bölmesinde Kullanıcı Makroları'nı seçin.Sağ bölmede, Makro Ekle düğmesini seçerek Kullanıcı Makrosu Ekle iletişim kutusunu açın.

  3. İletişim kutusunda, makro için bir ad ve değer belirtin.İsteğe bağlı olarak Bu makroyu yapı ortamında bir ortam değişkeni olarak ayarla onay kutusunu işaretleyin.

Bir yapı için ortam değişkenlerini ayarlama

Visual C++ derleyicisi (cl.exe) özellikle LIB, LIBPATH, PATH ve INCLUDE olmak üzere belirli ortam değişkenlerini tanır.IDE ile yapı kurarken, VC++ Dizinleri Özellik Sayfası özellik sayfasında ayarlanan özellikler bu ortam değişkenlerini ayarlamak için kullanılır.LIB, LIBPATH ve INCLUDE değerleri zaten ayarlanmışsa (örneğin, bir Geliştirici Komutu İstemi ile), bunlar karşılık gelen MSBuild özelliklerinin değerleriyle değiştirilir.Yapı daha sonra, VC++ Dizinleri yürütülebilir dizinler özelliğinin değerini PATH öğesinin başına ekler.Kullanıcı tanımlı bir makro oluşturup Bu makroyu yapı ortamında bir ortam değişkeni olarak ayarla ifadesini içeren kutuyu işaretleyerek kullanıcı tanımlı bir ortam değişkeni ayarlayabilirsiniz.

Hata ayıklama oturumu için ortam değişkenlerini ayarlama

Projeye ait Özellik Sayfaları iletişim kutusunun sol bölmesinde Yapılandırma Özellikleri'ni genişletin ve Hata Ayıklama öğesini seçin.

Sağ bölmede Ortam veya Ortamı Birleştir proje ayarlarını değiştirip Tamam düğmesini seçin.

Tüm makroları ve bunların değerlerini görüntüleme

Projenin Özellik Sayfaları iletişim kutusunda, VC++ Dizinleri gibi bir dize özelliğini seçin, sağ sütunda aşağı ok düğmesini seçin ve sonra da <Düzenle>'yi belirleyerek Özellik Düzenleyicisi'ni açın.Özellik Düzenleyicisi'nde Makrolar düğmesini seçin.

Aynı anda birden fazla yapılandırma için özellikleri ayarlama

Tüm yapılandırmalara ilişkin özellikleri ayarlamak için, projenin Özellik Sayfaları iletişim kutusunun üst kısmındaki kutularda Tüm Yapılandırmalar'ı ve Tüm Platformlar'ı seçin ve ardından istediğiniz özellikleri ayarlayın.

Yalnızca bazı yapılandırmalara ilişkin özellikleri ayarlamak için, Özellik Yöneticisi'nde ilgili yapılandırmaları çoklu seçin ve sonra kısayol menüsünü açıp Özellikler'i seçin.Değiştirdiğiniz tüm ayarlar, seçtiğiniz her yapılandırmaya uygulanır.

Birden çok yapılandırma için tek bir özellik sayfası da oluşturabilirsiniz.Bunun için, her bir yapılandırma için bir özellik sayfası oluşturun, bunlardan birinin kısayol menüsünü açın, Varolan Özellik Sayfası Ekle'yi seçin ve ardından diğer sayfaları ekleyin.Ancak, tek bir ortak özellik sayfası kullanırsanız, ayarladığınız bir özelliğin sayfanın geçerli olduğu tüm yapılandırmalar için ayarlandığını ve IDE'nin, belirli bir özellik sayfasından hangi projelerin veya diğer özellik sayfalarının devraldığını göstermediğini unutmayın.

Birçok projesi olacak büyük çözümlerde, çözüm düzeyinde bir özellik sayfası oluşturulması yararlı olabilir.Çözüme bir proje eklediğinizde, o özellik sayfasını projeye eklemek için Özellik Yöneticisi'ni kullanın.Proje düzeyinde gerek duyulursa, projeye özgü değerleri ayarlamak için yeni bir özellik sayfası ekleyebilirsiniz.

Tüm seçeneklere hızlıca göz atmak ve aramak için

Tüm Seçenekler özellik sayfası (Özellik Sayfaları iletişim kutusunun sol bölmesinde C/C++ düğümünün altında), geçerli bağlamda kullanılabilen özelliklere göz atmak ve bunları aramak için hızlı bir yol sağlar.Özel bir arama kutusu ve sonuçlara filtre uygulamanıza yardımcı olacak basit bir sözdizimi vardır:

  • Önek yok:
    Yalnızca özellik adlarında arayın (büyük/küçük harf duyarsız alt dize).

  • '/' veya '-' :
    Yalnızca derleyici anahtarlarında arayın (büyük/küçük harf duyarsız önek)

  • v:
    Yalnızca değerlerde arayın (büyük/küçük harf duyarsız alt dize).

Ayrıca bkz.

Diğer Kaynaklar

Visual C++ Projeleri Oluşturma ve Yönetme