Ситуация
Разрабатываю сайт на ASP.NET MVC
Уосновная часть сайта уже разработана, доделываю некоторые модули + поддержка.
По большей части скрипты и контент сформированы и не меняются (сюда же относится и фреймворки типа bootstrap и библиотеки типа jQuery, knockoutjs)
Но каждый раз публикация сайта занимает долгое время из- за перевыгрузки файлов с этими папками.
Задача
Исключить некторые папки из публикации веб-проекта на ASP.NET MVC
Решение
По простому - нужно внести некоторые папки как исключение в конфигурационный файл проекта.
Но сделать это оказалось не просто, особенно, если вы новичок в студии.
задача разбилась на 3 поздадачи, которые я тут и опишу.
Откроется окно менеджера конфигурации
В дропдауне "Active Solution Configuration" есть пункт "New". Выбираем и создаем новую конфигурацию с произвольным именем.
Для удобства есть возможности скопировать настройки с уже существующей конфигурации.
ок. КОнфигурация есть. Назовем её "Custom"
2.1. Выгружаем проект. Выбираем "Unload project" из контекстного меню над проектом.
2.2. Открываем файл проекта. Для этого над выгруженным проектом выбираем "Edit [имя проекта].cproj"
2.2. Изменяем .cproj файл:
Ищем раздел
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == '[Имя вашей конфигурации]|AnyCPU'">
и добавлем в него строчки типа
<ExcludeFilesFromDeployment>File1.aspx;File2.aspx</ExcludeFilesFromDeployment>
<ExcludeFoldersFromDeployment>Folder1;Folder2</ExcludeFoldersFromDeployment>
в конце концов секция должна выглядеть примерно так
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == '[Имя вашей конфигурации]|AnyCPU' ">
...
<ExcludeFilesFromDeployment>File1.aspx;File2.aspx</ExcludeFilesFromDeployment>
<ExcludeFoldersFromDeployment>Folder1;Folder2</ExcludeFoldersFromDeployment>
</PropertyGroup>
2.3. Сохраняем .cproj файл
2.4. Загружаем проект в студию ("Reload project" из контектсного меню над проектом)
В окне публикации переходим в раздел "Settings" и выбираем нашу конфигурацию.
http://andrewtwest.com/2010/02/25/using-web-config-transformations-in-web-site-projects/
How to: Edit Project Files
http://msdn.microsoft.com/en-us/library/ms171487(v=vs.90).aspx
Разрабатываю сайт на ASP.NET MVC
Уосновная часть сайта уже разработана, доделываю некоторые модули + поддержка.
По большей части скрипты и контент сформированы и не меняются (сюда же относится и фреймворки типа bootstrap и библиотеки типа jQuery, knockoutjs)
Но каждый раз публикация сайта занимает долгое время из- за перевыгрузки файлов с этими папками.
Задача
Исключить некторые папки из публикации веб-проекта на ASP.NET MVC
Решение
По простому - нужно внести некоторые папки как исключение в конфигурационный файл проекта.
Но сделать это оказалось не просто, особенно, если вы новичок в студии.
задача разбилась на 3 поздадачи, которые я тут и опишу.
1. Подготовить новую конфигурацию.
На солюшене (именно на солюшене, а не на проекте) выбираете "Configuration Manager ..." из контекстного меню.Откроется окно менеджера конфигурации
В дропдауне "Active Solution Configuration" есть пункт "New". Выбираем и создаем новую конфигурацию с произвольным именем.
Для удобства есть возможности скопировать настройки с уже существующей конфигурации.
ок. КОнфигурация есть. Назовем её "Custom"
2. Настроить конфигурацию в проекте.
теперь наша задача внести изменения в .cproj файл для этого2.1. Выгружаем проект. Выбираем "Unload project" из контекстного меню над проектом.
2.2. Открываем файл проекта. Для этого над выгруженным проектом выбираем "Edit [имя проекта].cproj"
2.2. Изменяем .cproj файл:
Ищем раздел
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == '[Имя вашей конфигурации]|AnyCPU'">
и добавлем в него строчки типа
<ExcludeFilesFromDeployment>File1.aspx;File2.aspx</ExcludeFilesFromDeployment>
<ExcludeFoldersFromDeployment>Folder1;Folder2</ExcludeFoldersFromDeployment>
в конце концов секция должна выглядеть примерно так
<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == '[Имя вашей конфигурации]|AnyCPU' ">
...
<ExcludeFilesFromDeployment>File1.aspx;File2.aspx</ExcludeFilesFromDeployment>
<ExcludeFoldersFromDeployment>Folder1;Folder2</ExcludeFoldersFromDeployment>
</PropertyGroup>
2.3. Сохраняем .cproj файл
2.4. Загружаем проект в студию ("Reload project" из контектсного меню над проектом)
3. Указываем нужную конфигурацию для публикации.
Над проектом выбираем "Publish"В окне публикации переходим в раздел "Settings" и выбираем нашу конфигурацию.
4. Собственно выполняем публикацию.
Ссылки по теме
Using Web.config Transformation in Web Site Projectshttp://andrewtwest.com/2010/02/25/using-web-config-transformations-in-web-site-projects/
How to: Edit Project Files
http://msdn.microsoft.com/en-us/library/ms171487(v=vs.90).aspx
Комментариев нет:
Отправить комментарий