【发布时间】:2016-06-06 07:46:28
【问题描述】:
我做不到,所以从 Visual Studio 发布不会删除服务器网站上的 App_Data 文件夹。但我也希望它继续删除所有文件(该文件夹除外)以保持目录“干净”。
我在 csproj 中尝试过这个,.pubxml。以及它的改动(有一个不是 OnBeforePackageUsingManifest,而是 iis 的东西)
<PropertyGroup>
<OnBeforePackageUsingManifest>AddCustomSkipRules</OnBeforePackageUsingManifest>
</PropertyGroup>
<Target Name="AddCustomSkipRules">
<ItemGroup>
<MsDeploySkipRules Include="SkipDeleteAppData">
<SkipAction>Delete</SkipAction>
<ObjectName>filePath</ObjectName>
<AbsolutePath>$(_Escaped_PackageTempDir)\\App_Data\\.*</AbsolutePath>
<XPath>
</XPath>
</MsDeploySkipRules>
<MsDeploySkipRules Include="SkipDeleteAppData">
<SkipAction>Delete</SkipAction>
<ObjectName>dirPath</ObjectName>
<AbsolutePath>$(_Escaped_PackageTempDir)\\App_Data\\.*</AbsolutePath>
<XPath>
</XPath>
</MsDeploySkipRules>
</ItemGroup>
</Target>
如果我使用“SkipAction=Delete”,我什至无法这样做,因为无法识别删除。
有没有办法做到这一点?最好来自 .pubxml,但 csproj 也可以。不必处理 msdeploy 命令行。
使用 Visual Studio 2015。
【问题讨论】:
-
我不确定是否有任何删除规则,但您可以使用 powershell 命令,如果没有其他任何东西,这些命令也可以工作。也请参阅...msdn.microsoft.com/en-us/library/ms366724.aspx
标签: asp.net-mvc visual-studio msdeploy