如果你将某个程序集列入 PublishReadyToRunPartialAssemblies,但同时又将其编译为 ReadyToRun 复合映像,则会触发 NETSDK1237 警告。 只能对单独编译的程序集使用部分编译。 SDK 会将程序集完整编译为复合映像,并忽略为其设置的 PublishReadyToRunPartialAssemblies 属性。
当在项目文件中将 PublishReadyToRunComposite 设置为 true 并在 PublishReadyToRunPartialAssemblies 中包含程序集时,将显示 NETSDK1237:
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<PublishReadyToRun>true</PublishReadyToRun>
<PublishReadyToRunComposite>true</PublishReadyToRunComposite>
</PropertyGroup>
<ItemGroup>
<!-- NETSDK1237 is emitted for each assembly listed here -->
<PublishReadyToRunPartialAssemblies Include="SomeAssembly" />
</ItemGroup>
</Project>
若要解决此警告,请选择以下选项之一:
- 要使程序集完全编译到复合映像中,请先将其从
PublishReadyToRunPartialAssemblies中删除。 - 如果您希望部分和单独编译程序集,而非合并到复合镜像中,请将
PublishReadyToRunComposite设置为false。