Skip to content
This repository was archived by the owner on Nov 16, 2023. It is now read-only.

CodeAnalysis: Resolving: add Mono's DllMap support#305

Merged
abock merged 4 commits intomicrosoft:masterfrom
abock:dllmap
May 22, 2018
Merged

CodeAnalysis: Resolving: add Mono's DllMap support#305
abock merged 4 commits intomicrosoft:masterfrom
abock:dllmap

Conversation

@abock
Copy link
Copy Markdown
Contributor

@abock abock commented May 20, 2018

This is a managed implementation of Mono's DLL mapping support that allows for platform-specific mapping of native libraries and symbols within them.

We will use this as a basis for providing better native library loading support for NuGet in .NET Core in particular via AssemblyLoadContext.LoadUnmanagedDll(string unmanagedDllName).

Unfortunately AssemblyLoadContext does not support symbol mapping, but it is implemented in the DllMap in this commit should the ability be introduced in the future.

This is likely a good basis for #204.

lewing
lewing previously approved these changes May 21, 2018
@abock abock force-pushed the dllmap branch 5 times, most recently from 0974913 to 7b567a5 Compare May 22, 2018 01:01
abock added 4 commits May 21, 2018 21:23
Similar to our Sdk type, but just for runtime.
This is a managed implementation of Mono's DLL mapping support that
allows for platform-specific mapping of native libraries and symbols
within them.

We will use this as a basis for providing better native library loading
support for NuGet in .NET Core in particular via AssemblyLoadContext
LoadUnmanagedDll(string unmanagedDllName).

Unfortunately AssemblyLoadContext does not support symbol mapping, but
it is implemented in the DllMap in this commit should the ability be
introduced in the future.
Copy link
Copy Markdown
Contributor

@bojanrajkovic bojanrajkovic left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good!

I might've condensed the Architecture switch in ToString seeing as every case does essentially the same operation, but it's neither here nor there.

@abock abock merged commit 283fdf5 into microsoft:master May 22, 2018
@abock abock deleted the dllmap branch May 22, 2018 17:47
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants