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

Intent to drop .NET Framework 4.5 as target framework #438

Closed
nozzlegear opened this issue Jan 16, 2020 · 44 comments
Closed

Intent to drop .NET Framework 4.5 as target framework #438

nozzlegear opened this issue Jan 16, 2020 · 44 comments
Labels

Comments

@nozzlegear
Copy link
Owner

nozzlegear commented Jan 16, 2020

Hey everyone, I'm opening this issue to let you know about my intent to drop .NET Framework 4.5 as a target framework. It's my understanding that .NET Standard packages can be used from .NET Framework now, which means there's no reason to target .NET Framework any longer. It's not a huge deal, but targeting .NET Framework means that I can't restore or build the package on Linux (without modifying the project file on every restore/build).

If I'm wrong about this, please let me know!

@nozzlegear nozzlegear changed the title Intent to deprecate .NET Framework 4.5 as target framework Intent to drop .NET Framework 4.5 as target framework Jan 16, 2020
@nozzlegear nozzlegear pinned this issue Jan 23, 2020
@nozzlegear
Copy link
Owner Author

Just a quick update for my plans, I'm going to keep targeting .NET Framework 4.5 for ShopifySharp 5.0, just to make sure nobody on the framework is left hanging when we upgrade to the new API version. ShopifySharp 5.1 and onward will drop the framework as a target.

@skhan-nacmgit
Copy link

I'd vote to keep. If one is using this for SSIS ETL, it wont work with some older versions of SQL Server.

@davidkdb
Copy link

I vote for dropping 4.5. One day we all must let the past go :-)

@waxtell
Copy link

waxtell commented May 5, 2020

Would love to see support for netstandard 1.x, 2.0 and 2.1 which, in theory, should cover just about everything!

.NET Standard Versions

I love the library, but the lack of core 3.1 support is preventing my team from upgrading our AWS lambdas from core 2.1 to 3.1.

@clement911
Copy link
Collaborator

@waxtell I've been using ShopifySharp on .net core 3.1 for a while.

@waxtell
Copy link

waxtell commented May 6, 2020

@clement911 - were you able to get it to work in a core 3.1 AWS Lambda function? The native DI container refused to instantiate services when hosted in the lambda 3.1 runtime environment. Same code worked flawlessly when built as .net core 2.1 and run in the core 2.1 lambda runtime environment.

@clement911
Copy link
Collaborator

I haven't tried. I'm on Azure.

@waxtell
Copy link

waxtell commented May 6, 2020

No worries! I expected it to work, but alas no. I'm going to try and build the library as netstandard2.1 just to see if it plays nice with AWS :)

Thanks for the feedback!

@ThatBrianK
Copy link

It looks like .NET Framework 4.6 has also been dropped as of 5.3.0? really threw a monkey wrench into my whole program! I didn't see any documentation of it either. Am I missing something?

@nozzlegear
Copy link
Owner Author

nozzlegear commented Aug 13, 2020 via email

@nozzlegear
Copy link
Owner Author

Since I'm on Linux I often remove .NET Framework as a build target when I'm working on the project. Looks like I accidentally committed that change at some point and didn't realize it. I'll add .NET Framework back and publish to Nuget soon.

@ThatBrianK
Copy link

Thanks! I really appreciate all your effort on this project! I recognize that eventually I'll have to force the users of my software to have .NET 4.7 or higher but we're just not there yet.

@nozzlegear
Copy link
Owner Author

@ThatBrianK I've published ShopifySharp 5.5.0 to Nuget, this version once again includes support for .NET Framework 4.5

@clement911
Copy link
Collaborator

Where are we standing on dropping .net framework support.
Can we require netstandard2.1 minimum?

@clement911
Copy link
Collaborator

In particular, I'd really love to use c#8 and 9 features but currently we can't.
https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/configure-language-version#defaults

@nozzlegear
Copy link
Owner Author

nozzlegear commented Nov 17, 2021

It's been just under 2 years since I first announced intent to drop .NET Framework 4.5 support. I'm doing that now with ShopifySharp v5.14.0. If you're using .NET Framework, you should begin the work to upgrade to at least .NET Framework 4.7 which supports .NET Standard 2.1 (our new framework target), or .NET 5.0 if possible!

