Aracılığıyla paylaş


VCBuild ve MSBuild: Visual Studio 2010'da sistem değişikliklerini derleme

C++ projeleri için MSBuild sistemi Visual Studio 2010'da kullanıma sunulmuştur. Visual Studio 2008 ve önceki sürümlerde VCBuild sistemi kullanılmıştır. VCBuild'e bağımlı olan belirli dosya türleri ve kavramları yoktur veya MSBuild'de farklı temsil edilir. Bu belgede geçerli derleme sistemindeki farklar ele alınmaktadır. Visual Studio 2008 projesini MSBuild'e dönüştürmek için Visual Studio 2010 kullanmalısınız. Proje dönüştürüldükten sonra, geçerli IDE ve derleyici araç takımına yükseltmek için Visual Studio'nun en son sürümünü kullanmanız gerekir. Visual Studio 2010 edinme de dahil olmak üzere daha fazla bilgi için bkz . Visual Studio 2008 yönergeleri.

Aşağıdaki bölümlerde VCBuild'den MSBuild'e yapılan değişiklikler özetlemektedir. VCBuild projenizde MSBuild tarafından tanınmayan özel derleme kuralları veya makrolar varsa, bu yönergeleri MSBuild sistemine nasıl çevireceğinizi öğrenmek için bkz . Visual Studio Projeleri - C++ . VCBuild'den MSBuild'e ilk dönüştürme yalnızca bir ara adımdır. Proje dosyasının tamamen doğru olması veya programın hatasız derlenmesini sağlamak gerekli değildir. Projeyi, Visual Studio'nun en son sürümünde çalışmasını sağlamak için yalnızca Visual Studio 2010 kullanarak projeyi MSBuild biçimine dönüştürüyorsunuz.

.vcproj artık .vcxproj

Proje dosyaları artık .vcproj dosya adı uzantısını kullanmıyor. Visual Studio 2010, Visual C++ uygulamasının önceki bir sürümü tarafından oluşturulan proje dosyalarını, proje dosyaları için .vcxproj uzantısını kullanan MSBuild biçimine otomatik olarak dönüştürür.

.vsprops artık .props

Visual Studio 2008 ve önceki sürümlerinde proje özellik sayfası, .vsprops dosya adı uzantısına sahip XML tabanlı bir dosyadır. Proje özellik sayfası, derleyici veya bağlayıcı gibi derleme araçları için anahtarlar belirtmenize ve kullanıcı tanımlı makrolar oluşturmanıza olanak tanır. MSBuild'de, proje özellik sayfasının dosya adı uzantısı .props'tır.

Özel derleme kuralları ve .rules dosyaları

Visual Studio 2008 ve önceki sürümlerinde kural dosyası, .rules dosya adı uzantısına sahip XML tabanlı bir dosyadır. Kural dosyası, özel derleme kuralları tanımlamanıza ve bunları Visual Studio C++ projesinin derleme işlemine dahil etmenizi sağlar. Bir veya daha fazla dosya adı uzantısıyla ilişkilendirilebilen özel derleme kuralı, giriş dosyalarını bir veya daha fazla çıkış dosyası oluşturan bir ara çubuğuna geçirmenizi sağlar.

MSBuild sisteminde, özel derleme kuralları bir .rules dosyası yerine üç dosya türüyle (.xml, .props ve .targets) temsil edilir. Visual C++ uygulamasının önceki bir sürümü kullanılarak oluşturulan bir .rules dosyası Visual Studio 2010'a geçirildiğinde, eşdeğer .xml, .props ve .targets dosyaları özgün .rules dosyasıyla birlikte projenizde oluşturulur ve depolanır.

Önemli

Visual Studio 2010'da IDE, yeni kuralların oluşturulmasını desteklemez. Bu nedenle, Visual C++ uygulamasının önceki bir sürümü kullanılarak oluşturulan bir projeden kural dosyasını kullanmanın en kolay yolu, projeyi Visual Studio 2010'a geçirmektir.

Devralma makroları

Visual Studio 2008 ve önceki sürümlerinde$ (Devral) makro, devralınan özelliklerin proje derleme sistemi tarafından oluşturulan komut satırında görüntülenme sırasını belirtir. $(NoInherit) makrosunun $(Inherit) oluşumlarının yoksayılması ve devralınmaması durumunda devralınacak özelliklerin oluşmasına neden olur. Örneğin, varsayılan olarak $(Devral) makrosunun /I (Ek Dizinleri Dahil Et) derleyici seçeneği kullanılarak belirtilen dosyaların komut satırına eklenmesine neden olur.

Visual Studio 2010'da devralma, bir özelliğin değerini bir veya daha fazla değişmez değer ve özellik makrosunun birleştirmesi olarak belirterek desteklenir. $(Inherit) ve $(NoInherit) makroları desteklenmez.

Aşağıdaki örnekte, özellik sayfasındaki bir özelliğe noktalı virgülle ayrılmış liste atanır. Liste, değer değişmez değerinin ve $(MyProperty) makro gösterimi kullanılarak erişilen özelliğin değerinin MyProperty<bir araya getirilmesinden oluşur.>

Property=<value>;$(MyProperty)

.vcxproj.user dosyaları

Kullanıcı dosyası (.vcxproj.user), hata ayıklama ve dağıtım ayarları gibi kullanıcıya özgü özellikleri depolar. vcxproj.user dosyası belirli bir kullanıcı için tüm projeler için geçerlidir.

.vcxproj.filters dosyası

Projeye dosya eklemek için Çözüm Gezgini kullanıldığında, filtreler dosyası (.vcxproj.filters), dosya adı uzantısına bağlı olarak dosyanın Çözüm Gezgini ağaç görünümünde nereye ekleneceğini tanımlar.

VC++ Dizin ayarları

Visual C++ dizin ayarları VC++ Dizinleri Özellik Sayfasında belirtilir. Visual Studio 2008 ve önceki sürümlerde dizin ayarları kullanıcı başına uygulanır ve dışlanan dizinlerin listesi sysincl.dat dosyasında belirtilir.

Komut satırında devenv /resetsettings çalıştırırsanız VC++ dizin ayarlarını değiştiremezsiniz. Araçlar menüsünü açıp Ayarları İçeri ve Dışarı Aktar'a tıklayıp Tüm ayarları sıfırla seçeneğini belirlediğinizde de ayarları değiştiremezsiniz.

Visual Studio'nun önceki bir sürümü tarafından oluşturulan bir .vssettings dosyasından VC++ dizin ayarlarını geçirmek için:

  1. Araçlar menüsünü açın, İçeri ve Dışarı Aktarma Ayarları'na tıklayın
  2. Seçili ortam ayarlarını içeri aktar'ı seçin
  3. Sihirbazdaki yönergeleri izleyin.

Ayrıca bkz.

Komut Satırında MSBuild - C++