IntermediateAssembly 最初设置在哪里?

Where is IntermediateAssembly set initially?

请问IntermediateAssembly最初是在哪里设置的

我问的原因是我想优化我的作业以仅在 IntermediateAssembly 初始化后应用。

考虑以下比较:

<Project Sdk="Microsoft.NET.Sdk">
    <ItemGroup>
        <!-- NOT WORKING: list is empty -->
        <ModuleInitializerAssemblyLoaderInjectionTargetAssemblies Include="@(IntermediateAssembly->'%(Identity)')" />
    </ItemGroup>
</Project>
<Project InitialTargets="init" Sdk="Microsoft.NET.Sdk">
  <Target Name="init">
    <ItemGroup>
        <!-- WORKING: list is initialized -->
        <ModuleInitializerAssemblyLoaderInjectionTargetAssemblies Include="@(IntermediateAssembly->'%(Identity)')" />
    </ItemGroup>
  </Target>
</Project>

dotnet sdk中我找不到最初设置IntermediateAssembly的参考。

经过搜索,我在这里找到了https://github.com/dotnet/msbuild/blob/fdddb27ebec8f6a51513b6e869f039a32d3a8c39/src/Tasks/Microsoft.Common.CurrentVersion.targets#L359

Project节点下的ItemGroupMicrosoft.Common.CurrentVersion.targets设置。