diff --git a/README.md b/README.md
index 94d84ab..95665bf 100644
--- a/README.md
+++ b/README.md
@@ -15,13 +15,13 @@ Client .Net de acesso aos principais recursos da Api da **IUGU**
### Configuração
-* Em seu arquivo de configuração (.config), é necessário adicionar a apiKey encontrada no seu painel [administrativo da IUGU](https://iugu.com/a/administration), em *Administração* > *Configuração de Contas*. Nesta tela você encontra seu *ID da Conta*
+* Em algum *StartUp* de seu projeto, é necessário adicionar a apiKey encontrada no seu painel [administrativo da IUGU](https://iugu.com/a/administration), em *Administração* > *Configuração de Contas*. Nesta tela você encontra seu *ID da Conta*
-```xml
-
-
- ...
-
+```csharp
+IuguClient.Init(new IuguClientProperties()
+{
+ ApiKey = "SUA_APP_KEY_DA_IUGU"
+});
```
### Documentação completa da API
A referência completa da Api pode ser encontrada em [IUGU Api](https://iugu.com/referencias/api)
@@ -46,6 +46,10 @@ public class AnyClass
```
### Informações Adicionais
-* A partir da versão 1.8.5, houve um downgrade da **versão miníma do .Net framework para a versão 4.5** e uma mudança nas dependências.Essas alterações não provocam necessáriamente quebra de versões, a não ser que exista um conflito de dependências.
+* A partir da versão 2.0, o projeto foi reestruturado para ser compilado de forma *retrocompatível* com **.NET Standard 2.0** e **.NET Framework 4.5**.
+Essas alterações não provocam nenhuma quebra de versão em atuais projetos **.NET Framework** e consequentemente adiciona suporte nativo ao **.NET Standard 2.0**.
+* A partir da versão 2.0, o cliente **NÃO** é mais configurado através de arquivos `.config`, e sim através do factory `IuguClient.Init`, conforme exemplo acima.
+* A partir da versão 1.8.5, houve um downgrade da **versão miníma do .Net framework para a versão 4.5** e uma mudança nas dependências.
+Essas alterações não provocam necessáriamente quebra de versões, a não ser que exista um conflito de dependências.
\ No newline at end of file
diff --git a/iugu.net.IntegratedTests/GlobalSetup.cs b/iugu.net.IntegratedTests/GlobalSetup.cs
new file mode 100644
index 0000000..f36dadd
--- /dev/null
+++ b/iugu.net.IntegratedTests/GlobalSetup.cs
@@ -0,0 +1,17 @@
+using NUnit.Framework;
+
+namespace iugu.net.IntegratedTests
+{
+ [SetUpFixture]
+ public class GlobalSetup
+ {
+ [OneTimeSetUp]
+ public void IuguClientConfig()
+ {
+ IuguClient.Init(new IuguClientProperties()
+ {
+ ApiKey = "74c265aedbfaea379bc0148fae9b5526"
+ });
+ }
+ }
+}
diff --git a/iugu.net.IntegratedTests/app.config b/iugu.net.IntegratedTests/app.config
index 2d77971..9571002 100644
--- a/iugu.net.IntegratedTests/app.config
+++ b/iugu.net.IntegratedTests/app.config
@@ -1,7 +1,6 @@
-
diff --git a/iugu.net.IntegratedTests/iugu.net.IntegratedTests.csproj b/iugu.net.IntegratedTests/iugu.net.IntegratedTests.csproj
index 35ade69..de630e8 100644
--- a/iugu.net.IntegratedTests/iugu.net.IntegratedTests.csproj
+++ b/iugu.net.IntegratedTests/iugu.net.IntegratedTests.csproj
@@ -40,9 +40,8 @@
..\packages\FluentAssertions.4.19.0\lib\net45\FluentAssertions.Core.dll
True
-
- ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll
- True
+
+ ..\packages\Newtonsoft.Json.11.0.1\lib\net45\Newtonsoft.Json.dll
..\packages\NUnit.3.6.0\lib\net45\nunit.framework.dll
@@ -67,6 +66,7 @@
+
diff --git a/iugu.net.IntegratedTests/packages.config b/iugu.net.IntegratedTests/packages.config
index 1388110..557623f 100644
--- a/iugu.net.IntegratedTests/packages.config
+++ b/iugu.net.IntegratedTests/packages.config
@@ -3,7 +3,7 @@
-
+
diff --git a/iugu.net.UnitTests/app.config b/iugu.net.UnitTests/app.config
index 2d77971..9571002 100644
--- a/iugu.net.UnitTests/app.config
+++ b/iugu.net.UnitTests/app.config
@@ -1,7 +1,6 @@
-
diff --git a/iugu.net.UnitTests/iugu.net.UnitTests.csproj b/iugu.net.UnitTests/iugu.net.UnitTests.csproj
index 0ce8428..b4511dd 100644
--- a/iugu.net.UnitTests/iugu.net.UnitTests.csproj
+++ b/iugu.net.UnitTests/iugu.net.UnitTests.csproj
@@ -40,9 +40,8 @@
..\packages\FluentAssertions.4.19.0\lib\net45\FluentAssertions.Core.dll
True
-
- ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll
- True
+
+ ..\packages\Newtonsoft.Json.11.0.1\lib\net45\Newtonsoft.Json.dll
..\packages\NUnit.3.6.0\lib\net45\nunit.framework.dll
diff --git a/iugu.net.UnitTests/packages.config b/iugu.net.UnitTests/packages.config
index 1388110..557623f 100644
--- a/iugu.net.UnitTests/packages.config
+++ b/iugu.net.UnitTests/packages.config
@@ -3,7 +3,7 @@
-
+
diff --git a/iugu.net/IuguClient.cs b/iugu.net/IuguClient.cs
new file mode 100644
index 0000000..c9223e6
--- /dev/null
+++ b/iugu.net/IuguClient.cs
@@ -0,0 +1,33 @@
+namespace iugu.net
+{
+ ///
+ /// Iugu.Net Factory
+ ///
+ public static class IuguClient
+ {
+ ///
+ /// Propriedades do cliente.
+ ///
+ public static IuguClientProperties Properties { get; internal set; }
+
+ ///
+ /// Atualiza as propriedades do cliente.
+ ///
+ ///
+ public static void Init(IuguClientProperties properties)
+ {
+ Properties = properties;
+ }
+ }
+
+ ///
+ /// Propriedades do cliente.
+ ///
+ public class IuguClientProperties
+ {
+ ///
+ /// API Key encontrada no painel administrativo da IUGU.
+ ///
+ public string ApiKey { get; set; }
+ }
+}
diff --git a/iugu.net/Lib/APIResource.cs b/iugu.net/Lib/APIResource.cs
index deb246e..1557380 100644
--- a/iugu.net/Lib/APIResource.cs
+++ b/iugu.net/Lib/APIResource.cs
@@ -1,7 +1,6 @@
using Newtonsoft.Json;
using System;
using System.Linq;
-using System.Configuration;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
@@ -61,7 +60,7 @@ public APIResource(IHttpClientWrapper customClient, JsonSerializerSettings custo
_version = "1.0.5";
_apiVersion = "v1";
_endpoint = "https://api.iugu.com";
- _apiKey = ConfigurationManager.AppSettings["iuguApiKey"];
+ _apiKey = IuguClient.Properties.ApiKey;
if (string.IsNullOrEmpty(_apiKey))
{
diff --git a/iugu.net/Properties/AssemblyInfo.cs b/iugu.net/Properties/AssemblyInfo.cs
deleted file mode 100644
index fb8fcfc..0000000
--- a/iugu.net/Properties/AssemblyInfo.cs
+++ /dev/null
@@ -1,36 +0,0 @@
-using System.Reflection;
-using System.Runtime.InteropServices;
-
-// General Information about an assembly is controlled through the following
-// set of attributes. Change these attribute values to modify the information
-// associated with an assembly.
-[assembly: AssemblyTitle("iugu.net")]
-[assembly: AssemblyDescription("Client .Net para a API da IUGU")]
-[assembly: AssemblyConfiguration("")]
-[assembly: AssemblyCompany("IUGU")]
-[assembly: AssemblyProduct("iugu.net")]
-[assembly: AssemblyCopyright("IUGU Copyright © 2016")]
-[assembly: AssemblyTrademark("IUGU")]
-
-// Setting ComVisible to false makes the types in this assembly not visible
-// to COM components. If you need to access a type in this assembly from
-// COM, set the ComVisible attribute to true on that type.
-[assembly: ComVisible(false)]
-
-// The following GUID is for the ID of the typelib if this project is exposed to COM
-[assembly: Guid("35ee3cd1-39de-4401-8523-eb94774cbd3b")]
-
-// Version information for an assembly consists of the following four values:
-//
-// Major Version
-// Minor Version
-// Build Number
-// Revision
-//
-// You can specify all the values or you can default the Build and Revision Numbers
-// by using the '*' as shown below:
-// [assembly: AssemblyVersion("1.0.*")]
-[assembly: AssemblyVersion("1.2.0.0")]
-[assembly: AssemblyFileVersion("1.2.0.0")]
-
-
diff --git a/iugu.net/app.config b/iugu.net/app.config
deleted file mode 100644
index 0a0c8e6..0000000
--- a/iugu.net/app.config
+++ /dev/null
@@ -1,11 +0,0 @@
-
-
-
-
-
-
-
-
-
-
-
diff --git a/iugu.net/iugu.net.csproj b/iugu.net/iugu.net.csproj
index 3542f1e..d7c8b43 100644
--- a/iugu.net/iugu.net.csproj
+++ b/iugu.net/iugu.net.csproj
@@ -1,41 +1,22 @@
-
-
-
+
+
- Debug
- AnyCPU
- {35EE3CD1-39DE-4401-8523-EB94774CBD3B}
- Library
- Properties
- iugu.net
- iugu.net
- v4.5
- 512
-
+ netstandard2.0;net45
+ Iugu.Net
+ Iugu.Net
+ Iugu.Net
+ Copyright (c) 2018, IUGU
+ IUGU
+ Iugu.Net
+ 2.0.0
+ 2.0.0.0
+ 2.0.0.0
+ Cliente .Net para a API da IUGU
+ https://github.com/iugu/iugu-net
+ git
-
- true
- full
- false
- bin\Debug\
- DEBUG;TRACE
- prompt
- 4
- x64
-
-
- pdbonly
- true
- bin\Release\
- TRACE
- prompt
- 4
-
-
-
- ..\packages\Newtonsoft.Json.9.0.1\lib\net45\Newtonsoft.Json.dll
- True
-
+
+
@@ -47,79 +28,9 @@
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Designer
-
-
+
-
-
-
+
\ No newline at end of file
diff --git a/iugu.net/packages.config b/iugu.net/packages.config
deleted file mode 100644
index 57e5b79..0000000
--- a/iugu.net/packages.config
+++ /dev/null
@@ -1,5 +0,0 @@
-
-
-
-
-
\ No newline at end of file