mirror of
https://github.com/Stone-Red-Code/docs-desktop.git
synced 2026-09-04 09:06:04 +02:00
* Add overview article for new WPF (#178) * Remove previous WPF .NET 5 content * Overview article * New article: Create new WPF project (#183) * Basic index file * Finish article for new project. * acro * markdown fix * Fix build errors * fix code lang * fix code lang * Add differences article for WPF (#186) * Fix VS version for create app * Add differences article * Minor * fix overview styles code * Add code langs for overview * Port Window Overview WPF article (#1011) * Add Window overview article * Add TOC * Remove temp code * Fix headers * Port final Windows related articles (#1015) * Initial test commit * Add system dialogs * 75% complete * Add images * Fix linter * Add to toc * Add more howto * Fix code * Add get/set main window * Add missing code * Add to toc * Fix warnings * Fix warnings * missing code * Update see also * fix xref * Migrate wpf net core controls-styles articles (#1023) * Migrate control-styles * Fix links * Fix links * Port databinding article. (#1022) * Migrated databinding overview * update toc * Fix links/snippets * fix links * Move to correct folder * Port initial resources docs (#1026) * initial resources docs * Build errors * Update dotnet-desktop-guide/net/wpf/systems/xaml-resources-overview.md Co-authored-by: Genevieve Warren <[email protected]> * Apply suggestions from code review Co-authored-by: Genevieve Warren <[email protected]> * Feedback * Add app article * Add system article * Minor * meta * fix toc * Apply suggestions from code review Co-authored-by: Genevieve Warren <[email protected]> Co-authored-by: Genevieve Warren <[email protected]> * Add xaml article * reformat redirect * Redirects * WPF update XAML article (#1031) * convert snippets * minor edits * minor * Fix warnings * Fixes #1028 * Fixes #1028 * Apply suggestions from code review Co-authored-by: Genevieve Warren <[email protected]> * update redirects Co-authored-by: Genevieve Warren <[email protected]> * minor updates to link * Readd migration article * Warning fixes * Fix lint * Minor updates * Fix warnings for TOC/YML * last warnings Co-authored-by: Genevieve Warren <[email protected]>
56 lines
4.1 KiB
Markdown
56 lines
4.1 KiB
Markdown
---
|
|
title: Differences between .NET Framework and .NET
|
|
description: Describes the differences between the .NET Framework implementation of Windows Presentation Foundation (WPF) and .NET WPF. When migrating your app, you should consider these incompatibilities.
|
|
author: adegeo
|
|
ms.date: 01/29/2021
|
|
ms.author: adegeo
|
|
ms.topic: conceptual
|
|
---
|
|
|
|
# Differences in WPF .NET
|
|
|
|
This article describes the differences between Windows Presentation Foundation (WPF) on .NET 5 (or .NET Core 3.1) and .NET Framework. WPF for .NET 5 is an [open-source framework](https://github.com/dotnet/wpf) forked from the original WPF for .NET Framework source code.
|
|
|
|
There are a few features of .NET Framework that .NET 5 doesn't support. For more information on unsupported technologies, see [.NET Framework technologies unavailable on .NET 5 and .NET Core](/dotnet/core/porting/net-framework-tech-unavailable).
|
|
|
|
[!INCLUDE [desktop guide under construction](../../includes/desktop-guide-preview-note.md)]
|
|
|
|
## SDK-style projects
|
|
|
|
.NET 5 uses SDK-style project files. These project files are different from the traditional .NET Framework project files managed by Visual Studio. To migrate your .NET Framework WPF apps to .NET 5, you must convert your projects. For more information, see [Migrate WPF apps to .NET 5](convert-project-from-net-framework.md).
|
|
|
|
## NuGet package references
|
|
|
|
If your .NET Framework app lists its NuGet dependencies in a *packages.config* file, migrate to the [`<PackageReference>`](/nuget/consume-packages/package-references-in-project-files) format:
|
|
|
|
01. In Visual Studio, open the **Solution Explorer** pane.
|
|
01. In your WPF project, right-click **packages.config** > **Migrate packages.config to PackageReference**.
|
|
|
|

|
|
|
|
A dialog will appear showing calculated top-level NuGet dependencies and asking which other NuGet packages should be promoted to top level. Select **OK** and the *packages.config* file will be removed from the project and `<PackageReference>` elements will be added to the project file.
|
|
|
|
When your project uses `<PackageReference>`, packages aren't stored locally in a *Packages* folder, they're stored globally. Open the project file and remove any `<Analyzer>` elements that referred to the *Packages* folder. These analyzers are automatically included with the NuGet package references.
|
|
|
|
## Code Access Security
|
|
|
|
Code Access Security (CAS) is not supported by .NET 5. All CAS-related functionality is treated under the assumption of full-trust. WPF for .NET 5 removes CAS-related code. The public API surface of these types still exists to ensure that calls into these types succeed.
|
|
|
|
Publicly defined CAS-related types were moved out of the WPF assemblies and into the Core .NET library assemblies. The WPF assemblies have type-forwarding set to the new location of the moved types.
|
|
|
|
| Source assembly | Target assembly | Type |
|
|
| --------------- | --------------- | ------------------- |
|
|
| *WindowsBase.dll* | *System.Security.Permissions.dll* | <xref:System.Security.Permissions.MediaPermission> <br /> <xref:System.Security.Permissions.MediaPermissionAttribute> <br /> <xref:System.Security.Permissions.MediaPermissionAudio> <br /> <xref:System.Security.Permissions.MediaPermissionImage> <br /> <xref:System.Security.Permissions.MediaPermissionVideo> <br /> <xref:System.Security.Permissions.WebBrowserPermission> <br /> <xref:System.Security.Permissions.WebBrowserPermissionAttribute> <br /> <xref:System.Security.Permissions.WebBrowserPermissionLevel> |
|
|
| *System.Xaml.dll* | *System.Security.Permissions.dll* | <xref:System.Xaml.Permissions.XamlLoadPermission> |
|
|
| *System.Xaml.dll* | *System.Windows.Extension.dll* | <xref:System.Xaml.Permissions.XamlAccessLevel><br/> |
|
|
|
|
> [!NOTE]
|
|
> In order to minimize porting friction, the functionality for storing and retrieving information related to the following properties was retained in the `XamlAccessLevel` type.
|
|
>
|
|
> - `PrivateAccessToTypeName`
|
|
> - `AssemblyNameString`
|
|
|
|
## Next steps
|
|
|
|
- [Migrate WPF apps to .NET 5](convert-project-from-net-framework.md)
|