工具箱相关
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.

Fody.targets 6.5KB

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