免責聲明:我知道我可以保留文件夾權限,如果我選中「在目標上留下額外的文件」複選框但我不想那麼做。我可以在一鍵式網頁發佈過程中保留文件夾權限嗎?
也就是說,有什麼辦法讓Visual Studio 2010中的一鍵式Web發佈保留遠程服務器上文件夾的權限?
具體而言,我希望應用程序池帳戶具有對App_Data文件夾的修改權限,但在發佈過程中權限始終得到重置。
免責聲明:我知道我可以保留文件夾權限,如果我選中「在目標上留下額外的文件」複選框但我不想那麼做。我可以在一鍵式網頁發佈過程中保留文件夾權限嗎?
也就是說,有什麼辦法讓Visual Studio 2010中的一鍵式Web發佈保留遠程服務器上文件夾的權限?
具體而言,我希望應用程序池帳戶具有對App_Data文件夾的修改權限,但在發佈過程中權限始終得到重置。
默認情況下,我們將調用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)以及命令行中的任何發佈操作獲取。
你可以試試看,讓我知道如果你有進一步的問題?
釘住它。謝謝你,先生。現在,有一個後續問題。爲了做到這一點,我必須在App_Data中放置一個虛擬佔位符文件,因爲它最初沒有文件。 (我正在使用它作爲我正在使用的第三方庫的運行時緩存位置。)我不認爲我可以「取消選中」保留額外的文件...但不知何故告訴它明確不刪除App_Data? – Lobstrosity
我想你將不得不保留在那裏的虛擬文件現在:(對不起。 –
已記錄。感謝您的幫助。 – Lobstrosity