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
- Windows İşletim Sistemi.
- Bu makaleyle birlikte kullanılan tanıtım uygulamasını indirin ve ayıklayın.
- .NET 9'ı hedeflemek için Visual Studio 2022 sürüm 17.12 veya üzeri.
- Visual Studio için .NET Yükseltme Yardımcısı uzantısı.
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:
Çözüm Gezgini penceresinde MatchingGame.Logic projesine sağ tıklayın ve Yükselt'i seçin:
Hangi yükseltmeyi gerçekleştirmek istediğinizi seçmenizi isteyen yeni bir sekme açılır.
Yerinde proje yükseltme'yi seçin.
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.
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.
Yükseltme tamamlandığında sonuçlar görüntülenir:
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 My
gibi 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.
- Geçiş tamamlandıktan sonra, Çözüm Gezgini penceresinde MatchingGame.Logic projesine çift tıklayın.
-
<Project>/<PropertyGroup>
öğesini bulun. - XML düzenleyicisinde değerini
<TargetFramework>
olaraknet9.0
net9.0-windows
değiştirin. - 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.
- Çözüm Gezgini penceresinde MatchingGame projesine sağ tıklayın ve Yükselt'i seçin:
- Yerinde proje yükseltme'yi seçin.
- Hedef çerçeve için .NET 9.0'ı seçin ve İleri'yi seçin.
- 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:
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.
- Çözüm Gezgini penceresinde MatchingGame projesine sağ tıklayın ve Temizle'yi seçin.
- Çö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.
İlgili içerik
.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.
.NET Desktop feedback