ExchangePoint 1.1.0
dotnet add package ExchangePoint --version 1.1.0
NuGet\Install-Package ExchangePoint -Version 1.1.0
<PackageReference Include="ExchangePoint" Version="1.1.0" />
<PackageVersion Include="ExchangePoint" Version="1.1.0" />
<PackageReference Include="ExchangePoint" />
paket add ExchangePoint --version 1.1.0
#r "nuget: ExchangePoint, 1.1.0"
#:package ExchangePoint@1.1.0
#addin nuget:?package=ExchangePoint&version=1.1.0
#tool nuget:?package=ExchangePoint&version=1.1.0
ExchangePoint
A lightweight .NET library for currency conversion with two providers:
- InMemoryExchangeRateProvider: set your own rates for offline or testing
- HttpExchangeRateProvider: fetches live rates on demand from exchangerate.host
- AutoRefreshExchangeRateProvider: keeps a cached table of latest rates for a base currency and refreshes periodically
Install
- From nuget.org (after you publish): dotnet add package ExchangePoint
Quick start
using ExchangePoint;
// Manual/offline var mem = new InMemoryExchangeRateProvider(); mem.SetRate("USD", "EUR", 0.92m); var eur = CurrencyConverter.Convert(100m, "USD", "EUR", mem); // 92.00
// Live on-demand using var http = new HttpExchangeRateProvider(); if (http.TryGetRate("USD", "TRY", out var rate)) { var tryAmount = CurrencyConverter.Convert(100m, rate); }
// Auto refresh (keeps latest rates for a base currency) using var auto = new AutoRefreshExchangeRateProvider(baseCurrency: "USD", refreshInterval: TimeSpan.FromMinutes(5)); // give it a moment for the first refresh, then query await Task.Delay(2000); if (auto.TryGetRate("USD", "EUR", out var live)) { var eur2 = CurrencyConverter.Convert(250m, live); }
Local pack and test
- Pack: dotnet pack -c Release -o ./nupkg
- Add local source (once): dotnet nuget add source "$(pwd)/nupkg" -n ExchangePointLocal
- Install into another project: dotnet add package ExchangePoint -s ExchangePointLocal
Publish to nuget.org
- Create an API key on https://www.nuget.org
- Push: dotnet nuget push ./nupkg/ExchangePoint.*.nupkg --api-key YOUR_KEY --source https://api.nuget.org/v3/index.json
Notes
- Live rates depend on the remote service (exchangerate.host). Availability and exact values may vary slightly by source.
- AutoRefresh provider is read-only; it caches rates for a base currency and answers cross-rates via that base.
- .NET 8, C# 12.
| Product | Versions Compatible and additional computed target framework versions. |
|---|---|
| .NET | net8.0 is compatible. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. net9.0 was computed. net9.0-android was computed. net9.0-browser was computed. net9.0-ios was computed. net9.0-maccatalyst was computed. net9.0-macos was computed. net9.0-tvos was computed. net9.0-windows was computed. net10.0 was computed. net10.0-android was computed. net10.0-browser was computed. net10.0-ios was computed. net10.0-maccatalyst was computed. net10.0-macos was computed. net10.0-tvos was computed. net10.0-windows was computed. |
-
net8.0
- No dependencies.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Auto default provider + improved HTTP provider reliability + NuGet icon support.