Различия с WPF .NET
В этой статье описываются различия между Windows Presentation Foundation (WPF) в .NET и платформа .NET Framework. WPF для .NET — это платформа с открытым исходным кодом, скопированная из исходного WPF для платформа .NET Framework исходного кода.
Существует несколько функций платформа .NET Framework, которые не поддерживаются .NET. Дополнительные сведения о неподдерживаемых технологиях см. в платформа .NET Framework технологиях, недоступных в .NET.
Проекты в стиле SDK
В .NET используются файлы проекта в стиле SDK. Эти файлы проектов отличаются от традиционных файлов проектов .NET Framework, управляемых Visual Studio. Чтобы перенести платформа .NET Framework приложения WPF в .NET, необходимо преобразовать проекты. Дополнительные сведения см. в статье Об обновлении классического приложения WPF до .NET 7.
Ссылки на пакет NuGet
Если приложение .NET Framework перечисляет зависимости NuGet в файле packages.config, выполните миграцию в формат <PackageReference>
:
- В Visual Studio откройте окно Обозревателя решений.
- В проекте WPF щелкните правой кнопкой мыши packages.config>Перенести packages.config в PackageReference.
Откроется диалоговое окно с вычисленными зависимостями NuGet верхнего уровня и вопросом, какие другие пакеты NuGet следует повысить до верхнего уровня. Выберите ОК, и файл packages.config будет удален из проекта, а элементы <PackageReference>
будут добавлены в файл проекта.
Если в проекте используется <PackageReference>
, пакеты не хранятся локально в папке Пакеты, они хранятся глобально. Откройте файл проекта и удалите все элементы <Analyzer>
, которые ссылаются на папку Пакеты. Эти анализаторы автоматически добавляются к ссылкам на пакет NuGet.
Управление доступом для кода
Безопасность доступа к коду (CAS) не поддерживается .NET. Все функции, связанные с CAS, работают исходя из предположения полного доверия. WPF для .NET удаляет код, связанный с CAS. Поверхность открытого API этих типов по-прежнему существует, чтобы обеспечить успешный вызов этих типов.
Открыто определенные типы, связанные с CAS, были перемещены из сборок WPF в сборки библиотеки Core .NET. В этих сборках WPF установлена пересылка типов к новому расположению перемещенных типов.
Исходная сборка | Целевая сборка | Тип |
---|---|---|
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 |
Примечание.
Чтобы свести к минимуму трения при переносе, функции хранения и извлечения информации, связанной со следующими свойствами, были оставлены в типе XamlAccessLevel
.
PrivateAccessToTypeName
AssemblyNameString
.NET Desktop feedback