Вложение файлов не работает для проектов класса или общей библиотеки

В веб-проектах Visual Studio 2019 вложение файлов в обозревателе решений работает как чудо. Если вы добавите файл с именем ClassA.cs и другой файл с именем ClassA.Custom.cs, они будут вложены, как и должно быть.

введите здесь описание изображения

Но для проектов классов или общих библиотек это вообще не работает. Неважно, измените ли вы настройки на «По умолчанию» или «Интернет» или даже добавите пользовательскую настройку вложенности файлов.

введите здесь описание изображения

Есть ли способ настроить Visual Studio 2019, чтобы вложение файлов также работало в проектах библиотеки классов и т.п.?

Я знаю, что можно изменить файлы *.csproj вручную, чтобы добавить записи с тегом <DependentUpon>, как это было в более ранних версиях Visual Studio, но мне действительно не нравится идея изменить это вручную для всех классов, которые у меня есть.

<Compile Update="$(ProjectDir)\Person.*.cs">
  <DependentUpon>$(ProjectDir)\Person.cs</DependentUpon>
</Compile>

person phifi    schedule 19.12.2019    source источник


Ответы (1)


На Github.com существует проблема, связанная с этой темой: Ошибка 5722.

Существует обходной путь для этой проблемы — по крайней мере, работающий для .Net Standard 2.0. Добавьте следующие строки в ваш файл *.csproj:

<ItemGroup> <ProjectCapability Include="DynamicDependentFile" /> <ProjectCapability Include="DynamicFileNesting" /> </ItemGroup>

person phifi    schedule 19.12.2019
comment
Это не сработало для меня в проекте библиотеки классов .NET Core 3.1, который содержит исходные файлы TypeScript и выходные данные JS. Я использую VS 2019 16.10. - person Dai; 13.06.2021