Как изменять параметры развертывания в файлах профиля публикации (PUBXML) и файле .wpp.targets в веб-проектах Visual Studio

В этом разделе описано, как настроить параметры развертывания путем редактирования публиковать файлы профиля (.pubxml) или путем создания файла .wpp.targets для веб-проектов Visual Studio. Тема применяется к следующим продуктам:

Изменение файла профиля публиковать или создать файл .wpp.targets могут быть необходимы в силу того, что некоторые задачи конфигурации развертывания нельзя сделать в пользовательском интерфейсе среды Visual Studio. Некоторые параметры развертывания, могут быть заданы только с помощью одного из XML-файла, которые управляют конвейер публикации в интернете (препроцессор Windows).

В этом разделе содержатся следующие подразделы.

  • Редактирование публиковать файлы профиля (.pubxml)

    Если нужно настроить параметры, относящиеся к частности публикуют профиль, которые изменяют публиковать файл профиля. Публиковать файлы профиля назовите <profilename>.pubxml и найти в папке \ PublishProfiles свойств в папке проекта. Каждый файл, содержащий параметры, которые применяются к одному публикуют профиль. Значения, введенные в мастере Опубликовать веб-сайт хранятся в этих файлах.

  • Создание файла .wpp.targets

    Если нужно настроить параметры, которые применяются ко всем профилям используемые в проекте, необходимо создать файл .wpp.targets. Файл .wpp.targets должен находиться в папке проекта и должен быть именем <projectname>.wpp.targets.

Примечание

Если используется вкладка Упаковка и публикация SQL-проекта чтобы настроить развертывание базы данных, может потребоваться изменение параметров развертывания базы данных в файле проекта.Сведения о том, как изменение параметров, относящихся к вкладке Упаковка и публикация SQL-проекта см. в разделе версию платформы .NET Framework 4 данного раздела.

Редактирование публиковать файлы профиля (.pubxml)

При создании профиля публиковать, 2 файла созданы в папке PublishProfiles: <profilename>.pubxml и <profilename>.pubxml.user. Файл .pubxml.user содержит лишь несколько параметров, которые применяются к конкретному пользователю, например зашифрованный пароль. По умолчанию он не включен в систему управления версиями. Обычно при изменении параметров, связанных с профилирования редактировании файла .pubxml, а не файл .pubxml.user.

Изменение файла профиля публиковать (.pubxml)

  1. В Обозреватель решений дважды щелкните файл, чтобы открыть его.

  2. Если элемент необходимо изменить уже находится в элементе PropertyGroup, изменяет его значение; в противном случае добавление элемента к элементу PropertyGroup.

    Например, предположим, что нужно отключить по умолчанию применяются расширения функциональности setACL развертывания Visual Studio. По умолчанию наборы Visual Studio, считанных разрешения на корневой папке сайта назначения и записывает разрешения на папку App_Data. Если известно, что по умолчанию разрешения на папки верны и не должен быть задан можно отключить эту функциональности для конкретных публиковать профиль, добавив следующий код XML в файл профиля публиковать:

    <IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination>
    

    При открытии файла профиля публиковать он напоминает этот пример:

    <Project ToolsVersion="4.0" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <WebPublishMethod>Package</WebPublishMethod>
        <LaunchASiteUrlAfterPublish>False</LaunchASiteUrlAfterPublish>
        <SiteUrlToLaunchAfterPublish />
        <MSDeployServiceURL />
        <DeployIisAppPath />
        <RemoteSitePhysicalPath />
        <AllowUntrustedCertificate>False</AllowUntrustedCertificate>
        <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
        <DeployAsIisApp>True</DeployAsIisApp>
        <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
        <UserName />
        <SavePWD>True</SavePWD>
        <PublishDatabaseSettings>
          <!— this section omitted to keep the example short -->
        </PublishDatabaseSettings>
      </PropertyGroup>
    </Project>
    

    Чтобы отключить по умолчанию применяются расширения функциональности setACL добавьте элемент IncludeSetACLProviderOnDestination, как показано в данном примере, где он отображается сразу после открывающего тега PropertyGroup:

    <Project ToolsVersion="4.0" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination>
        <WebPublishMethod>Package</WebPublishMethod>
        <LaunchASiteUrlAfterPublish>False</LaunchASiteUrlAfterPublish>
        <SiteUrlToLaunchAfterPublish />
        <MSDeployServiceURL />
        <DeployIisAppPath />
        <RemoteSitePhysicalPath />
        <AllowUntrustedCertificate>False</AllowUntrustedCertificate>
        <SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
        <DeployAsIisApp>True</DeployAsIisApp>
        <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
        <UserName />
        <SavePWD>True</SavePWD>
        <PublishDatabaseSettings>
          <!— this section omitted to keep the example short -->
        </PublishDatabaseSettings>
      </PropertyGroup>
    </Project>
    
  3. Сохраните файл.

Старайтесь не изменять базу данных- связанные параметры в файле .pubxml, поскольку Visual Studio автоматически изменяет такие как он обнаруживает изменения в проекте. База данных- связанные параметры включают следующее:

  • Элемент PublishDatabaseSettings. (Этот элемент может встречаться в элемент PropertyGroup).

  • Все элементы ItemGroup, которые появляются после элемента PropertyGroup.

Создание файла .wpp.targets

Параметры, которые можно настроить в файле .wpp.targets применяются ко всем публикуют профили. В следующей процедуре поясняется, как создать файл .wpp.targets.

Создание файла .wpp.targets

  1. Создайте новый XML-файл в папке проекта (той же папке, содержащей файл с расширением csproj или vbproj) и назовите его <projectname>.wpp.targets.

  2. Создайте элемент Project как элемент верхнего уровня, и в создайте элемент PropertyGroup.

  3. Добавьте параметры, которые необходимо задать для всех публиковать профили. Например, если требуется отключить по умолчанию применяются расширения функциональности setACL, добавьте элемент IncludeSetACLProviderOnDestination, как показано в следующем примере:

    <?xml version="1.0" encoding="utf-8"?>
    <Project ToolsVersion="4.0" xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <IncludeSetACLProviderOnDestination>False</IncludeSetACLProviderOnDestination>
      </PropertyGroup>
    </Project>
    
  4. Сохраните и закройте файл.

  5. Закройте Visual Studio и повторно откройте его.

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

Можно также использовать файл .wpp.targets для расширения конвейер публикации через интернет в более сложных случаях. Например, может потребоваться сохранить расширение функциональности по умолчанию setACL только автоматизации параметр разрешения записи в другую папку в дополнение к App_Data. Описание, как сделать, см. Разрешения для папок параметра в Интернете публикуют в блоге Sayed Hashimi.

См. также

Основные понятия

Карта содержимого веб-развертывания для Visual Studio b ASP.NET