免责声明:我知道如果我选中“在目的地保留额外文件”复选框但我不想这样做,我可以保留文件夹权限。< / p>
也就是说,有没有办法在Visual Studio 2010中单击一次Web发布,保留远程服务器上文件夹的权限?
具体来说,我希望应用程序池帐户具有对App_Data文件夹的修改权限,但在发布过程中始终会重置权限。
答案 0 :(得分:15)
默认情况下,我们将在App_Data文件夹上调用Web Deploy SetAcl提供程序,此行为由MSBuild属性IncludeSetAclProviderOnDestination控制。在%ProgramFiles32%\ MSBuild \ Microsoft \ VisualStudio \ v10.0 \ Web \ Microsoft.Web.Publishing.targets 中,此属性的默认值为true。如果要阻止调用SetAcl提供程序,则可以在发布时将此属性设置为false。为此,请按照以下步骤操作。
<强> {项目名} .wpp.targets 强>
<?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<PropertyGroup>
<IncludeSetAclProviderOnDestination>false</IncludeSetAclProviderOnDestination>
</PropertyGroup>
</Project>
在此文件的内部,您可以看到我正在声明该属性并将其值设置为False。获得此文件后,我们的发布过程将自动从Visual Studio以及命令行中的任何发布操作中选择它。
如果您有其他问题,可以尝试一下并告诉我吗?