Итак, после некоторого исследования я пришел к выводу, что почти все элементы на скриншоте, который я разместил, бесполезны.
Кажется, они создаются Visual Studio, когда вы удаляете / перемещаете элементы внутри IDE, итогда они просто сидят там, накапливаясь.Это похоже на то, что VS явно «помещает в черный список» элементы, если вы перемещаете / удаляете их с помощью обозревателя решений, хотя этого не происходит, если вы просто перемещаете / удаляете файлы вручную с диска.
После некоторого тестирования япришли к такому выводу: единственными важными записями на скриншоте выше являются те, в которых упоминается SpaRoot
(папка, в которой находится исходный код приложения Angular).
Если я правильно понимаю, первая запись:
<Content Remove="$(SpaRoot)**" />
Удаляет всю папку SpaRoot из процесса публикации, поэтому она не будет включена в окончательные распространяемые файлы.Это имеет смысл, и потому, что эта папка будет скомпилирована через npm во время процесса публикации в другой каталог (конец файла проекта, не включенный в мой скриншот).Поэтому мы не хотим включать его содержимое в основной этап компиляции, так как они были бы бесполезны.
Вторая запись:
<None Include="$(SpaRoot)**" Exclude="$(SpaRoot)node_modules\**" />
говорит, что папка SpaRoot
«часть проекта» (должна быть показана в VS Solution Explorer), но не играет роли в компиляции (это, по-видимому, означает элемент None
).Однако этот элемент исключает подпапку node_modules
, поэтому он не отображается в обозревателе решений, что имеет смысл.