Существует ли способ автоматически включать файлы содержания в файл проекта asp.net?

Я часто добавляю много файлов содержания (главным образом изображения и js) к моему проекту ASP.NET. Я использую VS, публикуют систему, и на публикуют, новые файлы не публикуются, пока я не включаю их в проект. Я хотел бы к автоматическому, включают все файлы в указанный каталог. Существует ли способ указать, какие каталоги должны быть включены по умолчанию в csproj файле или где-нибудь еще?

78
задан harriyott 2 October 2012 в 17:50
поделиться

2 ответа

Насколько мне известно, нет; однако я предлагаю вставить их в проект, поскольку он будет включать их по умолчанию. Поэтому вместо того, чтобы вставлять их в каталог через проводник, используйте Visual Studio для вставки файлов в папки.

1
ответ дан 24 November 2019 в 10:27
поделиться

Вы можете просто расширить файл .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 . В результате содержимое папки было опубликовано в \ bin \ app.publish \ ... , и меня не удалось убедить опубликовать его вместе с элементами содержимого внутри .csproj, поэтому я не представил его в своем ответе.

50
ответ дан 24 November 2019 в 10:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: