Из-за огромных преимуществ в упаковке NuGet я преобразовал файл csproj
библиотеки C # в новый формат Visual Studio 2017, как описано здесь:
Старый csproj до нового csproj: руководство по обновлению Visual Studio 2017 .
Теперь все файлы xaml.cs
и xaml
моего пользовательского элемента управления WPF отображаются отдельно друг от друга, а не в виде структуры (xaml.cs
"внутри" xaml
). Дополнительно я не могу переключаться между ними с помощью команд контекстного меню «Просмотр кода» или «Просмотр конструктора».
Я обнаружил, что могу решить структурное отображение с помощью добавления соответствующих записей в файл csproj
:
<Compile Include="SomeView.xaml.cs">
<DependentUpon>SomeView.xaml</DependentUpon>
</Compile>
После сохранения файла csproj
требуется секунда или две, а затем два элемента визуально структурируются в представлении проводника проекта.
Я все еще не могу переключаться между ними с помощью команд контекстного меню.
Кроме того, я получаю ошибку NETSDK1022
при компиляции, говоря о том, что эти элементы компиляции теперь дублируются (новый формат проекта автоматически добавляет все подходящие файлы). Этот механизм можно отключить, установив EnableDefaultCompileItems
в false
, который работает.
Есть ли лучший способ "связать" xaml и его файл с выделенным кодом для нового формата проекта VS2017?
(возможно, это одна из проблем, почему новый формат проекта еще не выпущен для оконных проектов ...)