我正在将我的应用程序部署到Azure网站。我已成功配置发布配置文件,并将tfspreview.com设置为在每次代码提交时使用持续集成自动发布。避免在Web上删除文件夹发布
我在路径“/ 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>
将该文件夹放在解决方案目录之外。理想情况下,创建一个高于IIS根目录的虚拟目录。 – 2013-02-28 21:35:31
它已经= D – amhed 2013-02-28 21:37:45
有趣。这就是我让我们的IIS管理员创建我们的方式。他为上传图像创建了另一个目录。如果你没有得到答案,我会尽可能地问他。 – 2013-02-28 21:40:00