Выбранный ответ предполагает, что можно было бы использовать реальные проекты вместо папок решений, но в действительности не объясняет как. Я предполагаю, что я описываю здесь, возможно, наименее неловкий способ достижения этого ...: -P
Проблема с обычными проектными файлами заключается в том, что они в конечном итоге будут скомпилированы MSBUILD
. И если вы хотите иметь проект, который содержит только не компилируемые файлы, то будет проблемой.
Но некоторое время назад Visual Studio представила новый тип проекта: Общий проект (расширение .shproj). Этот тип проекта не компилируется по умолчанию, но только когда (и только если) на него ссылается другой проект.
Итак, одна из хитростей здесь в том, чтобы использовать общие проекты вместо папок решений . Очевидно, что можно добавить общий проект, на который никогда не ссылается какой-либо другой проект, что означает, что мы можем избежать проблемы, представленной выше.
Затем, используя предложение <None Include="**/*" />
в файле .shproj, мы можем сделать так, чтобы автоматически отображало любые новые файлы и / или подпапки.
Так что в основном сделайте это:
- Создайте новую папку в своем решении.
- Добавьте новый файл .shproj в корень этой новой папки.
- Ссылка на новый .shproj в вашем решении.
Например, в моем случае я создал DockerDev.shproj, поэтому я могу сгруппировать некоторые связанные с докером сценарии, которые мы запускаем только на наших машинах разработки:
<?xml version="1.0" encoding="utf-8"?>
<!-- DockerDev/DockerDev.shproj -->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup>
<None Include="**/*" />
</ItemGroup>
</Project>
Этот файл .shproj будет отслеживать любой файл в любой подпапке этой новой папки DockerDev
в моем решении.
Насколько я мог видеть, это решение во многом похоже на то, что запрашивал OP: оно будет работать как некомпилируемая ссылка на папку и автоматически отображать любые изменения, внесенные в нее.