20

アプリケーションを Azure Web サイトにデプロイしています。公開プロファイルを正常に構成し、tfspreview.com を設定して、各コード コミットで継続的インテグレーションを使用して自動的に公開します。

パス「/media」にフォルダーがあります。このフォルダーには、CMS (umbraco) を介してアップロードされた写真とドキュメントが含まれています。このフォルダーは、Web デプロイごとに削除されます。

この回答から、.csproj または wpp.targets ファイルに SkipDelete ルールを追加する方法を学びましたが、サイトを公開するたびにフォルダー全体が削除されます。

wpp.targets 内で現在使用しているコードは次のとおりです。

<PropertyGroup>
<AfterAddIisSettingAndFileContentsToSourceManifest>
  AddCustomSkipRules
</AfterAddIisSettingAndFileContentsToSourceManifest>
</PropertyGroup>

<Target Name="AddCustomSkipRules">
<Message Text="Adding Custom Skip Rules" />
<ItemGroup>
  <MsDeploySkipRules Include="SkipMediaFolder">
    <SkipAction>Delete</SkipAction>
    <ObjectName>filePath</ObjectName>
    <AbsolutePath>media</AbsolutePath>
  </MsDeploySkipRules>
</ItemGroup>
</Target>

<PropertyGroup>
<UseMsDeployExe>true</UseMsDeployExe>
</PropertyGroup>
4

2 に答える 2

2

これは、公開ウィザード (設定手順) で [公開する前にすべての既存のファイルを削除する] というボックスのチェックを外しただけの問題ではありませんか? Visual Studio 側から発行を設定するときにオプションが利用可能であることは知っています。Azure 発行の資格情報は、ウィザードで行った設定ではなく、接続を提供するだけのようです。

于 2013-03-01T02:56:17.967 に答える
1

リンク先の質問と上記で提供したコードを見ると、次の行を変更する必要があるようです。

<AbsolutePath>ErrorLog</AbsolutePath>

<AbsolutePath>media</AbsolutePath>

これは、削除したくないフォルダを参照しているためです。ErrorLog他の質問の作成者が削除したくないフォルダーでした。

于 2013-03-03T11:15:02.283 に答える