Skip to content

Commit 49d121b

Browse files
committed
Fix .NET Standard support
1 parent dcd18a8 commit 49d121b

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

nng.NET.Shared/AssemblyLoadContext.cs

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,18 @@ protected override Assembly Load(AssemblyName assemblyName)
4646
if (assemblyName.Name == managedAssemblyName)
4747
{
4848
// Try framework-specific managed assembly path
49-
var path = Path.Combine(assemblyPath, "runtimes", "any", "lib", "net6.0"
49+
var path = Path.Combine(assemblyPath, "runtimes", "any", "lib",
50+
#if NETSTANDARD1_5
51+
"netstandard1.5"
52+
#elif NETSTANDARD2_0
53+
"netstandard2.0"
54+
#elif NET5_0
55+
"net5.0"
56+
#elif NET6_0
57+
"net6.0"
58+
#else
59+
#error "Unsupported framework?"
60+
#endif
5061
, managedAssemblyName + ".dll");
5162
if (!File.Exists(path))
5263
{
@@ -63,7 +74,11 @@ protected override IntPtr LoadUnmanagedDll(string unmanagedDllName)
6374
{
6475
if (unmanagedDllName == "nng")
6576
{
77+
#if NETSTANDARD2_0
78+
bool is64bit = Environment.Is64BitProcess;
79+
#else
6680
bool is64bit = (IntPtr.Size == 8);
81+
#endif
6782
string arch = string.Empty;
6883
switch (RuntimeInformation.ProcessArchitecture)
6984
{
@@ -91,8 +106,7 @@ protected override IntPtr LoadUnmanagedDll(string unmanagedDllName)
91106
throw new Exception("Unexpected runtime OS platform: " + RuntimeInformation.OSDescription);
92107
}
93108
}
94-
95-
return base.LoadUnmanagedDll(unmanagedDllName);
109+
return IntPtr.Zero;
96110
}
97111

98112
const string managedAssemblyName = "nng.NET";

0 commit comments

Comments
 (0)