Skip to content

Conversation

@JustinasS
Copy link

Notable changes:

  • ReliableSqlClientBatchingBatcher netstandard version inherits from GenericBatchingBatcher instead of SqlClientBatchingBatcher. SqlClientBatchingBatcher is not available on netstandard NHibernate build.
  • Netstandard2.0 version uses EnterpriseLibrary.TransientFaultHandling.NetCore and EnterpriseLibrary.TransientFaultHandling.Data.NetCore nuget packages.
  • Converted NHibernate5.SqlAzure and all test projects to SDK projects. NHibernate.SqlAzure and NHibernate4.SqlAzure are not SDK projects.
  • NHibernate5.SqlAzure build targets netstandard2.0.
  • NHibernate5.SqlAzure.Tests run using net461 and netcoreapp3.1 runtimes.

To decide if we need:

  • net461 build for NHibernate5.SqlAzure. So ReliableSqlClientBatchingBatcher would have different implementations depending on target framework.
  • Convert all projects to SDK project format.
  • Try ILMerge alternatives so default "portable" pdb format can be used.

Justinas Šimėnas added 9 commits May 14, 2020 16:01
At least NUnit 3.9 is required to run tests using .net core runtime.
Tests for NHibernate5.SqlAzure runs on net461 and netcoreapp3.1 runtimes.
Integrate GitVersion to msbuild and by default build package using "NHibernate.SqlAzure.nuspec". Standalone version can be built using "dotnet pack /p:NuspecFile=NHibernate5.SqlAzure.Standalone.nuspec"
@AppVeyorBot
Copy link

1 similar comment
@AppVeyorBot
Copy link

@robdmoore
Copy link
Member

I'm a little concerned by EnterpriseLibrary.TransientFaultHandling.NetCore. Admittedly, it does have a lot of downloads, but it's not an official package, the GitHub it links to is archived, which links off to an organisation with an incorrect URL. I do wonder if it's possible to replace the enterprise library application block with other code (like Polly (see also this) in addition to maybe using the built-in handling for connection retries) so we can remove the dependency. It's more work of course, but the end result would be less scary?

Re: ilmerge: I figure this out recently for a project I released, check out https://github.com/MRCollective/MSBuildRazorCompiler/blob/master/MSBuildRazorCompiler/CompileRazorFiles.targets#L30.

My recommendation is we remove the NHibernate4 and NHibernate5 packages, bump the NHibernate.SqlAzure a major version and make it work against the latest version of NHibernate only. That removes a bunch of complexity from this project and presumably anyone upgrading to .NET Core will also be upgrading to the latest version of NHibernate?

@dsibinski
Copy link

It would be awesome if this feature is merged :)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants