wintoncode / Winton.Extensions.Configuration.Consul

Enables Consul to be used as a configuration source in dotnet core applications
Other
315 stars 48 forks source link

Cannot use library for .NET Framework v4.5.2 #76

Closed Nehmiabm closed 5 years ago

Nehmiabm commented 5 years ago

Hello,

I really like the library but the latest version is basically not usable for projects targeting .NET Framework v4.5.2. How can I adopt it to use v4.5.2? It's not an option for me to upgrade the target right now.

Thank you

Choc13 commented 5 years ago

Hi @Nehmiabm,

Thanks for taking the time to open an issue.

The library currently supports netstandard2.0 and net461. However, it was quite a while ago that I configured the target frameworks so I cannot remember if there were issues trying to go lower than net461 so I could not say off the top of my head whether net452 works or not.

To the best of my knowledge there is nothing in the source code of this library that shouldn't be compatible with net452, it will most likely come down to whether the underlying dependencies (most likely Consul) are compatible with that version of the framework. For libraries I normally make a reasonable effort to go to the lowest framework version possible to improve the compatibility of the library, so it might be that net461 is the best we can do here without changes in the deps.

Please feel free to clone the library and try changing the TFM from net461 to net452 and see it will compile. If it does, then by all means open a PR.

Choc13 commented 5 years ago

In fact after some more investigation it appears that net461 is the lowest framework version that is compatible with netstandard2.0 and unfortunately Microsoft.Extensions.Configuration is a netstandard2.0 library. Our decision for this library was to mimic the major version of the Microsoft.Extensions.Configuration library as it is an extension for that configuration system (in a similar way to how the other Microsoft configuration providers are versioned). Therefore, if you want do use net452 then I think you're going to have to try with a v1 version of this library because you'll also have to use a v1 version of Microsoft.Extensions.Configuration in your application.

If that doesn't work for you then feel free to try and create a patch to v1 that addresses the problem (I seem to remember I temporarily dropped explicit support for netframework for a while around v1 before realising it needed to be explicitly referenced to work properly).

I hope you're able to find a solution. Let me know if you need any further help, but for now I'm going to close this as I don't think it's actionable for the latest version.