getbrevo / brevo-csharp

MIT License
4 stars 2 forks source link

Remove all .NET Framework dependencies #6

Open nealculiner opened 2 months ago

nealculiner commented 2 months ago

In 2024 .NET Framework is a thing of the past. We are on .NET Core now with NET 9 coming out soon and it's cross platform so this package needs to be able to run on Linux, etc. and not have dependencies that use .NET Framework such as the FubarCoder packages in use. This is a blocker and is breaking integrations. We need an update ASAP please.

nprather commented 1 month ago

easy there... i'm still using .net framework 4.6.2.

nealculiner commented 1 month ago

.NET Standard is the better choice than .NET Framework. (for libraries like this)

Planitron commented 4 weeks ago

Hi Nealculiner

You’re absolutely right, .NET Framework is a thing of the past and it’s crucial to move forward with .NET Core, especially with .NET 9 around the corner. Unfortunately, we’re currently dependent on Brevo’s developers to update their SDK. However, wouldn’t it be more practical to consider using curl requests directly instead of relying on an SDK to avoid this kind of issue? Right now, we’re stuck because our Azure app doesn’t recognize FubarCoder, and it’s blocking us.

magbeat commented 4 weeks ago

I have reached out the brevo support about their plans with the C# SDK. I haven't heard back from them. Does anybody know if they plan to maintain and / or further develop it?

Planitron commented 4 weeks ago

I've also reached out to Brevo support and am waiting for their response. Despite the development time it might take, I believe it’s safer to create our own C# library by wrapping the CURL API.

Urganot commented 1 day ago

You can just generate your own client using a code generator. I personally use openapitools/openapi-generator. For example: docker run --rm -v ".:/local" openapitools/openapi-generator-cli generate -i https://api.brevo.com/v3/swagger_definition.yml -g csharp -o /local/Brevo.Api -p packageName=Brevo.Api

This will generate pretty much the same code as this repo but with much moire up to date references. See here for config options