2011-10-27 18 views
10

Bazı ACL'leri ayarlayan özel bir .wpp.targets dosyam var. Visual Studio'dan oluşturduğumda, oluşturulan kaynak bildirim dosyası, özel ACL'leri içerir..wpp.targets dosyam neden oluşturma sunucumda uygulamıyor?

Yapı sunucumdan çalıştırdığımda, çalışmaz. Oluşturulan dosya, acl'nin .wpp.targets dosyasından dışarıda içermiyor.

Yapı sunucusunda .net framework 4 yüklü, web dağıtımı vardır, doğru Microsoft.Web.Publishing.targets dosyasına sahiptir. Sunucudaki yapıdan "AfterAddIisSettingAndFileContentsToSourceManifest" özelliğinin false olduğu görünen bazı tanılamaları dahil ettim. Yine de msbuild ile aşina değilim. Biri yardım edebilir mi?

DÜZENLEME:

<PropertyGroup> 
    <WebPublishPipelineCustomizeTargetFile Condition="'$(WebPublishPipelineCustomizeTargetFile)'==''">$(WebPublishPipelineProjectDirectory)\$(WebPublishPipelineProjectName).wpp.targets</WebPublishPipelineCustomizeTargetFile> 
    </PropertyGroup> 

    <Import Project="$(WebPublishPipelineCustomizeTargetFile)" Condition="Exists($(WebPublishPipelineCustomizeTargetFile))"/> 

Ancak msbuild çıktıda webpublishpipeline hakkında hiçbir şey yoktur:

benim Microsoft.Web.Publishing.targets aşağıdaki satırları olduğunu fark ettim. .wpp.targets dosyamın bile bakıldığını düşünmüyorum!

hedefleri dosyası:

<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0"> 
    <!-- 
    ******************************************************************** 
    Task Custom ACLs 
    ******************************************************************** 
    --> 
    <PropertyGroup> 
     <!-- Extends the AfterAddIisSettingAndFileContentsToSourceManifest action to also set ACLs--> 
      <AfterAddIisSettingAndFileContentsToSourceManifest Condition="'$(AfterAddIisSettingAndFileContentsToSourceManifest)'==''"> 
       $(AfterAddIisSettingAndFileContentsToSourceManifest); 
       SetCustomACLs; 
      </AfterAddIisSettingAndFileContentsToSourceManifest> 
     </PropertyGroup> 

     <Target Name="SetCustomACLs"> 
      <Message Text="Adding Custom ACls" /> 
      <ItemGroup> 
       <!--Make sure the by default Networkservice/AppPoolIdentity have write permission to the root--> 
       <MsDeploySourceManifest Include="setAcl" > 
        <Path>$(_MSDeployDirPath_FullPath)\bin\ABCpdf8-64.dll</Path> 
        <setAclAccess>ReadAndExecute</setAclAccess> 
        <setAclResourceType>File</setAclResourceType> 
        <AdditionalProviderSettings>setAclResourceType;setAclAccess</AdditionalProviderSettings> 
       </MsDeploySourceManifest> 
      </ItemGroup> 
     </Target> 
    </Project> 

Msbuild çıkışı:

[GenerateMsdeployManifestFiles] CallTarget 
    [22:13:44]: [CallTarget] Target "PipelinePreDeployCopyAllFilesToOneFolder" skipped. Previously built successfully. 
    [22:13:44]: [CallTarget] Target "GenerateMsDeployManifestSettings" skipped. Previously built successfully. 
    [22:13:44]: [CallTarget] Target "PipelinePreDeployCopyAllFilesToOneFolder" skipped. Previously built successfully. 
    [22:13:44]: [CallTarget] Target "GenerateMsDeployManifestSettings" skipped. Previously built successfully. 
    [22:13:44]: [CallTarget] Target "AddIis7ToSourceManifest" skipped, due to false condition; ($(_DeploymentUseIis) And ($(LocalIisVersion) >= '7')) was evaluated as (False And (7 >= '7')). 
    [22:13:44]: [CallTarget] Target "AddIis6ToSourceManifest" skipped, due to false condition; ($(_DeploymentUseIis) And ($(LocalIisVersion) < '7')) was evaluated as (False And (7 < '7')). 
    [22:13:44]: [CallTarget] AddContentPathToSourceManifest 
    [22:13:44]: [AddContentPathToSourceManifest] Using "GetDeployManagedRuntimeVersion" task from assembly "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll". 
    [22:13:44]: [AddContentPathToSourceManifest] Task "CallTarget" skipped, due to false condition; ('$(AfterAddContentPathToSourceManifest)' != '') was evaluated as ('' != ''). 
    [22:13:44]: [CallTarget] AddIisSettingAndFileContentsToSourceManifest 
    [22:13:44]: [AddIisSettingAndFileContentsToSourceManifest] Task "CallTarget" skipped, due to false condition; ('$(AfterAddIisSettingAndFileContentsToSourceManifest)' != '') was evaluated as ('' != ''). 
    [22:13:44]: [CallTarget] Target "CollectDatabasesToPublish" skipped, due to false condition; ($(PublishDatabases)) was evaluated as (false). 
    [22:13:44]: [CallTarget] AddDatabasesToSourceManifest 
    [22:13:44]: [AddDatabasesToSourceManifest] Task "CallTarget" skipped, due to false condition; ('$(AfterAddDatabasesToSourceManifest)' != '') was evaluated as ('' != ''). 
    [22:13:44]: [CallTarget] WriteItemsToSourceManifest 
    [22:13:44]: [WriteItemsToSourceManifest] Using "ExportManifestFile" task from assembly "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll". 
    [22:13:44]: [WriteItemsToSourceManifest] Task "CallTarget" skipped, due to false condition; ('$(AfterWriteItemsToSourceManifest)' != '') was evaluated as ('' != ''). 

cevap

3

Sen parametre WebPublishPipelineProjectName değiştirebilirsiniz. MSBuild, varsayılan olarak (MSBuildProject) .wpp.targets dosyasını bulmaya çalışır. MyProject.wpp.targets. ayarlamak için deneyin/p: WebPublishPipelineProjectName = Projem

Bu size

+3

öyle değil MyProject.csproj.wpp.targets ama MyProject.wpp.targets yardımcı olur umarım –

İlgili konular