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

Migration to support netstandard #909

Closed
32 of 48 tasks
andymac4182 opened this issue Jun 14, 2017 · 70 comments
Closed
32 of 48 tasks

Migration to support netstandard #909

andymac4182 opened this issue Jun 14, 2017 · 70 comments

Comments

@andymac4182
Copy link
Contributor

andymac4182 commented Jun 14, 2017

@jarroda
Copy link
Contributor

jarroda commented Jun 14, 2017

I'm looking at MassTransit.SerilogIntegration now. MassTransit.NLogIntegration could be ported if it targeted the beta version of NLog, but the current stable release is full framework only. Thoughts on that?

@andymac4182
Copy link
Contributor Author

Personally only stable packages should be referenced since that would bring the end users version up to beta and might break their existing logging.

@phatboyg
Copy link
Member

I thought Autofac had a netstandard build as well

@andymac4182
Copy link
Contributor Author

andymac4182 commented Jun 14, 2017

@phatboyg it does target netstandard1.1 in 4.6.0 https://www.nuget.org/packages/Autofac/4.6.0

@jarroda
Copy link
Contributor

jarroda commented Jun 14, 2017

Finished MassTransit.SerilogIntegration and added MassTransit.ExtensionsLoggingIntegration #910

@stromblom
Copy link
Member

stromblom commented Jun 14, 2017

I could take a look at EF persistence.

@jacobpovar
Copy link
Contributor

I can port MassTransit.SimpleInjectorIntegration and MassTransit.Reactive projects.

@jarroda
Copy link
Contributor

jarroda commented Jun 14, 2017

I had previously implemented an integration for Microsoft.Extensions.DependencyInjection, so I'll create a pull request for that soon.

@andymac4182
Copy link
Contributor Author

@stromblom I do wonder if there will need to be a new proj for EFCore for persistence so people using EF6 can keep using that.

@stromblom
Copy link
Member

@andymac4182 Yeah probably. But that's cool. Ill take a look.

@andymac4182
Copy link
Contributor Author

@stromblom Hopefully its just a copy paste and change of reference.

@andymac4182
Copy link
Contributor Author

@phatboyg Do you have a preference on which projects are a minimum set of projects required for a preview/release?

@andymac4182
Copy link
Contributor Author

Updated to show some of the packages that can't be upgraded currently due to dependencies. If anyone is aware of any extra ones or if I made a mistake please let me know 😄

@phatboyg
Copy link
Member

Before a real .NET Core release, I'd like MassTransit, RabbitMQ, Autofac, as that comprises a complete stack of usable components for RabbitMQ.

@andymac4182
Copy link
Contributor Author

No worries. I believe all of those are now either submitted or merged.

@andymac4182
Copy link
Contributor Author

The last major thing I am not sure about is how to get the test running against both netcore and full framework.

Does anyone have a good way of doing this?

@andymac4182
Copy link
Contributor Author

It appears as the DocumentDb client has two nuget packages now https://www.nuget.org/packages/Microsoft.Azure.DocumentDB/ https://www.nuget.org/packages/Microsoft.Azure.DocumentDB.Core/
Should this be two integrations or move to using the core one always?

@phatboyg
Copy link
Member

Can packages be conditional based upon target framework?

@andymac4182
Copy link
Contributor Author

Yeh they can. @phatboyg We could compile against each package for the different targets.

@jarroda
Copy link
Contributor

jarroda commented Jun 16, 2017

Looks like WindsorIntegration is a no-go at the moment. castleproject/Windsor#145
Also, I have UnityIntegration building by using PackageTargetFallback to the portable library they have.
That plus StructureMapIntegration, and Automatonymous.StructureMapIntegration in PR #918

@jarroda
Copy link
Contributor

jarroda commented Jun 16, 2017

I have MassTransit.ExtensionsDependencyInjectionIntegration finished, with unit tests. I'll create a PR for that tomorrow.

@jarroda
Copy link
Contributor

jarroda commented Jun 18, 2017

PR #920 created for this ^^. After this is merged, all logging and IoC should be ported that can be.

@andymac4182
Copy link
Contributor Author

Is there anything else that people would like to see supported in the initial release? It is good to see such a good list of projects that support netstandard now.

@syberside
Copy link

syberside commented Jun 20, 2017

@andymac4182 as I have mentioned here scheduling support will be great.

@andymac4182
Copy link
Contributor Author

You can use the Quartz packages in full framework where Quartz is currently supported. Once Quartz is supported on core in non pre-release I am sure it will be updated.

