Aracılığıyla paylaş


C++ projelerini Visual Studio'nun önceki sürümlerinden yükseltme

Visual Studio'nun önceki bir sürümünde oluşturulmuş bir projeyi yükseltmek için, projeyi Visual Studio'nun en son sürümünde açmanız gerekir. Visual Studio, projeyi geçerli şemaya yükseltmeyi sunar.

Hayır'ı seçerseniz proje yükseltilmez. Visual Studio 2010 ve sonraki sürümlerde oluşturulan projeler için, projeyi Visual Studio'nun daha yeni sürümünde kullanmaya devam edebilirsiniz. Eski araç takımını hedeflemeye devam etmek için proje özelliklerinizi ayarlamanız gerekir. Visual Studio'nun eski sürümünü bilgisayarınızda bırakırsanız, araç takımı sonraki sürümlerde kullanılabilir. Örneğin, projenizin Windows XP'de çalışmaya devam etmesi gerekiyorsa Visual Studio 2019'a yükseltebilirsiniz. Ardından araç takımını proje özelliklerinizde v141_xp veya daha önceki bir sürüm olarak belirtirsiniz. Daha fazla bilgi için bkz . Eski projeler oluşturmak için Visual Studio'da yerel çoklu hedeflemeyi kullanma.

Evet'i seçerseniz proje yerinde yükseltilir. Önceki sürüme geri dönüştürülemez. Yükseltme senaryolarında bu nedenle mevcut proje ve çözüm dosyalarının yedek kopyasını oluşturmak iyi bir uygulamadır.

Dekont

Visual Studio 2022, veya .dsp uzantıları olan .dsw proje türlerinin yükseltmesi için desteği kullanım dışı bırakmıştır. Bu projeleri yükseltmek için Visual Studio 2019 gibi Visual Studio'nun önceki bir sürümünü kullanabilir, ardından Visual Studio 2022'de visual studio'nun en son araçlarını ve özelliklerini kullanmak üzere bunları yükseltebilirsiniz.

Raporları yükseltme

Bir projeyi yükselttiğiniz zaman bir yükseltme raporu alırsınız. Rapor ayrıca proje klasörünüzde UpgradeLog.htm olarak kaydedilir. Yükseltme raporu, dönüştürme sırasında hangi sorunların bulunduğunun bir özetini gösterir. Aşağıdakiler de dahil olmak üzere yapılan değişikliklerle ilgili bazı bilgileri listeler:

  • Proje özellikleri.

  • Dosyaları dahil et.

  • Derleyici uyumluluğu geliştirmeleri veya standarttaki değişiklikler nedeniyle artık temiz bir şekilde derlenemeyecek kod.

  • Artık kullanılamaan Visual Studio veya Windows özelliklerini kullanan kod. Alternatif olarak, Visual Studio'nun varsayılan yüklemesine dahil olmayan veya üründen kaldırılan üst bilgi dosyaları.

  • Yeniden adlandırılmış API'ler, değiştirilen işlev imzaları veya kullanım dışı işlevler gibi API'lerdeki değişiklikler nedeniyle artık derlenmemiş kod.

  • Uyarının hataya dönüşmesi gibi tanılama değişiklikleri nedeniyle artık derlenmez kod

  • Özellikle /NODEFAULTLIB kullanıldığında değiştirilen kitaplıklar nedeniyle bağlayıcı hataları.

  • Çalışma zamanı hataları veya davranış değişiklikleri nedeniyle beklenmeyen sonuçlar.

  • Araçlarda sunulan hatalar. Bir sorun bulursanız, normal destek kanallarınız aracılığıyla veya Visual Studio C++ Geliştirici Topluluğu sayfasını kullanarak bunu Visual C++ ekibine bildirin.

Yükseltilen bazı projeler ve çözümler, değişiklik yapılmadan başarıyla oluşturulabilir. Ancak, projelerin çoğu büyük olasılıkla hem proje ayarlarında hem de kaynak kodunuzda değişiklik yapılmasını gerektirir. Bu sorunları çözmenin tek bir doğru yolu yoktur, ancak aşamalı bir yaklaşım kullanmanızı öneririz. Başlamadan önce, birçok yaygın hata türü hakkında daha fazla bilgi için Olası yükseltme sorunlarına genel bakış'ı gözden geçirin.

  1. Platform Araç Takımı, C++ Dil Standardı ve Windows SDK sürümünü (varsa) tercih edilen sürümlere ayarlayın. (Proje>Özellikleri>Yapılandırma Özellikleri>Genel)

  2. Çok fazla hatanız varsa, bazı seçenekleri düzeltirken geçici olarak kapatabilirsiniz. Seçeneğini kapatmak /permissive- için Proje>Özellikleri>Yapılandırma Özellikleri>C/C++>Dil'i kullanın. Kod analizi seçeneğini kapatmak için Proje>Özellikleri>Yapılandırma Özellikleri Kod Analizi'ni> kullanın.

  3. Tüm bağımlılıkların mevcut olduğundan ve ekleme yollarının veya kitaplık konumlarının doğru olduğundan emin olun. (Proje>Özellikleri>Yapılandırma Özellikleri>VC++ Dizinleri)

  4. Artık mevcut olmayan API'lere yapılan başvurulardan kaynaklanan hataları belirleyin ve düzeltin.

  5. Derlemeyi engelleyen kalan hataları düzeltin. Yaygın hatalara yönelik düzeltmeler için olası yükseltme sorunlarına genel bakış konusuna bakın.

  6. Daha önce MSVC'de derlenmiş uyumsuz kodun neden olduğu yeni hataları yeniden açın /permissive- ve düzeltin.

  7. Artık kabul edilebilir kabul edilemeyen olası sorunları veya eski kodlama desenlerini tanımlamak için kod analizini açın. Kod analizi birçok hataya bayrak eklerse, önce en önemli hatalara odaklanmak için bazı uyarıları kapatabilirsiniz. IDE, bazı sorun türleri için Hızlı Düzeltmeler konusunda yardımcı olabilir.

  8. Kodu modernleştirmek için diğer fırsatları göz önünde bulundurun. Örneğin, özel veri yapılarını ve algoritmalarını C++ standart kitaplığındaki veya Boost açık kaynak kitaplığındakilerle değiştirin. Standart özellikleri kullanarak başkalarının kodu korumasını kolaylaştırırsınız. Bu kodun iyi test edilmiş olduğundan ve standartlar komitesinde ve daha geniş C++ topluluğunda birçok uzman tarafından gözden geçirildiğinden emin olabilirsiniz.

Düzeltilmesi zor hatalar için çözüm arayabilir veya Microsoft Learn Soru-Cevap'a soru gönderebilirsiniz. C++ derleyicisi ve araçlarındaki sorunlar için C++ Geliştirici Topluluğu web sitesini deneyin.

Bu bölümde

Olası yükseltme sorunlarına genel bakış
Kodunuzu Evrensel CRT’ye Yükseltme
WINVER ve _WIN32_WINNT güncelleştirme
Kitaplık İçeriklerindeki Bağımlılıklarınızı Düzeltme
Kayan Nokta Geçiş Sorunları
Visual Studio'da kullanım dışı bırakılan C++ özellikleri
VCBuild ve MSBuild karşılaştırması
Bağlantı noktası 3. taraf kitaplıkları

Ayrıca bkz.

Visual Studio'da Visual C++'daki Yenilikler
Visual C++ değişiklik geçmişi 2003 - 2015
Standart Olmayan Davranış
Bağlantı noktası veri uygulamaları