Развертывание в Интернете и разрешения для папок - PullRequest
5 голосов
/ 01 сентября 2010

Я использую VS 2010 для создания пакета развертывания для веб-приложения.Я вручную развернул его на сервере IIS 6.0, используя сценарий развертывания ccommand, который он генерирует.Все материалы правильно копируются на веб-сайте Inetpub по умолчанию.Единственная проблема, с которой я сталкиваюсь, заключается в том, что права доступа к папке продолжают сбрасываться после развертывания.

Скажем, мой веб-сайт находится в папке "Mywebsite".Я предоставляю определенному пользователю XYS полный контроль над этой папкой.Все хорошо.В следующий раз, когда я развернусь, пользователь XYZ больше не будет иметь полного контроля, и разрешения будут сброшены.

1 Ответ

8 голосов
/ 13 октября 2010

Если вы хотите пропустить операции ACL, вам нужно установить свойство в вашей сборке. Вы можете сделать это двумя способами

  1. Отредактируйте файл проекта
  2. Создать файл .wpp.targets

Я бы порекомендовал # 2. Для этого случая создайте новый файл в том же каталоге, что и файл вашего проекта, с именем {ProjectName} .wpp.targets, где {ProjectName} - это имя вашего проекта. Затем внутри этого файла вы должны поместить следующее содержимое.

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"
         ToolsVersion="4.0">

  <PropertyGroup>
    <IncludeSetAclProviderOnDestination>False</IncludeSetAclProviderOnDestination>
  </PropertyGroup>
</Project>

Здесь вы устанавливаете свойство IncludeSetAclProviderOnDestination, которое будет сигнализировать о том, что конвейер веб-публикации не будет включать поставщиков ACL в манифест, созданный для пакета / публикации.

Если вы хотите использовать подход № 1, просто добавьте все под элемент.

...