我正在将我的应用程序部署到Azure网站。我已经成功配置了发布配置文件,并设置了tfspreview.com,以便在每次代码提交时使用持续集成自动发布。
我在路径“/ media”上有一个文件夹。此文件夹包含通过CMS(umbraco)上传的图片和文档。每个Web部署都会删除此文件夹。
从this answer开始,我学习了如何在.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>
答案 0 :(得分:2)
这不仅仅是取消选中发布向导(设置步骤)中“发布前删除所有现有文件”框的问题吗?我知道在从Visual Studio端设置发布时可以使用该选项 - 在我看来,Azure发布凭据只是为您提供连接,而不是您通过向导进行的设置。
答案 1 :(得分:1)
查看您要链接到的问题以及您上面提供的代码,您似乎需要更改该行:
<AbsolutePath>ErrorLog</AbsolutePath>
到
<AbsolutePath>media</AbsolutePath>
因为这是指您不想删除的文件夹。 ErrorLog
是另一个问题的作者不想删除的文件夹。