2011-10-27 13 views
10

मेरे पास एक कस्टम .wpp.targets फ़ाइल है जो कुछ एसीएल सेट कर रही है। जब मैं विजुअल स्टूडियो के भीतर से निर्माण करता हूं, तो जेनरेट की गई स्रोत मेनिफेस्ट फ़ाइल में कस्टम एसीएल होता है।मेरी बिल्ड सर्वर पर मेरी .wpp.targets फ़ाइल क्यों लागू नहीं होती है?

जब मैं अपने बिल्ड सर्वर से चलाता हूं, तो यह काम नहीं करता है। जेनरेट की गई फ़ाइल में .clpp.targets फ़ाइल से एसीएल नहीं है।

बिल्ड सर्वर में .NET Framework 4 स्थापित है, वेब परिनियोजन है, इसमें सही Microsoft.Web.Publishing.targets फ़ाइल है। मैंने सर्वर पर निर्माण से कुछ निदान शामिल किए हैं, जहां ऐसा लगता है कि "AfterAddIisSettingAndFileContentsToSourceManifest" प्रॉपर्टी गलत है। हालांकि मैं msbuild से परिचित नहीं हूँ। क्या कोई मदद कर सकता है?

संपादित करें:

मैंने देखा मेरे Microsoft.Web.Publishing.targets में है कि वहाँ निम्नलिखित लाइनों:

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

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

लेकिन वहाँ MSBuild से उत्पादन में webpublishpipeline के बारे में कुछ नहीं है। मुझे नहीं लगता कि मेरी .wpp.targets फ़ाइल को भी देखा जा रहा है!

लक्ष्य फ़ाइल:

<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 उत्पादन:

[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 ('' != ''). 

उत्तर

3

आप पैरामीटर WebPublishPipelineProjectName बदल सकते हैं। MSBuild डिफ़ॉल्ट रूप से (MSBuildProject) .wpp.targets को खोजने का प्रयास करता है, उदा। MyProject.wpp.targets। स्थापित करने के लिए प्रयास करें/p: WebPublishPipelineProjectName = MyProject

मुझे आशा है कि यह आप

+3

यह नहीं MyProject.csproj.wpp.targets लेकिन MyProject.wpp.targets में मदद करता है –

संबंधित मुद्दे