Aracılığıyla paylaş


Windows Forms .NET Framework'ten .NET'e geçiş

Bu makalede, .NET Yükseltme Yardımcısı'nı kullanarak bir Windows Forms masaüstü uygulamasını .NET'e yükseltme açıklanmaktadır. .NET platformlar arası bir teknoloji olsa da Windows Forms yalnızca Windows çerçevesi olarak kalır.

Önkoşullar

Değerlendirme

Yükseltme gerçekleştirmeden önce projelerinizi analiz etmelisiniz. .NET Yükseltme Yardımcısı ile projelerinizde kod analizi gerçekleştirmek, olası geçiş engelleyicilerini tanımlamak için başvurabileceğiniz bir rapor oluşturur.

Projelerinizi analiz etmek ve rapor oluşturmak için Çözüm Gezgini çözüm dosyasına sağ tıklayın ve Yükselt'i seçin. Analiz gerçekleştirme hakkında daha fazla bilgi için bkz . .NET Yükseltme Yardımcısı ile projeleri analiz etme.

Bağımlılıkları geçirme

Birden çok proje yükseltiyorsanız, bağımlılığı olmayan projelerle başlayın. Eşleştirme Oyunu örneğinde MatchingGame projesi MatchingGame.Logic kitaplığına bağlıdır, bu nedenle önce MatchingGame.Logic yükseltilmelidir.

İpucu

Kaynak denetiminde veya kopyada olduğu gibi kodunuzun yedeğine sahip olduğundan emin olun.

Visual Studio'da bir projeyi yükseltmek için aşağıdaki adımları kullanın:

  1. Çözüm Gezgini penceresinde MatchingGame.Logic projesine sağ tıklayın ve Yükselt'i seçin:

    Visual Studio'da .NET Yükseltme Yardımcısı'nın Yükseltme menü öğesinin ekran görüntüsü.

    Hangi yükseltmeyi gerçekleştirmek istediğinizi seçmenizi isteyen yeni bir sekme açılır.

  2. Yerinde proje yükseltme'yi seçin.

    .NET Yükseltme Yardımcısı sekmesinin ekran görüntüsü. 'Yerinde proje yükseltme' seçeneği vurgulanır.

  3. Ardından hedef çerçeveyi seçin.

    Yükseltmekte olduğunuz projenin türüne bağlı olarak size farklı seçenekler sunulur. .NET Standard 2.0 hem .NET Framework hem de .NET tarafından kullanılabilir. Kitaplık, bu projenin yaptığı Windows Forms gibi bir masaüstü teknolojisine bağlı değilse, bu iyi bir seçimdir.

    .NET 9.0'ı ve ardından İleri'yi seçin.

    .NET Yükseltme Yardımcısı'nın ekran görüntüsü. Hedef çerçeve istemi açık ve .NET 8, 'İleri' düğmesiyle birlikte vurgulanır.

  4. Kod dosyaları ve kitaplıklar gibi projeyle ilgili tüm yapıtlarla bir ağaç gösterilir. Tek tek yapıtları veya varsayılan olan projenin tamamını yükseltebilirsiniz. Yükseltmeyi başlatmak için Yükseltme seçimini seçin.

    .NET Yükseltme Yardımcısı'nın ekran görüntüsü. 'Bileşenleri Seç' sayfası açık ve 'Seçimi yükselt' düğmesi vurgulanmış.

  5. Yükseltme tamamlandığında sonuçlar görüntülenir:

    Projeden geçirilen öğeleri gösteren .NET Yükseltme Yardımcısı yükseltme sonuçları sekmesinin ekran görüntüsü.

    Düz yeşil daireli yapıtlar yükseltilirken, boş yeşil daireler atlandı. Atlanan yapıtlar, yükseltme yardımcısının yükseltecek bir şey bulmadığını gösterir.

Uygulamanın destek kitaplığı yükseltildiğinden ana uygulamayı yükseltin.

Visual Basic projeleri için notlar

