Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

netstandard2.0 NHibernate5.SqlAzure version #33

Draft
wants to merge 9 commits into
base: master
Choose a base branch
from

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