@andymac4182
Copy link
Contributor Author

For those who come across this the Nuget feed URI is https://ci.appveyor.com/nuget/masstransit

@alexeyzimarev
Copy link
Member

The library is significantly different and the management library is still missing important properties for queues and topics.

@MrZoidberg
Copy link

Quartz.NET beta 1 has .NET Standard 2 support https://www.quartz-scheduler.net/2017/10/08/quartznet-3.0-beta1-released.html

@jacobpovar
Copy link
Contributor

@MrZoidberg It does, but I think the idea for migration is not to take dependencies on pre-release packages.

@MrZoidberg
Copy link

@jacobpovar sure. I've compiled the MT with Quartz.NET beta 1 and will explore how does it work with in my project.

@dekelMP
Copy link

dekelMP commented Dec 9, 2017

@MrZoidberg - have you had any issues with .net core support for quartz with MT?
I saw masstransit.quartz isn't compatible yet and thinking of compiling MT same as you did

@MrZoidberg
Copy link

@dekelMP I'm still using MT with quartz in that way and haven't found any problems so far. but I'm not using any persistence for quartz

@andymac4182
Copy link
Contributor Author

@MrZoidberg @dekelMP #1041 😄

@onpaj
Copy link

onpaj commented Feb 13, 2018

@alexeyzimarev Any updates on ASB for MT supporting .net standard 2.0?

@phatboyg
Copy link
Member

phatboyg commented Feb 13, 2018

@Remedij I have a branch using the new .NET compatible assemblies, but it isn't done yet.

The microsoft assemblies are all preview versions, so it needs to get a little more real before I can release anything.

@onpaj
Copy link

onpaj commented Feb 13, 2018

@phatboyg Well, great news! We would really like to use MT on new .net core project, is it possible to share an estimation (even for preview)? Or should we rather consider something else?

Thank you!

@phatboyg
Copy link
Member

It will be there at some point. I can't promise a date though. You can develop and test on regular .NET.

@alexeyzimarev
Copy link
Member

@Remedij Chris started a new thing after heavy refactoring, I gave up rebasing the changes in topology.

@phatboyg
Copy link
Member

And I've gutted more Of the internals to reduce complexity. Should be committing changes this weekend.

@dtssomak
Copy link

@phatboyg is the source code available for .Net Core 2.0? Please provide us the link. Thanks.

@alexeyzimarev
Copy link
Member

@dtssomak source code of what. if I may ask?

@waynebrantley
Copy link
Contributor

Tried all this out and seemed to work without a hitch! Great job so far.
When migrating from 3.5 to 4.0 - should it all just work and be backward compatible? (3.5 consumers, 4.0 publishers and vice-versa)

@phatboyg
Copy link
Member

It should :)

@dtssomak
Copy link

dtssomak commented Feb 19, 2018 via email

@phatboyg
Copy link
Member

@dtssomak You can find the tags the NuGet packages were built from on this very site, in fact, here is the latest tag for v4.0.1

https://github.com/MassTransit/MassTransit/tree/v4.0.1

@MassTransit MassTransit deleted a comment from dtssomak Feb 19, 2018
@MassTransit MassTransit deleted a comment from alexeyzimarev Feb 19, 2018
@mmoser-rivermoss
Copy link

mmoser-rivermoss commented Feb 23, 2018

Any update on quartz? Is it part of the development releases? I am looking to use it this sprint. Thanks.

@phatboyg
Copy link
Member

Quartz already supports .NET Standard, and MT support was released as well:

https://www.nuget.org/packages/MassTransit.Quartz/4.0.1

@phatboyg
Copy link
Member

The Azure Service Bus transport changes to support .NET Core are in progress, but lacking support for NET 4.5.2 means this would have to be a separate transport to avoid breaking those using the current ASB support. Ugh..

Anyway, this branch: https://github.com/phatboyg/MassTransit/tree/net-core-asb

@phatboyg
Copy link
Member

phatboyg commented Mar 12, 2018 via email

@SalimiHabib
Copy link

is there any saga Storage Engines for .net standard?

@alexeyzimarev
Copy link
Member

EF store is not migrated, EF.Core store should be used instead, for obvious reasons. All other stores are migrated.

@phatboyg
Copy link
Member

I'm going to close this issue, and open a new one for the new Azure transport I'm nearly finished building. There will be two transports, one for legacy net452 (existing) and a new one for netstandard.

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

No branches or pull requests