Где изначально устанавливается IntermediateAssembly? - PullRequest
0 голосов
/ 02 августа 2020

Я хочу, чтобы вы спросили, где изначально устанавливается 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>

In do tnet sdk Я не могу найти ссылку, в которой изначально установлена ​​IntermediateAssembly.

1 Ответ

1 голос
/ 02 августа 2020

После поиска я нашел его здесь https://github.com/dotnet/msbuild/blob/fdddb27ebec8f6a51513b6e869f039a32d3a8c39/src/Tasks/Microsoft.Common.CurrentVersion.targets#L359.

Он установлен в Microsoft.Common.CurrentVersion.targets в ItemGroup под узлом Project.

...