-
Notifications
You must be signed in to change notification settings - Fork 5.4k
Description
Part of prebuilt removal: dotnet/source-build#885
I looked at the Core-Setup Microsoft.DiaSymReader.Native 1.7.0 prebuilt dependency. I don't believe the source for this package is public, so we can't remove it by adding the repo to source-build.
Core-Setup redists the package's native DLLs in the Windows runtime packages. Not a problem for build from source: Windows is not a priority.
More interesting, the native DLL version info is included in the platform manifest file (in Microsoft.NETCore.App):
Microsoft.DiaSymReader.Native.x86.dll|Microsoft.NETCore.App||14.12.25830.2
Microsoft.DiaSymReader.Native.amd64.dll|Microsoft.NETCore.App||14.12.25830.2
Microsoft.DiaSymReader.Native.arm.dll|Microsoft.NETCore.App||14.12.25830.2
Removing this dependency would make source-build unable to produce the same platform manifest as the Microsoft build without workarounds. We could hard-code the values, or put these native DLLs through something like the ref-only prebuilt managed DLL infrastructure.
However, the source-built platform manifest file is already missing these entries, and more. This is because source-build only produces the manifest for the current platform, where the Microsoft build produces the manifest for all platforms. If this difference is ok, we can remove the dependency during builds from source without any concerns.