Skip to content

Commit 03c41f2

Browse files
committed
also build for net472, load correct openssl in net472
1 parent 7a4fa1f commit 03c41f2

File tree

5 files changed

+23
-4
lines changed

5 files changed

+23
-4
lines changed

src/DriverTest/DriverTest.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0</TargetFramework>
3+
<TargetFrameworks>net472;net8.0</TargetFrameworks>
44
<OutputType>Exe</OutputType>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
</PropertyGroup>

src/S7CommPlusDriver/OpenSSL/Native.cs

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,22 @@ namespace OpenSsl
2525

2626
public class Native
2727
{
28+
#if NET472
29+
[DllImport("kernel32.dll")]
30+
private static extern IntPtr LoadLibrary(string dllToLoad);
31+
32+
static Native()
33+
{
34+
var path = new Uri(typeof(Native).Assembly.CodeBase).LocalPath;
35+
var folder = Path.GetDirectoryName(path);
36+
37+
var is64 = IntPtr.Size == 8;
38+
var subfolder = is64 ? "x64" : "x86";
39+
40+
LoadLibrary(Path.Combine(folder, subfolder, DLLNAME + ".dll"));
41+
LoadLibrary(Path.Combine(folder, subfolder, SSLDLLNAME + ".dll"));
42+
}
43+
#else
2844
static Native()
2945
{
3046
NativeLibrary.SetDllImportResolver(Assembly.GetExecutingAssembly(), DllImportResolver);
@@ -43,6 +59,7 @@ private static IntPtr DllImportResolver(string libraryName, Assembly assembly, D
4359
// Otherwise, fallback to default import resolver.
4460
return IntPtr.Zero;
4561
}
62+
#endif
4663

4764
const string DLLNAME = "libcrypto-3";
4865
const string SSLDLLNAME = "libssl-3";

src/S7CommPlusDriver/S7CommPlusDriver.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,9 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0</TargetFrameworks>
3+
<TargetFrameworks>net8.0;net472</TargetFrameworks>
44
<OutputType>Library</OutputType>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
6+
<LangVersion>9.0</LangVersion>
67
</PropertyGroup>
78
<PropertyGroup>
89
<StartupObject />

src/S7CommPlusGUIBrowser/S7CommPlusGUIBrowser.csproj

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFramework>net8.0-windows</TargetFramework>
3+
<TargetFrameworks>net472;net8.0-windows</TargetFrameworks>
44
<OutputType>WinExe</OutputType>
55
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
66
<UseWindowsForms>true</UseWindowsForms>

src/Zlib.net/Zlib.net.csproj

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<Project Sdk="Microsoft.NET.Sdk">
22
<PropertyGroup>
3-
<TargetFrameworks>net8.0</TargetFrameworks>
3+
<TargetFrameworks>net8.0;net472</TargetFrameworks>
44
<ProjectType>Local</ProjectType>
55
<AssemblyKeyContainerName />
66
<AssemblyOriginatorKeyFile />
@@ -12,6 +12,7 @@
1212
<RootNamespace>zlib</RootNamespace>
1313
<RunPostBuildEvent>OnBuildSuccess</RunPostBuildEvent>
1414
<GenerateAssemblyInfo>false</GenerateAssemblyInfo>
15+
<LangVersion>9.0</LangVersion>
1516
</PropertyGroup>
1617
<ItemGroup>
1718
<Reference Update="System">

0 commit comments

Comments
 (0)