Оказывается, что нет конкретного способа сообщить цели пакета для установки разрешений.Поэтому обходной путь - установить разрешения самостоятельно после цели Package.
Вот как я это сделал.Часть с регулярным выражением - извлечь имя файла проекта из пути к файлу проекта, который есть в нашем скрипте сборки.Это имя совпадает с созданной папкой. \ Output \ Packages \.Затем я вызываю cacls внутри команды exec, чтобы установить разрешения для каждого файла в этом каталоге для указанного пользователем пользователя.
<Target Name="Package">
<MSBuild Projects="@(PackageProject)" Targets="Package" Properties="Platform=$(Platform);
Configuration=$(Configuration);
DeployOnBuild=true;
DeployTarget=Package;
PackageLocation=$(PackageOutputDir)\$([System.Text.RegularExpressions.Regex]::Split($(ProjectName), '(.*\\)([a-z,A-Z,0-9,_,-]+)(\.\*proj;)')[2])\$([System.Text.RegularExpressions.Regex]::Split($(ProjectName), '(.*\\)([a-z,A-Z,0-9,_,-]+)(\.\*proj;)')[2]).zip;
PackageAsSingleFile=true;
ExcludeFilesFromDeployment=Web.config;
_PackageTempDir=$(PackageOutputDir)\temp;">
</MSBuild>
<Exec Command="echo y| cacls $(PackageOutputDir)\$([System.Text.RegularExpressions.Regex]::Split($(ProjectName), '(.*\\)([a-z,A-Z,0-9,_,-]+)(\.\*proj;)')[2])\* /G NetworkService:F"/>
</Target>