Bir .NET 5.0 uygulamasında konsol penceresi ve Windows penceresi

Womanne

Member
Windows Forms veya Windows Presentation Foundation’ı (WPF) bir konsol uygulamasında kullanabilmek için özel bir kurulum gerekir.


Anlamsal sürüm oluşturmaya göre Microsoft, .NET Core 3.1 (Aralık 2019) ile doğrudan halefi .NET 5.0 (“Core” olmadan, Kasım 2020’de piyasaya sürüldü) arasında da bazı önemli değişiklikler uyguladı çünkü ana sürüm numarası onunla birlikte değişti.

Bugün bir müşteri uygulamasını taşırken köklü bir değişiklikle karşılaştım: Genellikle otomatik olarak çalışan ancak belirli koşullar altında (yapılandırma ve tanılama) Windows Windows’u Windows Forms ve/veya Windows Presentation Foundation ile açabilen bir konsol uygulaması uyguladık.

Ancak, varsayılan olarak bir .NET 5.0 uygulamasında bir konsol penceresi ve bir pencere penceresi artık mümkün değildir. .NET Core 3.1’de şu proje ayarlarını kullandılar:

<TargetFramework>netcoreapp3.1</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<UseWPF>true</UseWPF>

Uygulama bir konsol uygulaması olarak başladı ve herhangi bir zamanda Windows Forms ve/veya Windows Presentation Foundation’ı açabilir.

.NET 5.0 ile çalışır <UseWindowsForms> Ve <UseWPF> ama sadece eğer

<TargetFramework>net5.0-windows</TargetFramework>


ayarlandı. “-Windows” eklenmesi, uygulamanın başlangıçta artık bir konsol penceresi göstermediği anlamına da gelir.

Çözüm, ayrıca, yeni seçenektir. DisableWinExeOutputInference kullanmak:

<DisableWinExeOutputInference>true</DisableWinExeOutputInference>

ile

<TargetFramework>net5.0-windows</TargetFramework>
<UseWindowsForms>true</UseWindowsForms>
<UseWPF>true</UseWPF>
<DisableWinExeOutputInference>true</DisableWinExeOutputInference>

daha sonra .NET 5.0’da bir konsol penceresi ve isteğe bağlı Windows pencereleri elde edersiniz.


()



Haberin Sonu
 
Üst