Ви не можете вибрати більше 25 тем Теми мають розпочинатися з літери або цифри, можуть містити дефіси (-) і не повинні перевищувати 35 символів.
 
 
 
 
 
 

148 рядки
6.6 KiB

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- Copyright (c) Microsoft. All Rights Reserved. Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information. -->
  3. <Project ToolsVersion="14.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  4. <Target Name="CoreCompile"
  5. Inputs="$(MSBuildAllProjects);
  6. @(Compile);
  7. @(_CoreCompileResourceInputs);
  8. $(ApplicationIcon);
  9. $(AssemblyOriginatorKeyFile);
  10. @(ReferencePath);
  11. @(CompiledLicenseFile);
  12. @(LinkResource);
  13. @(EmbeddedDocumentation);
  14. $(Win32Resource);
  15. $(Win32Manifest);
  16. @(CustomAdditionalCompileInputs);
  17. $(ResolvedCodeAnalysisRuleSet);
  18. @(AdditionalFiles);
  19. @(EmbeddedFiles)"
  20. Outputs="@(DocFileItem);
  21. @(IntermediateAssembly);
  22. @(_DebugSymbolsIntermediatePath);
  23. $(NonExistentFile);
  24. @(CustomAdditionalCompileOutputs)"
  25. Returns="@(VbcCommandLineArgs)"
  26. DependsOnTargets="$(CoreCompileDependsOn)">
  27. <PropertyGroup>
  28. <_NoWarnings Condition="'$(WarningLevel)' == '0'">true</_NoWarnings>
  29. <_NoWarnings Condition="'$(WarningLevel)' == '1'">false</_NoWarnings>
  30. </PropertyGroup>
  31. <PropertyGroup>
  32. <!-- If we are targeting winmdobj we want to specifically the pdbFile property since we do not want it to collide with the output of winmdexp-->
  33. <PdbFile Condition="'$(PdbFile)' == '' AND '$(OutputType)' == 'winmdobj' AND '$(DebugSymbols)' == 'true'">$(IntermediateOutputPath)$(TargetName).compile.pdb</PdbFile>
  34. </PropertyGroup>
  35. <ItemGroup Condition="'$(TargetingClr2Framework)' == 'true'">
  36. <ReferencePath>
  37. <EmbedInteropTypes />
  38. </ReferencePath>
  39. </ItemGroup>
  40. <!-- Prefer32Bit was introduced in .NET 4.5. Set it to false if we are targeting 4.0 -->
  41. <PropertyGroup Condition="('$(TargetFrameworkVersion)' == 'v4.0')">
  42. <Prefer32Bit>false</Prefer32Bit>
  43. </PropertyGroup>
  44. <!-- TODO: Remove this ItemGroup once it has been moved to "_GenerateCompileInputs" target in Microsoft.Common.CurrentVersion.targets.
  45. https://github.com/dotnet/roslyn/issues/12223 -->
  46. <ItemGroup Condition="('$(AdditionalFileItemNames)' != '')">
  47. <AdditionalFileItems Include="$(AdditionalFileItemNames)" />
  48. <AdditionalFiles Include="@(%(AdditionalFileItems.Identity))" />
  49. </ItemGroup>
  50. <PropertyGroup Condition="'$(UseSharedCompilation)' == ''">
  51. <UseSharedCompilation>true</UseSharedCompilation>
  52. </PropertyGroup>
  53. <!-- Condition is to filter out the _CoreCompileResourceInputs so that it doesn't pass in culture resources to the compiler -->
  54. <Vbc Condition="'%(_CoreCompileResourceInputs.WithCulture)' != 'true'"
  55. AdditionalLibPaths="$(AdditionalLibPaths)"
  56. AddModules="@(AddModules)"
  57. AdditionalFiles="@(AdditionalFiles)"
  58. Analyzers="@(Analyzer)"
  59. BaseAddress="$(BaseAddress)"
  60. ChecksumAlgorithm="$(ChecksumAlgorithm)"
  61. CodeAnalysisRuleSet="$(ResolvedCodeAnalysisRuleSet)"
  62. CodePage="$(CodePage)"
  63. DebugType="$(DebugType)"
  64. DefineConstants="$(FinalDefineConstants)"
  65. DelaySign="$(DelaySign)"
  66. DisabledWarnings="$(NoWarn)"
  67. DocumentationFile="@(DocFileItem)"
  68. EmbeddedFiles="@(EmbeddedFiles)"
  69. EmitDebugInformation="$(DebugSymbols)"
  70. EnvironmentVariables="$(VbcEnvironment)"
  71. ErrorLog="$(ErrorLog)"
  72. ErrorReport="$(ErrorReport)"
  73. Features="$(Features)"
  74. FileAlignment="$(FileAlignment)"
  75. GenerateDocumentation="$(GenerateDocumentation)"
  76. HighEntropyVA="$(HighEntropyVA)"
  77. Imports="@(Import)"
  78. Instrument="$(Instrument)"
  79. KeyContainer="$(KeyContainerName)"
  80. KeyFile="$(KeyOriginatorFile)"
  81. LangVersion="$(LangVersion)"
  82. LinkResources="@(LinkResource)"
  83. MainEntryPoint="$(StartupObject)"
  84. ModuleAssemblyName="$(ModuleAssemblyName)"
  85. NoConfig="true"
  86. NoStandardLib="$(NoCompilerStandardLib)"
  87. NoVBRuntimeReference="$(NoVBRuntimeReference)"
  88. NoWarnings="$(_NoWarnings)"
  89. NoWin32Manifest="$(NoWin32Manifest)"
  90. Optimize="$(Optimize)"
  91. Deterministic="$(Deterministic)"
  92. PublicSign="$(PublicSign)"
  93. OptionCompare="$(OptionCompare)"
  94. OptionExplicit="$(OptionExplicit)"
  95. OptionInfer="$(OptionInfer)"
  96. OptionStrict="$(OptionStrict)"
  97. OptionStrictType="$(OptionStrictType)"
  98. OutputAssembly="@(IntermediateAssembly)"
  99. PdbFile="$(PdbFile)"
  100. Platform="$(PlatformTarget)"
  101. Prefer32Bit="$(Prefer32Bit)"
  102. PreferredUILang="$(PreferredUILang)"
  103. ProvideCommandLineArgs="$(ProvideCommandLineArgs)"
  104. References="@(ReferencePath)"
  105. RemoveIntegerChecks="$(RemoveIntegerChecks)"
  106. ReportAnalyzer="$(ReportAnalyzer)"
  107. Resources="@(_CoreCompileResourceInputs);@(CompiledLicenseFile)"
  108. ResponseFiles="$(CompilerResponseFile)"
  109. RootNamespace="$(RootNamespace)"
  110. RuntimeMetadataVersion="$(RuntimeMetadataVersion)"
  111. SdkPath="$(FrameworkPathOverride)"
  112. SkipCompilerExecution="$(SkipCompilerExecution)"
  113. Sources="@(Compile)"
  114. SubsystemVersion="$(SubsystemVersion)"
  115. TargetCompactFramework="$(TargetCompactFramework)"
  116. TargetType="$(OutputType)"
  117. ToolExe="$(VbcToolExe)"
  118. ToolPath="$(VbcToolPath)"
  119. TreatWarningsAsErrors="$(TreatWarningsAsErrors)"
  120. UseHostCompilerIfAvailable="$(UseHostCompilerIfAvailable)"
  121. UseSharedCompilation="$(UseSharedCompilation)"
  122. Utf8Output="$(Utf8Output)"
  123. VBRuntimePath="$(VBRuntimePath)"
  124. Verbosity="$(VbcVerbosity)"
  125. VsSessionGuid="$(VsSessionGuid)"
  126. WarningsAsErrors="$(WarningsAsErrors)"
  127. WarningsNotAsErrors="$(WarningsNotAsErrors)"
  128. Win32Icon="$(ApplicationIcon)"
  129. Win32Manifest="$(Win32Manifest)"
  130. Win32Resource="$(Win32Resource)"
  131. VBRuntime="$(VBRuntime)"
  132. PathMap="$(PathMap)"
  133. SourceLink="$(SourceLink)">
  134. <Output TaskParameter="CommandLineArgs" ItemName="VbcCommandLineArgs" />
  135. </Vbc>
  136. <ItemGroup>
  137. <_CoreCompileResourceInputs Remove="@(_CoreCompileResourceInputs)" />
  138. </ItemGroup>
  139. <CallTarget Targets="$(TargetsTriggeredByCompilation)" Condition="'$(TargetsTriggeredByCompilation)' != ''" />
  140. </Target>
  141. </Project>