Aracılığıyla paylaş


WPF .NET ile farklılıklar

Bu makalede, .NET üzerinde Windows Presentation Foundation (WPF) ile .NET Framework arasındaki farklar açıklanmaktadır. .NET için WPF, .NET Framework kaynak kodundan çatallanmış açık kaynaklı bir çerçevedir.

.NET Framework'ün desteklemediği birkaç özellik vardır. Desteklenmeyen teknolojiler hakkında daha fazla bilgi için bkz. .NET'de bulunmayan .NET Framework teknolojileri .

SDK stili projeler

.NET, SDK stili proje dosyalarını kullanır. Bu proje dosyaları, Visual Studio tarafından yönetilen geleneksel .NET Framework proje dosyalarından farklıdır. .NET Framework WPF uygulamalarınızı .NET'e geçirmek için projelerinizi dönüştürmeniz gerekir. Daha fazla bilgi için bkz. WPF masaüstü uygulamasını .NET 7'ye yükseltme.

NuGet paket referansları

.NET Framework uygulamanız NuGet bağımlılıklarını bir packages.config dosyasında listelediyse, <PackageReference> biçimine geçin:

  1. Visual Studio'da Çözüm Gezgini bölmesini açın.
  2. WPF projenizde packages.config>öğesini PackageReference'a geçirmek için packages.config'e sağ tıklayın.

Visual Studio'daki Çözüm Gezgini'nin, 'Göç et packages.config' öğesini gösteren bağlam menüsü.

Hesaplanan en üst düzey NuGet bağımlılıklarını gösteren ve hangi diğer NuGet paketlerinin en üst düzeye yükseltilmesi gerektiğini soran bir iletişim kutusu görüntülenir. Tamam'ı seçtiğinizde packages.config dosyası projeden kaldırılır ve proje dosyasına <PackageReference> öğeler eklenir.

Projeniz <PackageReference>kullandığında paketler Packages klasöründe yerel olarak depolanmaz, genel olarak depolanır. Proje dosyasını açın ve Packages klasörüne başvuruda bulunan tüm <Analyzer> öğelerini kaldırın. Bu çözümleyiciler NuGet paket başvurularına otomatik olarak eklenir.

Kod Erişim Güvenliği

Kod Erişim Güvenliği (CAS) .NET tarafından desteklenmez. CAS ile ilgili tüm işlevler tam güven varsayımı altında ele alır. .NET için WPF, CAS ile ilgili kodu kaldırır. Bu türlerdeki çağrıların başarılı olmasını sağlamak için bu türlerin genel API yüzeyi hala mevcuttur.

Genel olarak tanımlanmış CAS ile ilgili türler WPF derlemelerinden ve Çekirdek .NET kitaplık derlemelerine taşındı. WPF derlemeleri, taşınan türlerin yeni konumuna tür yönlendirmesi ayarlanmıştır.

Kaynak montajı Hedef montaj Tür
WindowsBase.dll System.Security.Permissions.dll MediaPermission
MediaPermissionAttribute
MediaPermissionAudio
MediaPermissionImage
MediaPermissionVideo
WebBrowserPermission
WebBrowserPermissionAttribute
WebBrowserPermissionLevel
System.Xaml.dll System.Security.Permissions.dll XamlLoadPermission
System.Xaml.dll System.Windows.Extension.dll XamlAccessLevel

Not

Taşıma zorluklarını en aza indirmek için, aşağıdaki özelliklerle ilgili bilgileri depolama ve alma işlevselliği XamlAccessLevel türünde korundu.

  • PrivateAccessToTypeName
  • AssemblyNameString