我正在將我的應用程序部署到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