我无法做到,因此Visual Studio中的Publish不会删除服务器网站上的App_Data文件夹.但我还希望它继续删除所有文件(该文件夹除外),以保持目录“干净”. 我在csproj,.pubxml中试过这个.和它的改动
我在csproj,.pubxml中试过这个.和它的改动(一个不是OnBeforePackageUsingManifest,但我的东西)
<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.
这(最近) SO answer提到MsDeploySkipRules设置仅在通过命令行发布时才有效.从VS IDE进行Web部署时,建议检查以下选项:
>删除目的地的其他文件
>从App_Data文件夹中排除文件