Asp.net mvc 避免删除Web发布上的文件夹
我正在将我的应用程序部署到Azure网站。我已经成功地配置了发布配置文件,并将tfspreview.com设置为在每次提交代码时使用连续集成自动发布 我在路径“/媒体”上有一个文件夹。此文件夹包含通过CMS(umbraco)上传的图片和文档。此文件夹在每次web部署时都会被删除 从中,我学习了如何在.csproj或wpp.targets文件中添加SkipDelete规则,但每次发布站点时,整个文件夹都会被删除 以下是我当前在wpp.targets中使用的代码:Asp.net mvc 避免删除Web发布上的文件夹,asp.net-mvc,deployment,azure,visual-studio-2012,umbraco,Asp.net Mvc,Deployment,Azure,Visual Studio 2012,Umbraco,我正在将我的应用程序部署到Azure网站。我已经成功地配置了发布配置文件,并将tfspreview.com设置为在每次提交代码时使用连续集成自动发布 我在路径“/媒体”上有一个文件夹。此文件夹包含通过CMS(umbraco)上传的图片和文档。此文件夹在每次web部署时都会被删除 从中,我学习了如何在.csproj或wpp.targets文件中添加SkipDelete规则,但每次发布站点时,整个文件夹都会被删除 以下是我当前在wpp.targets中使用的代码: <PropertyGroup
<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>
阿达斯基普鲁士酒店
删除
文件路径
媒体
真的
这不仅仅是取消选中“发布向导”(设置步骤)中“在发布之前删除所有现有文件”框的问题吗?我知道,从Visual Studio端设置发布时,该选项是可用的-在我看来,Azure发布凭据只是为您提供了连接,而不是通过向导进行的设置。查看您链接到的问题和上面提供的代码,似乎您需要更改行:
<AbsolutePath>ErrorLog</AbsolutePath>
ErrorLog
到
媒体
因为这是指您不想删除的文件夹
ErrorLog
是另一个问题的作者不想删除的文件夹。将该文件夹放在解决方案目录之外。理想情况下,创建高于IIS根目录的虚拟目录。这就是我如何让我们的IIS管理员创建我们的。他为上传图像创建了另一个目录。如果你得不到答案,我会在可能的时候问他。哦,对不起,我没读对。我无法在外部真正配置文件夹,因为这是在Azure网站内部实现的(不是一个可以修改IIS设置的web角色),我从您过去的帖子中意识到了这一点。我知道我们已经做到了。必须与我们的管理员联系以了解详细信息。嘿@DaveA您与您的系统管理员联系了吗?再次感谢!嘿@ericF下载发布配置文件后,我编辑了设置并取消选中了“在目标位置删除其他文件”选项。我读到过,有时候这个选项不起作用,这就是为什么我在wpp.targetsYeah上尝试跳过规则,复制/粘贴太多。我已经修好了,但仍然不起作用。
<AbsolutePath>media</AbsolutePath>