0

私の Web アプリケーションには、ユーザーのアップロード、つまりプロフィール写真などを保存するために使用されるフォルダーがあります。

WebDeploy を使用する場合、[余分なファイルを残す (削除しない)] オプションがあり、チェックを入れるとプロフィール写真が削除されないようになります。

私が求めているのは、それがチェックされていなくても、特定のフォルダーが削除されないようにする方法です。この理由は、別の開発者が将来この機能を誤って無効にしてほしくないからです。またはそれについては私。

何か案は?ここで同様の質問をいくつか見ましたが、私が使用している Visual Studio 2010 に関連するものはないようです。

4

2 に答える 2

3

(Azure SDK または Visual Studio 2012 RTM を使用して Visual Studio 2010 に従って発行プロファイルを使用していると仮定します。そうでない場合はProjectName.wpp.targets、プロジェクト ルートで呼び出される MSBuild ファイルを作成し、代わりにその中にコンテンツを配置します)

公開プロファイルで設定することにより、すべての形式の削除を無効にすることができ<SkipExtraFilesOnServer>true</SkipExtraFilesOnServer>ます(前述のチェックボックスに相当)。

特定のディレクトリをスキップするには、この質問に対するコメントは、次の構文を使用できることを意味します。

<ItemGroup>
  <ExcludeFoldersFromDeployment Include="FolderName" />
</ItemGroup>

しかし、私はそれを見たことがなく、テストもしていません。それができない場合は、明示的なスキップ ルールを指定できます。「FolderName」はここではスキップされています - これAbsolutePathは正規表現であることに注意してください:

<MsDeploySkipRules Include="SkipFolderName">
  <SkipAction>Delete</SkipAction>
  <ObjectName>dirPath</ObjectName>
  <AbsolutePath>FolderName$</AbsolutePath>
</MsDeploySkipRules>

注: Visual Studio の使用時にスキップ ルールが機能しないシナリオがいくつかありますUseMsDeployExetrue

于 2012-11-23T05:02:33.190 に答える
2

msdeploy.exe.configsettings ファイルを使用してターゲット マシンに特定のルールを設定できます。同じフォルダーには msdeploy.exe.configsettings.example ファイルもあります。ファイルは %program files%\IIS\Microsoft Web Deploy にあります - フォルダーはWeb Deploy ルールを参照してください

ここで Rules と skipDirectives を設定し、それらをデフォルトにするかどうかを有効にして、期待されるデフォルトの動作を得ることができます。

于 2012-11-21T17:08:11.603 に答える