Skip to content

Commit a87e5bf

Browse files
committed
.NET Standard 2.0 support
1 parent 3e84ae4 commit a87e5bf

File tree

20 files changed

+302
-242
lines changed

20 files changed

+302
-242
lines changed

Provider/deploy/deploy.ps1

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ else {
1515
7z a -mx=9 $outDir\FirebirdSql.Data.FirebirdClient-$Version-NET45.7z $baseDir\src\FirebirdSql.Data.FirebirdClient\bin\Release\NET45\FirebirdSql.Data.FirebirdClient.dll $baseDir\src\FirebirdSql.Data.FirebirdClient\bin\Release\NET45\FirebirdSql.Data.FirebirdClient.pdb
1616
7z a -mx=9 $outDir\FirebirdSql.Data.FirebirdClient-$Version-NET40.7z $baseDir\src\FirebirdSql.Data.FirebirdClient\bin\Release\NET40\FirebirdSql.Data.FirebirdClient.dll $baseDir\src\FirebirdSql.Data.FirebirdClient\bin\Release\NET40\FirebirdSql.Data.FirebirdClient.pdb
1717
7z a -mx=9 $outDir\FirebirdSql.Data.FirebirdClient-$Version-netstandard1.6.7z $baseDir\src\FirebirdSql.Data.FirebirdClient\bin\Release\netstandard1.6\FirebirdSql.Data.FirebirdClient.dll $baseDir\src\FirebirdSql.Data.FirebirdClient\bin\Release\netstandard1.6\FirebirdSql.Data.FirebirdClient.pdb
18+
7z a -mx=9 $outDir\FirebirdSql.Data.FirebirdClient-$Version-netstandard2.0.7z $baseDir\src\FirebirdSql.Data.FirebirdClient\bin\Release\netstandard2.0\FirebirdSql.Data.FirebirdClient.dll $baseDir\src\FirebirdSql.Data.FirebirdClient\bin\Release\netstandard2.0\FirebirdSql.Data.FirebirdClient.pdb
1819

1920
7z a -mx=9 $outDir\EntityFramework.Firebird-$Version-NET45.7z $baseDir\src\EntityFramework.Firebird\bin\Release\NET45\EntityFramework.Firebird.dll $baseDir\src\EntityFramework.Firebird\bin\Release\NET45\EntityFramework.Firebird.pdb
2021
7z a -mx=9 $outDir\EntityFramework.Firebird-$Version-NET40.7z $baseDir\src\EntityFramework.Firebird\bin\Release\NET40\EntityFramework.Firebird.dll $baseDir\src\EntityFramework.Firebird\bin\Release\NET40\EntityFramework.Firebird.pdb

Provider/installer/Installer.wxs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -44,10 +44,10 @@
4444
Source="$(var.BaseDir)\src\FirebirdSql.Data.FirebirdClient\bin\Release\NET45\FirebirdSql.Data.FirebirdClient.pdb" />
4545
<File Id="FirebirdSql.Data.UnitTests.dll"
4646
Name="FirebirdSql.Data.UnitTests.dll"
47-
Source="$(var.BaseDir)\src\FirebirdSql.Data.UnitTests\bin\Release\FirebirdSql.Data.UnitTests.dll" />
47+
Source="$(var.BaseDir)\src\FirebirdSql.Data.UnitTests\bin\Release\NET45\FirebirdSql.Data.UnitTests.dll" />
4848
<File Id="FirebirdSql.Data.UnitTests.config"
4949
Name="FirebirdSql.Data.UnitTests.dll.config"
50-
Source="$(var.BaseDir)\src\FirebirdSql.Data.UnitTests\bin\Release\FirebirdSql.Data.UnitTests.dll.config" />
50+
Source="$(var.BaseDir)\src\FirebirdSql.Data.UnitTests\bin\Release\NET45\FirebirdSql.Data.UnitTests.dll.config" />
5151
</Component>
5252
</Directory>
5353
</Directory>
Lines changed: 26 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -1,29 +1,29 @@
11
<?xml version="1.0"?>
22
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
3-
<metadata>
4-
<id>EntityFramework.Firebird</id>
5-
<version>0.0.0.0</version>
6-
<title>Firebird Entity Framework Provider</title>
7-
<description>The Entity Framework Provider for Firebird enables you to develop .NET applications that connect to the Firebird database using Entity Framework.</description>
8-
<authors>FirebirdSQL</authors>
9-
<owners>FirebirdSQL</owners>
10-
<licenseUrl>https://raw.githubusercontent.com/FirebirdSQL/NETProvider/master/license.txt</licenseUrl>
11-
<projectUrl>http://www.firebirdsql.org/en/net-provider/</projectUrl>
12-
<iconUrl>http://www.firebirdsql.org/file/about/ds-firebird-logo-64.png</iconUrl>
13-
<requireLicenseAcceptance>false</requireLicenseAcceptance>
14-
<tags>firebird firebirsql firebirdclient entityframework adonet database</tags>
15-
<dependencies>
16-
<group>
17-
<dependency id="FirebirdSql.Data.FirebirdClient" version="4.5.0.0" />
18-
<dependency id="EntityFramework" version="6.0.0" />
19-
</group>
20-
</dependencies>
21-
</metadata>
22-
<files>
23-
<file src="..\..\src\EntityFramework.Firebird\bin\Release\NET40\EntityFramework.Firebird.dll" target="lib\net40-client" />
24-
<file src="..\..\src\EntityFramework.Firebird\bin\Release\NET40\EntityFramework.Firebird.pdb" target="lib\net40-client" />
25-
<file src="..\..\src\EntityFramework.Firebird\bin\Release\NET45\EntityFramework.Firebird.dll" target="lib\net452" />
26-
<file src="..\..\src\EntityFramework.Firebird\bin\Release\NET45\EntityFramework.Firebird.pdb" target="lib\net452" />
27-
<file src="tools\install.ps1" target="tools" />
28-
</files>
3+
<metadata>
4+
<id>EntityFramework.Firebird</id>
5+
<version>0.0.0.0</version>
6+
<title>Firebird Entity Framework Provider</title>
7+
<description>The Entity Framework Provider for Firebird enables you to develop .NET applications that connect to the Firebird database using Entity Framework.</description>
8+
<authors>FirebirdSQL</authors>
9+
<owners>FirebirdSQL</owners>
10+
<licenseUrl>https://raw.githubusercontent.com/FirebirdSQL/NETProvider/master/license.txt</licenseUrl>
11+
<projectUrl>http://www.firebirdsql.org/en/net-provider/</projectUrl>
12+
<iconUrl>http://www.firebirdsql.org/file/about/ds-firebird-logo-64.png</iconUrl>
13+
<requireLicenseAcceptance>false</requireLicenseAcceptance>
14+
<tags>firebird firebirsql firebirdclient entityframework adonet database</tags>
15+
<dependencies>
16+
<group>
17+
<dependency id="FirebirdSql.Data.FirebirdClient" version="4.5.0.0" />
18+
<dependency id="EntityFramework" version="6.0.0" />
19+
</group>
20+
</dependencies>
21+
</metadata>
22+
<files>
23+
<file src="..\..\src\EntityFramework.Firebird\bin\Release\NET40\EntityFramework.Firebird.dll" target="lib\net40-client" />
24+
<file src="..\..\src\EntityFramework.Firebird\bin\Release\NET40\EntityFramework.Firebird.pdb" target="lib\net40-client" />
25+
<file src="..\..\src\EntityFramework.Firebird\bin\Release\NET45\EntityFramework.Firebird.dll" target="lib\net452" />
26+
<file src="..\..\src\EntityFramework.Firebird\bin\Release\NET45\EntityFramework.Firebird.pdb" target="lib\net452" />
27+
<file src="tools\install.ps1" target="tools" />
28+
</files>
2929
</package>
Lines changed: 61 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,64 @@
11
<?xml version="1.0"?>
22
<package xmlns="http://schemas.microsoft.com/packaging/2010/07/nuspec.xsd">
3-
<metadata>
4-
<id>FirebirdSql.Data.FirebirdClient</id>
5-
<version>0.0.0.0</version>
6-
<title>Firebird ADO.NET Data provider</title>
7-
<description>Firebird ADO.NET Data provider</description>
8-
<authors>FirebirdSQL</authors>
9-
<owners>FirebirdSQL</owners>
10-
<licenseUrl>https://raw.githubusercontent.com/FirebirdSQL/NETProvider/master/license.txt</licenseUrl>
11-
<projectUrl>http://www.firebirdsql.org/en/net-provider/</projectUrl>
12-
<iconUrl>http://www.firebirdsql.org/file/about/ds-firebird-logo-64.png</iconUrl>
13-
<requireLicenseAcceptance>false</requireLicenseAcceptance>
14-
<tags>firebird firebirsql firebirdclient adonet database</tags>
15-
<dependencies>
16-
<group targetFramework="net40-client">
17-
<dependency id="Microsoft.Bcl.Async" version="1.0.168" />
18-
<dependency id="Microsoft.Bcl" version="1.1.10" />
19-
<dependency id="Microsoft.Bcl.Build" version="1.0.21" />
20-
</group>
21-
<group targetFramework="net452">
22-
</group>
23-
<group targetFramework="netstandard1.6">
24-
<dependency id="NETStandard.Library" version="1.6.0" />
25-
<dependency id="Microsoft.Extensions.PlatformAbstractions" version="1.1.0" />
26-
<dependency id="System.Collections.NonGeneric" version="4.3.0" />
27-
<dependency id="System.ComponentModel.Primitives" version="4.3.0" />
28-
<dependency id="System.ComponentModel.TypeConverter" version="4.3.0" />
29-
<dependency id="System.Data.Common" version="4.3.0" />
30-
<dependency id="System.Diagnostics.Contracts" version="4.3.0" />
31-
<dependency id="System.Diagnostics.Process" version="4.3.0" />
32-
<dependency id="System.Diagnostics.TraceSource" version="4.3.0" />
33-
<dependency id="System.IO.UnmanagedMemoryStream" version="4.3.0" />
34-
<dependency id="System.Linq.Parallel" version="4.3.0" />
35-
<dependency id="System.Net.NameResolution" version="4.3.0" />
36-
<dependency id="System.Reflection.Emit" version="4.3.0" />
37-
<dependency id="System.Threading.Tasks.Parallel" version="4.3.0" />
38-
<dependency id="System.Threading.Thread" version="4.3.0" />
39-
</group>
40-
</dependencies>
41-
</metadata>
42-
<files>
43-
<file src="..\..\src\FirebirdSql.Data.FirebirdClient\bin\Release\NET40\FirebirdSql.Data.FirebirdClient.dll" target="lib\net40-client" />
44-
<file src="..\..\src\FirebirdSql.Data.FirebirdClient\bin\Release\NET40\FirebirdSql.Data.FirebirdClient.pdb" target="lib\net40-client" />
45-
<file src="..\..\src\FirebirdSql.Data.FirebirdClient\bin\Release\NET45\FirebirdSql.Data.FirebirdClient.dll" target="lib\net452" />
46-
<file src="..\..\src\FirebirdSql.Data.FirebirdClient\bin\Release\NET45\FirebirdSql.Data.FirebirdClient.pdb" target="lib\net452" />
47-
<file src="..\..\src\FirebirdSql.Data.FirebirdClient\bin\Release\netstandard1.6\FirebirdSql.Data.FirebirdClient.dll" target="lib\netstandard1.6" />
48-
<file src="..\..\src\FirebirdSql.Data.FirebirdClient\bin\Release\netstandard1.6\FirebirdSql.Data.FirebirdClient.pdb" target="lib\netstandard1.6" />
49-
<file src="..\..\readme.txt" target="" />
50-
<file src="app.config.transform" target="content" />
51-
<file src="web.config.transform" target="content" />
52-
</files>
3+
<metadata>
4+
<id>FirebirdSql.Data.FirebirdClient</id>
5+
<version>0.0.0.0</version>
6+
<title>Firebird ADO.NET Data provider</title>
7+
<description>Firebird ADO.NET Data provider</description>
8+
<authors>FirebirdSQL</authors>
9+
<owners>FirebirdSQL</owners>
10+
<licenseUrl>https://raw.githubusercontent.com/FirebirdSQL/NETProvider/master/license.txt</licenseUrl>
11+
<projectUrl>http://www.firebirdsql.org/en/net-provider/</projectUrl>
12+
<iconUrl>http://www.firebirdsql.org/file/about/ds-firebird-logo-64.png</iconUrl>
13+
<requireLicenseAcceptance>false</requireLicenseAcceptance>
14+
<tags>firebird firebirsql firebirdclient adonet database</tags>
15+
<dependencies>
16+
<group targetFramework="net40-client">
17+
<dependency id="Microsoft.Bcl.Async" version="1.0.168" />
18+
<dependency id="Microsoft.Bcl" version="1.1.10" />
19+
<dependency id="Microsoft.Bcl.Build" version="1.0.21" />
20+
</group>
21+
<group targetFramework="net452">
22+
</group>
23+
<group targetFramework="netstandard1.6">
24+
<dependency id="NETStandard.Library" version="1.6.0" />
25+
<dependency id="Microsoft.Extensions.PlatformAbstractions" version="1.1.0" />
26+
<dependency id="System.Collections.NonGeneric" version="4.3.0" />
27+
<dependency id="System.ComponentModel.Primitives" version="4.3.0" />
28+
<dependency id="System.ComponentModel.TypeConverter" version="4.3.0" />
29+
<dependency id="System.Data.Common" version="4.3.0" />
30+
<dependency id="System.Diagnostics.Contracts" version="4.3.0" />
31+
<dependency id="System.Diagnostics.Process" version="4.3.0" />
32+
<dependency id="System.Diagnostics.TraceSource" version="4.3.0" />
33+
<dependency id="System.IO.UnmanagedMemoryStream" version="4.3.0" />
34+
<dependency id="System.Linq.Parallel" version="4.3.0" />
35+
<dependency id="System.Net.NameResolution" version="4.3.0" />
36+
<dependency id="System.Reflection.Emit" version="4.3.0" />
37+
<dependency id="System.Threading.Tasks.Parallel" version="4.3.0" />
38+
<dependency id="System.Threading.Thread" version="4.3.0" />
39+
</group>
40+
<group targetFramework="netstandard2.0">
41+
<dependency id="Microsoft.Extensions.PlatformAbstractions" version="1.1.0" />
42+
<dependency id="System.Reflection.Emit" version="4.3.0" />
43+
</group>
44+
</dependencies>
45+
</metadata>
46+
<files>
47+
<file src="..\..\src\FirebirdSql.Data.FirebirdClient\bin\Release\NET40\FirebirdSql.Data.FirebirdClient.dll" target="lib\net40-client" />
48+
<file src="..\..\src\FirebirdSql.Data.FirebirdClient\bin\Release\NET40\FirebirdSql.Data.FirebirdClient.pdb" target="lib\net40-client" />
49+
50+
<file src="..\..\src\FirebirdSql.Data.FirebirdClient\bin\Release\NET45\FirebirdSql.Data.FirebirdClient.dll" target="lib\net452" />
51+
<file src="..\..\src\FirebirdSql.Data.FirebirdClient\bin\Release\NET45\FirebirdSql.Data.FirebirdClient.pdb" target="lib\net452" />
52+
53+
<file src="..\..\src\FirebirdSql.Data.FirebirdClient\bin\Release\netstandard1.6\FirebirdSql.Data.FirebirdClient.dll" target="lib\netstandard1.6" />
54+
<file src="..\..\src\FirebirdSql.Data.FirebirdClient\bin\Release\netstandard1.6\FirebirdSql.Data.FirebirdClient.pdb" target="lib\netstandard1.6" />
55+
56+
<file src="..\..\src\FirebirdSql.Data.FirebirdClient\bin\Release\netstandard2.0\FirebirdSql.Data.FirebirdClient.dll" target="lib\netstandard2.0" />
57+
<file src="..\..\src\FirebirdSql.Data.FirebirdClient\bin\Release\netstandard2.0\FirebirdSql.Data.FirebirdClient.pdb" target="lib\netstandard2.0" />
58+
59+
<file src="..\..\readme.txt" target="" />
60+
61+
<file src="app.config.transform" target="content" />
62+
<file src="web.config.transform" target="content" />
63+
</files>
5364
</package>

Provider/src/FirebirdSql.Data.FirebirdClient/Client/Managed/Version10/GdsEventManager.cs

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,11 +34,13 @@ namespace FirebirdSql.Data.Client.Managed.Version10
3434
{
3535
internal class GdsEventManager : IDisposable
3636
{
37+
bool _disposing;
3738
int _handle;
3839
GdsDatabase _database;
3940

4041
public GdsEventManager(int handle, string ipAddress, int portNumber)
4142
{
43+
_disposing = false;
4244
_handle = handle;
4345
var connection = new GdsConnection(ipAddress, portNumber);
4446
connection.Connect();
@@ -70,12 +72,11 @@ public async Task WaitForEventsAsync(RemoteEvent remoteEvent)
7072
break;
7173
}
7274
}
73-
// happens as the connection is closed
74-
catch (ObjectDisposedException)
75+
catch (Exception) when (_disposing)
7576
{
7677
return;
7778
}
78-
catch (Exception ex)
79+
catch (Exception ex) when (!_disposing)
7980
{
8081
remoteEvent.EventError(ex);
8182
break;
@@ -85,6 +86,7 @@ public async Task WaitForEventsAsync(RemoteEvent remoteEvent)
8586

8687
public void Dispose()
8788
{
89+
_disposing = true;
8890
_database.CloseConnection();
8991
}
9092
}

Provider/src/FirebirdSql.Data.FirebirdClient/Client/Native/FbClientFactory.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -244,7 +244,7 @@ private static IFbClient CreateInstance(TypeBuilder tb)
244244
#endif
245245

246246
#if DEBUG
247-
#if !NETSTANDARD1_6
247+
#if !NETSTANDARD1_6 && !NETSTANDARD2_0
248248
AssemblyBuilder ab = (AssemblyBuilder)tb.Assembly;
249249
ab.Save("DynamicAssembly.dll");
250250
#endif
@@ -273,14 +273,14 @@ private static TypeBuilder CreateTypeBuilder(string baseName)
273273
assemblyName.Name = baseName + "_Assembly";
274274

275275
// We create the dynamic assembly in our current AppDomain
276-
#if NETSTANDARD1_6
276+
#if NETSTANDARD1_6 || NETSTANDARD2_0
277277
AssemblyBuilder assemblyBuilder = AssemblyBuilder.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.Run);
278278
#else
279279
AssemblyBuilder assemblyBuilder = AppDomain.CurrentDomain.DefineDynamicAssembly(assemblyName, AssemblyBuilderAccess.RunAndSave);
280280
#endif
281281

282282
// Generate the actual module (which is the DLL itself)
283-
#if NETSTANDARD1_6
283+
#if NETSTANDARD1_6 || NETSTANDARD2_0
284284
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule(baseName + "_Module");
285285
#else
286286
ModuleBuilder moduleBuilder = assemblyBuilder.DefineDynamicModule(baseName + "_Module", baseName + ".dll");

Provider/src/FirebirdSql.Data.FirebirdClient/FirebirdClient/FbCommand.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -28,7 +28,7 @@
2828
using System.Text;
2929
using System.Collections.Generic;
3030
using System.Diagnostics;
31-
#if !NETSTANDARD1_6
31+
#if !NETSTANDARD1_6 && !NETSTANDARD2_0
3232
using System.Runtime.Remoting.Messaging;
3333
#endif
3434

@@ -486,7 +486,7 @@ public override int ExecuteNonQuery()
486486

487487
return RecordsAffected;
488488
}
489-
#if !NETSTANDARD1_6
489+
#if !NETSTANDARD1_6 && !NETSTANDARD2_0
490490
public IAsyncResult BeginExecuteNonQuery(AsyncCallback callback, object objectState)
491491
{
492492
// BeginInvoke might be slow, but the query processing will make this irrelevant
@@ -527,7 +527,7 @@ public int EndExecuteNonQuery(IAsyncResult asyncResult)
527527

528528
return _activeReader;
529529
}
530-
#if !NETSTANDARD1_6
530+
#if !NETSTANDARD1_6 && !NETSTANDARD2_0
531531
public IAsyncResult BeginExecuteReader(AsyncCallback callback, object objectState)
532532
{
533533
// BeginInvoke might be slow, but the query processing will make this irrelevant
@@ -597,7 +597,7 @@ public override object ExecuteScalar()
597597

598598
return val;
599599
}
600-
#if !NETSTANDARD1_6
600+
#if !NETSTANDARD1_6 && !NETSTANDARD2_0
601601
public IAsyncResult BeginExecuteScalar(AsyncCallback callback, object objectState)
602602
{
603603
// BeginInvoke might be slow, but the query processing will make this irrelevant

Provider/src/FirebirdSql.Data.FirebirdClient/FirebirdClient/FbConnectionInternal.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
using System.Diagnostics;
2727
using System.IO;
2828
using System.Reflection;
29-
#if NETSTANDARD1_6
29+
#if NETSTANDARD1_6 || NETSTANDARD2_0
3030
using Microsoft.Extensions.PlatformAbstractions;
3131
#endif
3232
using FirebirdSql.Data.Common;
@@ -489,7 +489,7 @@ private string GetProcessName()
489489

490490
private string GetHostingPath()
491491
{
492-
#if NETSTANDARD1_6
492+
#if NETSTANDARD1_6 || NETSTANDARD2_0
493493
return PlatformServices.Default.Application.ApplicationBasePath;
494494
#else
495495
Assembly assembly;

Provider/src/FirebirdSql.Data.FirebirdClient/FirebirdClient/FbParameter.cs

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -202,10 +202,10 @@ public override bool SourceColumnNullMapping
202202

203203
[Category("Data")]
204204
[DefaultValue((byte)0)]
205-
#if NET45 || NETSTANDARD1_6
206-
public override byte Precision
207-
#else
205+
#if NET40
208206
public byte Precision
207+
#else
208+
public override byte Precision
209209
#endif
210210
{
211211
get { return _precision; }
@@ -214,10 +214,10 @@ public byte Precision
214214

215215
[Category("Data")]
216216
[DefaultValue((byte)0)]
217-
#if NET45 || NETSTANDARD1_6
218-
public override byte Scale
219-
#else
217+
#if NET40
220218
public byte Scale
219+
#else
220+
public override byte Scale
221221
#endif
222222
{
223223
get { return _scale; }

Provider/src/FirebirdSql.Data.FirebirdClient/FirebirdClient/FbProviderManifest.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
* All Rights Reserved.
1717
*/
1818

19-
#if !NETSTANDARD1_6
19+
#if !NETSTANDARD1_6 && !NETSTANDARD2_0
2020
using System;
2121
using System.Collections.Generic;
2222
using System.Linq;

0 commit comments

Comments
 (0)