ShopifySharp v5.13.1 -- the last version with .NET Framework 4.5 as a target -- is using the 2021-10 version of Shopify's API, which becomes deprecated on October 1st, 2022. You'll want to have your projects upgraded to .NET Framework 4.7 or above before that date, or else you won't be able to update ShopifySharp before the API is deprecated.

@nozzlegear
Copy link
Owner Author

My mistake, ShopifySharp v5.13.1 actually targets API version 2021-07, which means you'll want to upgrade to a framework that supports .NET Standard 2.1 before July 1st, 2022.

@clement911
Copy link
Collaborator

Hmm I'm not sure if I'm missing something but .NET framework doesn't seem to support .NET Standard 2.1.
Not even .NET Framework 4.7. See https://docs.microsoft.com/en-us/dotnet/standard/net-standard
Personally I don't mind since I'm on .NET 5 already. The question is, how many ShopifySharp users still use .NET framework?

@clement911
Copy link
Collaborator

It might be warranted to increment the major version of the lib.

@StevePritchard
Copy link

Yep - I can't perform the update. I am targetting .Net Framework 4.7.2, and ShopifySharp 5.14.0 looked like it would fix my Newtonsoft.Json versioning issue, but it won't install -->

Could not install package 'ShopifySharp 5.14.0'. You are trying to install this package into a project that targets '.NETFramework,Version=v4.7.2', but the package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.

😭

@clement911
Copy link
Collaborator

@StevePritchard I'm guessing there is a good reason why you are not on .Net core or .Net 5/6?

@StevePritchard
Copy link

@StevePritchard I'm guessing there is a good reason why you are not on .Net core or .Net 5/6?

It depends upon your definition of "good". It's a Windows Service in .Net Framework 4.7.2 that references a few other libraries too, so it's a non-trivial exercise to switch over. Legacy, legacy, same old, same old.

@nozzlegear
Copy link
Owner Author

Darn, I swear I had read that .NET Framework 4.7 was compatible with .NET Standard

@ThatBrianK
Copy link

I was not able to update either. My project is targeting .NET framework 4.8

Update-Package : NU1202: Package ShopifySharp 5.14.0 is not compatible with net48 (.NETFramework,Version=v4.8). Package ShopifySharp 5.14.0 supports: netstandard2.1 (.NETStandard,Version=v2.1)

As StevePritchard said: Legacy, legacy, legacy. It's a significant job to migrate from .NET Framework to .NET 5 or .NET 6, especially if you are a small company with limited resources.
Also, Microsoft has stated that it will continue to be supported:
.NET Framework 4.8 is the latest version of .NET Framework and will continue to be distributed with future releases of Windows. As long as it is installed on a supported version of Windows, .NET Framework 4.8 will continue to also be supported.

@nozzlegear
Copy link
Owner Author

I see, I'll look into adding support for .NET Framework 4.7+ as long as it's compatible with the HTTP client factory stuff that was introduced in 5.14.0.

@judah4
Copy link
Contributor

judah4 commented Nov 20, 2021

It might need to be for Dotnet Standard 2.0, not 2.1. This chart shows N/A support for Framework with Standard 2.1.
https://docs.microsoft.com/en-us/dotnet/standard/net-standard

@Zikoat
Copy link
Contributor

Zikoat commented Nov 29, 2021

Same here. We've looked into migrating to .net 5, but it's a big job.

@lorenpaulsen
Copy link

It might need to be for Dotnet Standard 2.0, not 2.1. This chart shows N/A support for Framework with Standard 2.1.

https://docs.microsoft.com/en-us/dotnet/standard/net-standard

That's correct. Targeting Standard 2.1 eliminates support for any .NET Framework version, even 4.8. Please consider targeting .NET Standard 2.0, so those with legacy .NET Framework apps can keep using new versions of the package.

@ThatBrianK
Copy link

ThatBrianK commented Dec 16, 2021

It might need to be for Dotnet Standard 2.0, not 2.1. This chart shows N/A support for Framework with Standard 2.1.
https://docs.microsoft.com/en-us/dotnet/standard/net-standard

That's correct. Targeting Standard 2.1 eliminates support for any .NET Framework version, even 4.8. Please consider targeting .NET Standard 2.0, so those with legacy .NET Framework apps can keep using new versions of the package.