Şu anda .NET Yükseltme Yardımcısı, .NET Framework'teki Visual Basic şablonları tarafından oluşturulan ayarlar dosyasında kullanımını System.Configuration tanımıyor. Ayrıca ve Mygibi My.Computer .NET Framework projelerinde kullanılan uzantıların My.User kullanımına da saygı göstermez. Bu uzantılar .NET'te kaldırıldı. Bu iki sorun nedeniyle, .NET Yükseltme Yardımcısı ile geçirildikten sonra Visual Basic kitaplığı derlenmez.

Bu sorunu çözmek için projenin Windows'ı hedeflemesi ve Windows Forms'a başvurması gerekir.

  1. Geçiş tamamlandıktan sonra, Çözüm Gezgini penceresinde MatchingGame.Logic projesine çift tıklayın.
  2. <Project>/<PropertyGroup> öğesini bulun.
  3. XML düzenleyicisinde değerini <TargetFramework> olarak net9.0net9.0-windowsdeğiştirin.
  4. sonra satırına <UseWindowsForms>true</UseWindowsForms>ekleyin<TargetFramework>.

Proje ayarları aşağıdaki kod parçacığı gibi görünmelidir:

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <TargetFramework>net9.0-windows</TargetFramework>
    <UseWindowsForms>true</UseWindowsForms>
    <OutputType>Library</OutputType>
    <MyType>Windows</MyType>

    ... other settings removed for brevity ...

Ana projeyi geçirme

Tüm destekleyici kitaplıklar yükseltildikten sonra ana uygulama projesi yükseltilebilir. Örnek uygulamayla, yükseltilen ve önceki bölümde yükseltilen tek bir kitaplık projesi vardır.

  1. Çözüm Gezgini penceresinde MatchingGame projesine sağ tıklayın ve Yükselt'i seçin:
  2. Yerinde proje yükseltme'yi seçin.
  3. Hedef çerçeve için .NET 9.0'ı seçin ve İleri'yi seçin.
  4. Tüm yapıtları seçili bırakın ve Seçimi yükselt'i seçin.

Yükseltme tamamlandıktan sonra sonuçlar gösterilir. Windows Forms projesinde nasıl bir uyarı simgesi bulunduğuna dikkat edin. Bu öğeyi genişletir ve bu adım hakkında daha fazla bilgi gösterilir:

Bazı sonuç öğelerinin uyarı simgeleri olduğunu gösteren .NET Yükseltme Yardımcısı yükseltme sonuçları sekmesinin ekran görüntüsü.

Proje yükseltme bileşeninin varsayılan yazı tipinin değiştiğinden bahsettiğine dikkat edin. Yazı tipi denetim düzenini etkileyebileceğinden, kullanıcı arabiriminin doğru düzenlendiğinden emin olmak için projenizdeki her formu ve özel denetimi denetlemeniz gerekir.

Temiz bir derleme oluşturma

Ana projeniz yükseltildikten sonra temizleyin ve derleyin.

  1. Çözüm Gezgini penceresinde MatchingGame projesine sağ tıklayın ve Temizle'yi seçin.
  2. Çözüm Gezgini penceresinde MatchingGame projesine sağ tıklayın ve Oluştur'a tıklayın.

Uygulamanız herhangi bir hatayla karşılaştıysa, bunları hata listesi penceresinde, bunların nasıl düzeltileceğini gösteren bir öneriyle bulabilirsiniz.

Windows Forms Eşleşen Oyun Örneği projesi artık .NET 9'a yükseltildi.

Yükseltme sonrası deneyimi

Bir uygulamayı .NET Framework'ten .NET'e geçiriyorsanız.NET Framework'ten .NET'e yükselttikten sonra modernleştirme makalesini gözden geçirin.

  • .NET Framework'ten .NET'e taşıma.

    Taşıma kılavuzu, kodunuzu .NET Framework'ten .NET'e aktarırken dikkat etmeniz gerekenlere genel bir bakış sağlar. Projelerinizin karmaşıklığı, proje dosyalarının ilk geçişinin ardından ne kadar çalışma yapacağınızı belirler.

  • .NET Framework'ten .NET'e yükselttikten sonra modernleştirin.

    .NET Framework'ten bu yana .NET dünyası çok değişti. Bu bağlantı, yükseltmeden sonra uygulamanızı modernleştirme hakkında bazı bilgiler sağlar.