msbuild – 为什么我的.wpp.targets文件不能应用在我的构建服务器上?

前端之家收集整理的这篇文章主要介绍了msbuild – 为什么我的.wpp.targets文件不能应用在我的构建服务器上?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个自定义.wpp.targets文件,它设置一些ACL.当从visual studio中构建时,生成的源清单文件包含自定义ACL.

当我从构建服务器运行时,它不起作用.生成文件不包含.wpp.targets文件中的acl.

构建服务器安装了.net框架4,Web部署,它具有正确的Microsoft.Web.Publishing.targets文件.我在服务器上的构建中包含了一些诊断,似乎“AfterAddIisSettingAndFileContentsToSourceManifest”属性为false.我对msbuild不熟悉.谁能帮忙?

编辑:

我注意到在我的Microsoft.Web.Publishing.targets中有以下几行:

  1. <PropertyGroup>
  2. <WebPublishPipelineCustomizeTargetFile Condition="'$(WebPublishPipelineCustomizeTargetFile)'==''">$(WebPublishPipelineProjectDirectory)\$(WebPublishPipelineProjectName).wpp.targets</WebPublishPipelineCustomizeTargetFile>
  3. </PropertyGroup>
  4.  
  5. <Import Project="$(WebPublishPipelineCustomizeTargetFile)" Condition="Exists($(WebPublishPipelineCustomizeTargetFile))"/>

但是在msbuild的输出中没有关于webpublishpipeline的信息.我不认为我的.wpp.targets文件甚至被看着!

目标文件

  1. <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003" ToolsVersion="4.0">
  2. <!--
  3. ********************************************************************
  4. Task Custom ACLs
  5. ********************************************************************
  6. -->
  7. <PropertyGroup>
  8. <!-- Extends the AfterAddIisSettingAndFileContentsToSourceManifest action to also set ACLs-->
  9. <AfterAddIisSettingAndFileContentsToSourceManifest Condition="'$(AfterAddIisSettingAndFileContentsToSourceManifest)'==''">
  10. $(AfterAddIisSettingAndFileContentsToSourceManifest);
  11. SetCustomACLs;
  12. </AfterAddIisSettingAndFileContentsToSourceManifest>
  13. </PropertyGroup>
  14.  
  15. <Target Name="SetCustomACLs">
  16. <Message Text="Adding Custom ACls" />
  17. <ItemGroup>
  18. <!--Make sure the by default Networkservice/AppPoolIdentity have write permission to the root-->
  19. <MsDeploySourceManifest Include="setAcl" >
  20. <Path>$(_MSDeployDirPath_FullPath)\bin\ABCpdf8-64.dll</Path>
  21. <setAclAccess>ReadAndExecute</setAclAccess>
  22. <setAclResourceType>File</setAclResourceType>
  23. <AdditionalProviderSettings>setAclResourceType;setAclAccess</AdditionalProviderSettings>
  24. </MsDeploySourceManifest>
  25. </ItemGroup>
  26. </Target>
  27. </Project>

msbuild输出

  1. [GenerateMsdeployManifestFiles] CallTarget
  2. [22:13:44]: [CallTarget] Target "PipelinePreDeployCopyAllFilesToOneFolder" skipped. PrevIoUsly built successfully.
  3. [22:13:44]: [CallTarget] Target "GenerateMsDeployManifestSettings" skipped. PrevIoUsly built successfully.
  4. [22:13:44]: [CallTarget] Target "PipelinePreDeployCopyAllFilesToOneFolder" skipped. PrevIoUsly built successfully.
  5. [22:13:44]: [CallTarget] Target "GenerateMsDeployManifestSettings" skipped. PrevIoUsly built successfully.
  6. [22:13:44]: [CallTarget] Target "AddIis7ToSourceManifest" skipped,due to false condition; ($(_DeploymentUseIis) And ($(LocalIisVersion) >= '7')) was evaluated as (False And (7 >= '7')).
  7. [22:13:44]: [CallTarget] Target "AddIis6ToSourceManifest" skipped,due to false condition; ($(_DeploymentUseIis) And ($(LocalIisVersion) < '7') ) was evaluated as (False And (7 < '7') ).
  8. [22:13:44]: [CallTarget] AddContentPathToSourceManifest
  9. [22:13:44]: [AddContentPathToSourceManifest] Using "GetDeployManagedRuntimeVersion" task from assembly "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll".
  10. [22:13:44]: [AddContentPathToSourceManifest] Task "CallTarget" skipped,due to false condition; ('$(AfterAddContentPathToSourceManifest)' != '') was evaluated as ('' != '').
  11. [22:13:44]: [CallTarget] AddIisSettingAndFileContentsToSourceManifest
  12. [22:13:44]: [AddIisSettingAndFileContentsToSourceManifest] Task "CallTarget" skipped,due to false condition; ('$(AfterAddIisSettingAndFileContentsToSourceManifest)' != '') was evaluated as ('' != '').
  13. [22:13:44]: [CallTarget] Target "CollectDatabasesToPublish" skipped,due to false condition; ($(PublishDatabases)) was evaluated as (false).
  14. [22:13:44]: [CallTarget] AddDatabasesToSourceManifest
  15. [22:13:44]: [AddDatabasesToSourceManifest] Task "CallTarget" skipped,due to false condition; ('$(AfterAddDatabasesToSourceManifest)' != '') was evaluated as ('' != '').
  16. [22:13:44]: [CallTarget] WriteItemsToSourceManifest
  17. [22:13:44]: [WriteItemsToSourceManifest] Using "ExportManifestFile" task from assembly "C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v10.0\Web\Microsoft.Web.Publishing.Tasks.dll".
  18. [22:13:44]: [WriteItemsToSourceManifest] Task "CallTarget" skipped,due to false condition; ('$(AfterWriteItemsToSourceManifest)' != '') was evaluated as ('' != '').
您可以更改参数WebPublishPipelineProjectName. MSBuild默认找到(MSBuildProject).wpp.targets,例如MyProject.wpp.targets.尝试设置/ p:WebPublishPipelineProjectName = MyProject

我希望这可以帮助你

猜你在找的Windows相关文章