Различия с 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. Чтобы перенести приложения WPF .NET Framework в .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>
, пакеты не хранятся локально в папке пакетов, они хранятся глобально. Откройте файл проекта и удалите все элементы
Безопасность доступа к коду
Безопасность доступа к коду (CAS) не поддерживается .NET. Все функциональные возможности, связанные с CAS, обрабатываются при предположении полного доверия. WPF для .NET удаляет код, связанный с CAS. Область общедоступного API этих типов по-прежнему существует, чтобы обеспечить успешность вызовов этих типов.
Общедоступные типы, связанные с CAS, были перемещены из сборок WPF в сборки библиотеки .NET Core. Сборки 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