方法: Visual Studio Web プロジェクトで、発行プロファイル (.pubxml) ファイルおよび .wpp.targets ファイルの配置設定を編集する
このトピックでは、発行プロファイル (.pubxml) ファイルを編集するか、Visual Studio Web プロジェクトの .wpp.targets ファイルを作成することによって配置設定を構成する方法について説明します。 トピックでは、次の製品に適用されます:
Visual Studio 2012
Visual Studio Express 2012 for Web
のVisual Studio 2010Visual Studio の Web 発行の更新
のVisual Web Developer 2010 ExpressVisual Studio の Web 発行の更新
配置の構成タスクが Visual Studio UI でできないため、発行プロファイル ファイルを編集または .wpp.targets ファイルを作成する必要がある場合があります。 一部の配置オプションでは、Web 発行パイプライン (WPP) を制御する XML ファイルの 1 種類の編集によってのみ指定できます。
ここでは、次の内容について説明します。
発行プロファイル (.pubxml) ファイルの編集
特定の発行プロファイルに固有の設定を構成すると、発行プロファイル ファイルを編集します。 発行プロファイル ファイルは <profilename>.pubxml でそのプロジェクトのフォルダーの下のプロパティ PublishProfiles \フォルダーにあります。 各ファイルは 1 種類の発行プロファイルに適用される設定が含まれます。 Web の発行、ウィザードに入力した値は、これらのファイルに格納されます。
.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.user のファイルではなく .pubxml ファイルを編集します。
発行プロファイル (.pubxml) ファイルを編集するには
ソリューション エクスプローラーでは、これを開くためにファイルをダブルクリックします。
変更する要素が PropertyGroup の要素に、変更した値を既に存在する場合は; それ PropertyGroup の要素を要素に追加します。
たとえば Visual Studio の配置の既定の setACL の動作を無効にするとします。 既定では、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 の動作を無効にするには、PropertyGroup 開始のタグの直後に表示される、この例に示すように IncludeSetACLProviderOnDestination に要素を追加します:
<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>
ファイルを保存します。
プロジェクトの変更を検索するときに Visual Studio がこれらを自動的に変更されるため .pubxml ファイルのデータベース関連の設定を編集しないでください。 データベース関連の設定は次のとおりです:
PublishDatabaseSettings 要素。 (この要素は PropertyGroup の要素で表示される場合があります)。
PropertyGroup の要素の後に表示される ItemGroup の要素。
.wpp.targets ファイルの作成
.wpp.targets ファイルで構成した設定はすべての発行プロファイルに適用されます。 次の手順では .wpp.targets ファイルを作成する方法について説明します。
.wpp.targets ファイルを作成するには
プロジェクト フォルダー (.csproj または .vbproj ファイルを格納するフォルダー) の新しい XML ファイルを作成すると <projectname>.wpp.targets という名前を付けます。
Project の要素をトップレベルの要素として作成し、そこに PropertyGroup に要素を作成します。
必要なすべての発行プロファイルに指定する設定を追加します。 たとえば、既定の 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>
ファイルを保存して閉じます。
Visual Studio を終了し、再起動します。
Visual Studio が .targets ファイルをキャッシュするため、Visual Studio が次回開かれたときに対するこれらの 1 つが変更が有効ではないするまで。
さらに複雑な方法で Web 発行パイプラインの拡張に .wpp.targets ファイルを使用できます。 たとえば、既定の動作を格納 setACL の App_Data フォルダーに加えて別の書き込みアクセス許可の設定を自動化する場合があります。 この方法の詳細については Sayed Hashimi のブログ Web の発行設定のフォルダーのアクセス許可 の" "を参照してください。