我无法做到,因此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文件夹中排除文件
