[nativeaot] fix .resx
files in apps
#9905
Open
+20
−7
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
The
EmbeddedResources_ShouldBeLocalized()
test was failing under a NativeAOT context:After reviewing a
.binlog
, it appears the_ComputeIlcCompileInputs
MSBuild target was not working as expected:https://github.com/dotnet/runtime/blob/cc803458ab4dabf020b462873be5bf56f1640b1e/src/coreclr/nativeaot/BuildIntegration/Microsoft.NETCore.Native.Publish.targets#L3-L11
@(IntermediateSatelliteAssembliesWithTargetPath)
was blank!The problem being the way Android has an "inner" build per RID:
@(IntermediateSatelliteAssembliesWithTargetPath)
is set in the "outer" build.@(IntermediateSatelliteAssembliesWithTargetPath)
is blank in the "inner" build per RID.The "inner" build is where the ILC compiler runs, and so it doesn't see the current project's
*.resource.dll
file.To fix this, we can pass
$(_OuterIntermediateSatelliteAssembliesWithTargetPath)
into the inner build.I updated an MSBuild test to run normally and in a NativeAOT context.