pardahlman / RawRabbit

A modern .NET framework for communication over RabbitMq
MIT License
746 stars 144 forks source link

Upgrade to net standard 2.0 and net461 #319

Closed Alegrowin closed 6 years ago

Alegrowin commented 6 years ago

Description

Write a few lines what about the pull request, don't forget to include ticket refereneces to issues it solves.

Check List

pardahlman commented 6 years ago

Hi @Alegrowin - can you write a few lines about why this is a good idea? Thanks!

houseofcat commented 6 years ago

The performance gains and bug fixes alone in the two updates would be worth it. Including security fixes.

.NET 4.5.1 is EoL and shouldn't have been the target for a new project. 4.6.x family introduced us to Ryujit performance wise.

https://blogs.msdn.microsoft.com/dotnet/2015/12/09/support-ending-for-the-net-framework-4-4-5-and-4-5-1/

Alegrowin commented 6 years ago

I will update this PR, thanks @thyams

Alegrowin commented 6 years ago

See https://github.com/pardahlman/RawRabbit/pull/357

@thyams I've been reading about the TargetFramework and there is no difference in the generated assemblies between a .net451 and .net4x code. In the newest version of the .Net Framework there is extra features which can be used when developing. But the generated code is the exact same byte size when using .net451 and 472 for example. The real big difference is the version of the dll used when compiling and the CLR used to execute the dll's. For those reasons, I will not enforce the 46x version of the framework as some consummer of this library may not be ready to use .net46x.

houseofcat commented 6 years ago

I may do a PR to add netstandard 2.0 and 461 as additional targets.

Instead of forcing users to update, it will allow the user to choose.

The performance benefits are there in clr versions and RyuJit.

On Tue, Jul 10, 2018, 7:56 AM Alegrowin notifications@github.com wrote:

See #357 https://github.com/pardahlman/RawRabbit/pull/357

@thyams https://github.com/thyams I've been reading about the TargetFramework and there is no difference in the generated assemblies between a .net451 and .net4x code. In the newest version of the .Net Framework there is extra features which can be used when developing. But the generated code is the exact same byte size when using .net451 and 472 for example. The real big difference is the version of the dll used when compiling and the CLR used to execute the dll's. For those reasons, I will not enforce the 46x version of the framework as some consummer of this library may not be ready to use .net46x.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/pardahlman/RawRabbit/pull/319#issuecomment-403796410, or mute the thread https://github.com/notifications/unsubscribe-auth/ABWT-k379w7kwSORFF4n8mukAkTK1n-Fks5uFJZegaJpZM4SQNfY .

houseofcat commented 6 years ago

461 is out. Task completion source has an async bug in 461.

RawRabbits Invoke and Execution lock is dependent on this for PublishConfirmTimout Exceptions.

https://support.microsoft.com/en-us/help/3118695/runcontinuationsasynchronously-does-not-run-continuations-asynchronous

On Tue, Jul 10, 2018, 7:57 AM Tristan Hyams t.hyams@gmail.com wrote:

I may do a PR to add netstandard 2.0 and 461 as additional targets.

Instead of forcing users to update, it will allow the user to choose.

The performance benefits are there in clr versions and RyuJit.

On Tue, Jul 10, 2018, 7:56 AM Alegrowin notifications@github.com wrote:

See #357 https://github.com/pardahlman/RawRabbit/pull/357

@thyams https://github.com/thyams I've been reading about the TargetFramework and there is no difference in the generated assemblies between a .net451 and .net4x code. In the newest version of the .Net Framework there is extra features which can be used when developing. But the generated code is the exact same byte size when using .net451 and 472 for example. The real big difference is the version of the dll used when compiling and the CLR used to execute the dll's. For those reasons, I will not enforce the 46x version of the framework as some consummer of this library may not be ready to use .net46x.

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/pardahlman/RawRabbit/pull/319#issuecomment-403796410, or mute the thread https://github.com/notifications/unsubscribe-auth/ABWT-k379w7kwSORFF4n8mukAkTK1n-Fks5uFJZegaJpZM4SQNfY .

Alegrowin commented 6 years ago

@thyams I have provided the support for .netstandard2.0 in https://github.com/pardahlman/RawRabbit/pull/357. Maybe you could take a look at it.