工具箱相关
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

Fody.targets 6.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147
  1. <Project>
  2. <PropertyGroup>
  3. <ProjectWeaverXml Condition="$(ProjectWeaverXml) == ''">$(ProjectDir)FodyWeavers.xml</ProjectWeaverXml>
  4. <FodyPath Condition="$(FodyPath) == ''">$(MSBuildThisFileDirectory)..\</FodyPath>
  5. <FodyAssemblyDirectory Condition="$(MSBuildRuntimeType) == 'Core'">$(FodyPath)netstandardtask</FodyAssemblyDirectory>
  6. <FodyAssemblyDirectory Condition="$(MSBuildRuntimeType) != 'Core'">$(FodyPath)netclassictask</FodyAssemblyDirectory>
  7. <FodyAssembly Condition="$(FodyAssembly) == ''">$(FodyAssemblyDirectory)\Fody.dll</FodyAssembly>
  8. <DefaultItemExcludes>$(DefaultItemExcludes);FodyWeavers.xsd</DefaultItemExcludes>
  9. <FodyGenerateXsd Condition="$(FodyGenerateXsd) == ''">true</FodyGenerateXsd>
  10. <MsBuildMajorVersion>15</MsBuildMajorVersion>
  11. <MsBuildMajorVersion Condition="'$(MSBuildVersion)' != ''">$([System.Version]::Parse($(MSBuildVersion)).Major)</MsBuildMajorVersion>
  12. <FodyAfterTargets Condition="($(MsBuildMajorVersion) &lt; 17) AND '$(FodyAfterTargets)'==''">AfterCompile</FodyAfterTargets>
  13. <TargetsTriggeredByCompilation Condition="'$(FodyAfterTargets)'==''">$(TargetsTriggeredByCompilation);FodyTarget</TargetsTriggeredByCompilation>
  14. <DisableFody Condition='$(UseWPF)==true AND $(MSBuildProjectName.EndsWith("_wpftmp"))'>true</DisableFody>
  15. </PropertyGroup>
  16. <ItemGroup Condition="Exists($(ProjectWeaverXml))">
  17. <UpToDateCheckInput Include="$(ProjectWeaverXml)" />
  18. <CustomAdditionalCompileInputs Include="$(ProjectWeaverXml)" />
  19. </ItemGroup>
  20. <!-- Support for NCrunch -->
  21. <ItemGroup Condition="'$(NCrunch)' == '1' and '$(TargetFramework)' == '' and '$(TargetFrameworks)' == ''">
  22. <None Include="$(FodyAssemblyDirectory)\*.*" />
  23. <None Include="@(WeaverFiles)" />
  24. </ItemGroup>
  25. <UsingTask TaskName="Fody.WeavingTask" AssemblyFile="$(FodyAssembly)" />
  26. <UsingTask TaskName="Fody.UpdateCopyLocalTask" AssemblyFile="$(FodyAssembly)" />
  27. <UsingTask TaskName="Fody.VerifyTask" AssemblyFile="$(FodyAssembly)" />
  28. <Target
  29. Name="FodyTarget"
  30. AfterTargets="$(FodyAfterTargets)"
  31. Condition="Exists(@(IntermediateAssembly)) And ($(DesignTimeBuild) != true Or $(BuildingForLiveUnitTesting) == true) And $(DisableFody) != true"
  32. DependsOnTargets="$(FodyDependsOnTargets)"
  33. Inputs="@(IntermediateAssembly);$(ProjectWeaverXml)"
  34. Outputs="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache;$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.RuntimeCopyLocal.cache">
  35. <Error Condition="($(MsBuildMajorVersion) &lt; 16)"
  36. Text="Fody is only supported on MSBuild 16 and above. Current version: $(MsBuildMajorVersion)." />
  37. <Fody.WeavingTask
  38. AssemblyFile="@(IntermediateAssembly)"
  39. IntermediateDirectory="$(ProjectDir)$(IntermediateOutputPath)"
  40. KeyOriginatorFile="$(KeyOriginatorFile)"
  41. AssemblyOriginatorKeyFile="$(AssemblyOriginatorKeyFile)"
  42. ProjectDirectory="$(MSBuildProjectDirectory)"
  43. ProjectFile="$(MSBuildProjectFullPath)"
  44. SolutionDirectory="$(SolutionDir)"
  45. References="@(ReferencePath)"
  46. SignAssembly="$(SignAssembly)"
  47. DelaySign="$(DelaySign)"
  48. ReferenceCopyLocalFiles="@(ReferenceCopyLocalPaths)"
  49. RuntimeCopyLocalFiles="@(RuntimeCopyLocalItems)"
  50. DefineConstants="$(DefineConstants)"
  51. DocumentationFile="@(DocFileItem->'%(FullPath)')"
  52. WeaverFiles="@(WeaverFiles)"
  53. WeaverConfiguration="$(WeaverConfiguration)"
  54. PackageReferences="@(PackageReference)"
  55. NCrunchOriginalSolutionDirectory="$(NCrunchOriginalSolutionDir)"
  56. IntermediateCopyLocalFilesCache="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache"
  57. RuntimeCopyLocalFilesCache="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.RuntimeCopyLocal.cache"
  58. GenerateXsd="$(FodyGenerateXsd)"
  59. >
  60. <Output
  61. TaskParameter="ExecutedWeavers"
  62. PropertyName="FodyExecutedWeavers" />
  63. </Fody.WeavingTask>
  64. <ItemGroup>
  65. <FileWrites Include="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache" />
  66. <FileWrites Include="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.RuntimeCopyLocal.cache" />
  67. </ItemGroup>
  68. </Target>
  69. <Target
  70. Name="FodyUpdateReferenceCopyLocalFilesTarget"
  71. AfterTargets="FodyTarget"
  72. >
  73. <Fody.UpdateCopyLocalTask
  74. CopyLocalFiles="@(ReferenceCopyLocalPaths)"
  75. IntermediateCopyLocalFilesCache="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.CopyLocal.cache"
  76. >
  77. <Output
  78. TaskParameter="UpdatedCopyLocalFiles"
  79. ItemName="FodyUpdatedReferenceCopyLocalPaths" />
  80. </Fody.UpdateCopyLocalTask>
  81. <ItemGroup>
  82. <FodyRemovedReferenceCopyLocalPaths Include="@(ReferenceCopyLocalPaths)" />
  83. <FodyRemovedReferenceCopyLocalPaths Remove="@(FodyUpdatedReferenceCopyLocalPaths)" />
  84. <ReferenceCopyLocalPaths Remove="@(ReferenceCopyLocalPaths)" />
  85. <ReferenceCopyLocalPaths Include="@(FodyUpdatedReferenceCopyLocalPaths)" />
  86. </ItemGroup>
  87. </Target>
  88. <Target
  89. Name="FodyUpdateRuntimeCopyLocalItemsTarget"
  90. AfterTargets="FodyTarget"
  91. >
  92. <Fody.UpdateCopyLocalTask
  93. CopyLocalFiles="@(RuntimeCopyLocalItems)"
  94. IntermediateCopyLocalFilesCache="$(IntermediateOutputPath)$(MSBuildProjectFile).Fody.RuntimeCopyLocal.cache"
  95. >
  96. <Output
  97. TaskParameter="UpdatedCopyLocalFiles"
  98. ItemName="FodyUpdatedRuntimeCopyLocalItems" />
  99. </Fody.UpdateCopyLocalTask>
  100. <ItemGroup>
  101. <FodyRemovedRuntimeCopyLocalItems Include="@(RuntimeCopyLocalItems)" />
  102. <FodyRemovedRuntimeCopyLocalItems Remove="@(FodyUpdatedRuntimeCopyLocalItems)" />
  103. <RuntimeCopyLocalItems Remove="@(RuntimeCopyLocalItems)" />
  104. <RuntimeCopyLocalItems Include="@(FodyUpdatedRuntimeCopyLocalItems)" />
  105. </ItemGroup>
  106. </Target>
  107. <Target
  108. Name="FodyVerifyTarget"
  109. AfterTargets="AfterBuild"
  110. Condition="'$(NCrunch)' != '1' And $(FodyExecutedWeavers) != '' And $(DisableFody) != true"
  111. DependsOnTargets="$(FodyVerifyDependsOnTargets)">
  112. <Fody.VerifyTask
  113. ProjectDirectory="$(MSBuildProjectDirectory)"
  114. TargetPath="$(TargetPath)"
  115. SolutionDirectory="$(SolutionDir)"
  116. WeaverConfiguration="$(WeaverConfiguration)"
  117. DefineConstants="$(DefineConstants)"
  118. NCrunchOriginalSolutionDirectory="$(NCrunchOriginalSolutionDir)"
  119. />
  120. </Target>
  121. </Project>