I just tried the latest build (5.14.2), it still is not installing for my .NET Framework 4.8 project.
I would pay money to have this added back in at this point! Thanks again for everyone's hard work on this amazing project!

@nozzlegear
Copy link
Owner Author

nozzlegear commented Dec 20, 2021 via email

@lanthonyneville
Copy link

Similar to what @StevePritchard said - I am using ShopifySharp inside a .NET Framework - based integration platform, which has no roadmap for conversion to .NET 5/6 yet (way too dependant on .NET Fmk features).

Agree with others - if SS could target .NET Standard 2.0, rather than 2.1, that would be a big deal for us.

@nozzlegear
Copy link
Owner Author

I think we can add support for .NET Standard 2.0, but it would come with the caveat that it won't support some of the features that the .NET Standard 2.1 version supports. Specifically you wouldn't be able to use the HttpClientFactory stuff.

@RichardD2
Copy link

HttpClientFactory is supported in .NET Standard 2.0 - you just need to reference the Microsoft.Extensions.Http NuGet package.

+1 for .NET Standard 2.0 support. Aside from the lack of SQL Server Reporting Services support in .NET Core/5/6, we have too much code in our application to justify rewriting everything every three years.

@jeroenbai
Copy link

jeroenbai commented Feb 4, 2022

Would be great to add support for .NET Standard 2.0, as I'm about to integrate a .NET 4.7 app with Shopify and would love to use this project.

@ThatBrianK
Copy link

I'm just wondering if there's any update on the .NET Framework stuff?
I'm concerned that the Shopify API version is going to go out of support, and then will be forced to manually compile the libraries of the last .NET framework-supported version and just change the API version. Since it seems I'm not the only one in this boat, perhaps it might be worth building a parallel project so that all us .NET framework users can stay updated. and we won't all have to manually do this work.

@nozzlegear
Copy link
Owner Author

nozzlegear commented Feb 18, 2022 via email

@nozzlegear
Copy link
Owner Author

Okay, a prerelease version of ShopifySharp has been published to Nuget targeting .NET Standard 2.0, which adds support for .NET Framework 4.6.1+. All tests pass without issue, but before I publish the full release can anyone here please try installing the prerelease version 5.15.0-b00503 from Nuget and let me know if you have any issues with it?

# Visual Studio Package Manager:
Install-Package ShopifySharp -Version 5.15.0-b00503
# Dotnet CLI:
dotnet add package ShopifySharp --version 5.15.0-b00503

Thanks to @ChaoticIke for the pull request that made this possible!

@sletmoep
Copy link

sletmoep commented Mar 9, 2022

I'm also in the .NET Framework boat - adding new functionality to an older app that uses .NET Framework for a bunch of different reasons that I don't have any control over. I was able to download and run the prerelease version from Nuget without problems. I tried both 4.6.1 and 4.6.2 and in both cases it installed without errors. I'll be doing some testing over the next couple of weeks.

@sletmoep
Copy link

I have no problems to report. Everything seems to work fine. As I previously stated, I am targeting 4.6.2 as my primary use case. I've been able to download the prerelease version and connect to Shopify without issue. For the sake of completeness, I also spun up a Windows 11 Hyper-V and tried the prerelease version on 4.8. It seems to work well there also. Note that the scope of my work is fairly limited - customers, products, inventory, orders, and metafields. So there are areas of the library I haven't used. But in a basic "will it go" sense, it gets a pass from me.

@paulhusted
Copy link

Can confirm that prerelease 5.15.0-b00503 works without issue with .NET Framework 4.8 on Windows 11.

@nozzlegear
Copy link
Owner Author

ShopifySharp version 5.16.0 has been released on Nuget and should bring back full support for .NET Framework 4.6.1 and above! Let me know if you have any issues using it.

image

@nozzlegear nozzlegear unpinned this issue Sep 30, 2022
@nozzlegear
Copy link
Owner Author

nozzlegear commented Oct 11, 2022 via email

@venkatrao201
Copy link

image

for v4.6.1 also not installing the shopifysharp

@RichardD2
Copy link

@venkatrao201 4.6.1 has extremely dodgy support for .NET Standard 2.0 libraries:

.NET Standard | Microsoft Learn

Are you able to update your project to target at least 4.6.2 (preferably 4.7.2 or later)?

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

No branches or pull requests