Вы можете просто расширить файл .csproj вашего сайта. Просто добавьте корневую папку вашего контента с рекурсивным подстановочным знаком:
...
<ItemGroup>
<!-- your normal project content -->
<Content Include="Default.aspx" />
<!-- your static content you like to publish -->
<Content Include="Images\**\*.*" />
</ItemGroup>
...
Это делает эту папку и все содержимое, показанное ниже, видимым в браузере вашего решения.
Если вы попытаетесь скрыть папку в браузере решения, указав
<Content Include="Images\**.*.*">
<Visible>false</Visible>
</Content>
не будет опубликовано.
Обновление
Как вы уже обнаружили, подстановочный знак будет заменен, как только вы коснетесь папки внутри вашего решения, поскольку проекты VS не предназначены для произвольного содержимого.
Таким образом, вы должны будете убедиться, что папка и ее содержимое никогда не изменяются изнутри VS - добавление или удаление файлов может выполняться только в файловой системе ... это то, что вы хотели, как я понял ваш вопрос.
Было бы проще, если бы папка могла быть скрыта в VS, но я не смог найти способ ее скрыть И опубликовать.
Другим неудачным подходом было включение папки с помощью CreateItem
Task.
Это привело к тому, что содержимое папки было опубликовано в \ bin \ app.publish \ ... , и его нельзя было убедить опубликовать вместе с элементами содержимого внутри .csproj, поэтому я не представил его в мой ответ.