Как ссылаться на пространство имен System.Windows в .Net Core?
Я давний разработчик WPF (.Net Framework), наконец, впервые погрузился в.Net Core. В настоящее время я пытаюсь преобразовать небольшое приложение WPF v4.7.2 в.Net Core 3.1. Решение содержит проект приложения WPF и проект библиотеки классов, каждый из которых содержит всего несколько классов, поэтому я решил, что было бы проще создать новое решение, содержащее приложение WPF и проект библиотеки классов (оба.Net Core 3.1), а затем скопируйте файлы cs и xaml из исходного решения. Однако, похоже, я падаю на первом препятствии...
Многие классы используют типы из System.Windows
пространство имен (и System.Windows.Media
, System.Windows.Controls
, так далее). Они отлично разрешаются в проекте приложения WPF, но не в библиотеке классов. Я заметил, что в проекте приложения WPF есть ссылка на фреймворк Microsoft.WindowsDesktop.App.Wpf, а в проекте библиотеки классов нет, что, как я полагаю, является моей проблемой. Однако я хоть убей не могу придумать, как добавить этот фреймворк в проект. Как мне это сделать?!
Я видел решения для добавления <UseWPF>true</UseWPF>
в файл класса lib csproj, но это не имеет никакого эффекта.
1 ответ
Как обычно, я не успеваю задавать вопрос, как нахожу ответ. Мне также пришлось изменить SDK в файле csproj на:
<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">