【发布时间】:2013-02-15 06:04:54
【问题描述】:
我正在将我的应用程序部署到 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>
【问题讨论】:
-
将该文件夹放在解决方案目录之外。理想情况下,创建您的虚拟目录高于 IIS 根目录。
-
有趣。这就是我让我们的 IIS 管理员创建我们的 IIS 管理员的方式。他为上传图片创建了另一个目录。如果你没有得到答复,我什么时候可以问他。
-
哦,抱歉,没看错。我无法真正配置外部文件夹,因为这是在 Azure 网站内实现的(不是我可以修改 IIS 设置的 Web 角色)
-
我从您过去的帖子中意识到这一点。我知道我们确实做到了这一点。详情请咨询我们的管理员。
-
嘿@DaveA 你有改变与你的系统管理员交谈吗?再次感谢!
标签: asp.net-mvc deployment azure visual-studio-2012 umbraco