You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I looked at the Core-Setup Microsoft.DiaSymReader.Native1.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.
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.
The text was updated successfully, but these errors were encountered:
I started a thread about this with @ericstj, @dsplaisted, and @nguerrera a little over a week ago but I haven't had time to follow up on it. To open it up to more input, here's info from the thread:
[@dagood] I’m wondering what the consequences are for source-build’s [platform manifest] being different from the Microsoft build’s. Maybe self-contained publish for win-x64 by a Linux source-built SDK is a little broken, or something like that?
[@ericstj] PlatformManifest never impacts self-contained. With Self-contained you always have the “real” assets to resolve with.
The PlatformManifest is used for framework-dependent. It’s listing out all the things that are in the shared framework but not visible at build time so that conflict resolution can “know” to remove them.
Some of this is less important since the host now does some conflict resolution at runtime with version info from the deps file. I believe it’s still relevant for stuff that the host can’t resolve. For example: someone directly references a 1.0 copy of a native-shim package, so they get an app-local copy (in RID specific folder) of one of our native shims. How do we make sure this doesn’t downgrade the shared framework?
dagood
changed the title
Remove Microsoft.DiaSymReader.Native source-build prebuilt
source-build: Remove Microsoft.DiaSymReader.Native prebuilt
May 30, 2019
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.https://github.com/dotnet/core-setup/blob/855cd7611a68f849e041e13a7836f10eaa6e1ed4/src/pkg/projects/netcoreapp/src/netcoreapp.depproj#L16
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
):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.
The text was updated successfully, but these errors were encountered: