diff --git a/azure-pipelines.yml b/azure-pipelines.yml
index f578df0..3ec47f2 100644
--- a/azure-pipelines.yml
+++ b/azure-pipelines.yml
@@ -13,7 +13,7 @@ variables:
- name: build.version.revision
value: $[counter(format('{0}.{1}', variables['build.version.major'], variables['build.version.minor']), 0)]
- name: build.version.suffix
- value: -beta1
+ value:
- name: build.version
value: $(build.version.major).$(build.version.minor).$(build.version.revision)$(build.version.suffix)
- name: build.versionShort
diff --git a/src/Lithnet.CredentialProvider/Controls/ControlBase.cs b/src/Lithnet.CredentialProvider/Controls/ControlBase.cs
index 2bd45f7..508ebc7 100644
--- a/src/Lithnet.CredentialProvider/Controls/ControlBase.cs
+++ b/src/Lithnet.CredentialProvider/Controls/ControlBase.cs
@@ -3,8 +3,6 @@ using System.ComponentModel;
using System.Runtime.CompilerServices;
using System.Runtime.InteropServices;
using Lithnet.CredentialProvider.Interop;
-using Microsoft.Extensions.Logging;
-using Microsoft.Extensions.Logging.Abstractions;
namespace Lithnet.CredentialProvider
{
@@ -19,8 +17,7 @@ namespace Lithnet.CredentialProvider
private FieldInteractiveState interactiveState;
private string label;
private FieldOptions options;
- private protected ILogger logger = NullLogger.Instance;
-
+ private protected ILogger logger;
public event PropertyChangedEventHandler PropertyChanged;
private protected ControlBase(ControlBase source)
@@ -52,7 +49,7 @@ namespace Lithnet.CredentialProvider
this.state = FieldState.DisplayInSelectedTile;
this.interactiveState = FieldInteractiveState.None;
this.options = FieldOptions.None;
-
+ this.logger = TraceLoggerFactory.Instance.CreateLogger(this.GetType());
this.Key = key;
}
diff --git a/src/Lithnet.CredentialProvider/Controls/InsecurePasswordTextboxControl.cs b/src/Lithnet.CredentialProvider/Controls/InsecurePasswordTextboxControl.cs
index c44336a..0d59df5 100644
--- a/src/Lithnet.CredentialProvider/Controls/InsecurePasswordTextboxControl.cs
+++ b/src/Lithnet.CredentialProvider/Controls/InsecurePasswordTextboxControl.cs
@@ -1,7 +1,6 @@
using System;
using System.Runtime.InteropServices;
using Lithnet.CredentialProvider.Interop;
-using Microsoft.Extensions.Logging;
namespace Lithnet.CredentialProvider
{
diff --git a/src/Lithnet.CredentialProvider/CredentialProviderBase.ICredentialProvider.cs b/src/Lithnet.CredentialProvider/CredentialProviderBase.ICredentialProvider.cs
index 2248941..30f91fe 100644
--- a/src/Lithnet.CredentialProvider/CredentialProviderBase.ICredentialProvider.cs
+++ b/src/Lithnet.CredentialProvider/CredentialProviderBase.ICredentialProvider.cs
@@ -2,7 +2,6 @@
using System.Linq;
using System.Runtime.InteropServices;
using Lithnet.CredentialProvider.Interop;
-using Microsoft.Extensions.Logging;
namespace Lithnet.CredentialProvider
{
diff --git a/src/Lithnet.CredentialProvider/CredentialProviderBase.ICredentialProviderSetUserArray.cs b/src/Lithnet.CredentialProvider/CredentialProviderBase.ICredentialProviderSetUserArray.cs
index 49d94c4..dce764d 100644
--- a/src/Lithnet.CredentialProvider/CredentialProviderBase.ICredentialProviderSetUserArray.cs
+++ b/src/Lithnet.CredentialProvider/CredentialProviderBase.ICredentialProviderSetUserArray.cs
@@ -1,6 +1,5 @@
using System;
using Lithnet.CredentialProvider.Interop;
-using Microsoft.Extensions.Logging;
namespace Lithnet.CredentialProvider
{
diff --git a/src/Lithnet.CredentialProvider/CredentialProviderBase.cs b/src/Lithnet.CredentialProvider/CredentialProviderBase.cs
index 8a64be6..33637b8 100644
--- a/src/Lithnet.CredentialProvider/CredentialProviderBase.cs
+++ b/src/Lithnet.CredentialProvider/CredentialProviderBase.cs
@@ -3,8 +3,6 @@ using System.Collections.Generic;
using System.Reflection;
using System.Runtime.InteropServices;
using Lithnet.CredentialProvider.Interop;
-using Microsoft.Extensions.Logging;
-using Microsoft.Extensions.Logging.Abstractions;
namespace Lithnet.CredentialProvider
{
@@ -73,7 +71,7 @@ namespace Lithnet.CredentialProvider
/// Gets a logger factory. Override this method and provide an implementation of to enable credential provider logging
///
/// An ILoggerFactory instance
- protected virtual ILoggerFactory GetLoggerFactory() { return NullLoggerFactory.Instance; }
+ protected virtual ILoggerFactory GetLoggerFactory() { return TraceLoggerFactory.Instance; }
///
/// Gets a value indicating if the credential provider supports the provided by LogonUI or CredUI
@@ -128,7 +126,7 @@ namespace Lithnet.CredentialProvider
///
/// Removes one or more user tiles, and notifies LogonUI that tiles have been removed
///
- /// The crendential tiles to remove
+ /// The credential tiles to remove
public void RemoveUserTiles(params CredentialTile[] tiles)
{
if (tiles == null)
diff --git a/src/Lithnet.CredentialProvider/CredentialProviderUser.cs b/src/Lithnet.CredentialProvider/CredentialProviderUser.cs
index d02a9e2..636a378 100644
--- a/src/Lithnet.CredentialProvider/CredentialProviderUser.cs
+++ b/src/Lithnet.CredentialProvider/CredentialProviderUser.cs
@@ -1,7 +1,6 @@
using System;
using System.Runtime.InteropServices;
using Lithnet.CredentialProvider.Interop;
-using Microsoft.Extensions.Logging;
namespace Lithnet.CredentialProvider
{
diff --git a/src/Lithnet.CredentialProvider/CredentialTile.ICredentialProviderCredential.cs b/src/Lithnet.CredentialProvider/CredentialTile.ICredentialProviderCredential.cs
index 84d078d..6f251c6 100644
--- a/src/Lithnet.CredentialProvider/CredentialTile.ICredentialProviderCredential.cs
+++ b/src/Lithnet.CredentialProvider/CredentialTile.ICredentialProviderCredential.cs
@@ -1,7 +1,6 @@
using System;
using System.Runtime.InteropServices;
using Lithnet.CredentialProvider.Interop;
-using Microsoft.Extensions.Logging;
namespace Lithnet.CredentialProvider
{
diff --git a/src/Lithnet.CredentialProvider/CredentialTile.ICredentialProviderCredentialWithFieldOptions.cs b/src/Lithnet.CredentialProvider/CredentialTile.ICredentialProviderCredentialWithFieldOptions.cs
index c0c4709..6214cc6 100644
--- a/src/Lithnet.CredentialProvider/CredentialTile.ICredentialProviderCredentialWithFieldOptions.cs
+++ b/src/Lithnet.CredentialProvider/CredentialTile.ICredentialProviderCredentialWithFieldOptions.cs
@@ -1,6 +1,5 @@
using System;
using Lithnet.CredentialProvider.Interop;
-using Microsoft.Extensions.Logging;
namespace Lithnet.CredentialProvider
{
diff --git a/src/Lithnet.CredentialProvider/CredentialTile.cs b/src/Lithnet.CredentialProvider/CredentialTile.cs
index cdc0103..5e626a9 100644
--- a/src/Lithnet.CredentialProvider/CredentialTile.cs
+++ b/src/Lithnet.CredentialProvider/CredentialTile.cs
@@ -1,7 +1,6 @@
using System;
using System.Runtime.InteropServices;
using Lithnet.CredentialProvider.Interop;
-using Microsoft.Extensions.Logging;
namespace Lithnet.CredentialProvider
{
diff --git a/src/Lithnet.CredentialProvider/CredentialTile2.ICredentialProviderCredential2.cs b/src/Lithnet.CredentialProvider/CredentialTile2.ICredentialProviderCredential2.cs
index 9aa5899..b17c16e 100644
--- a/src/Lithnet.CredentialProvider/CredentialTile2.ICredentialProviderCredential2.cs
+++ b/src/Lithnet.CredentialProvider/CredentialTile2.ICredentialProviderCredential2.cs
@@ -1,6 +1,5 @@
using System;
using Lithnet.CredentialProvider.Interop;
-using Microsoft.Extensions.Logging;
namespace Lithnet.CredentialProvider
{
diff --git a/src/Lithnet.CredentialProvider/CredentialTile3.ICredentialProviderCredential3.cs b/src/Lithnet.CredentialProvider/CredentialTile3.ICredentialProviderCredential3.cs
index 30c293d..088b9e5 100644
--- a/src/Lithnet.CredentialProvider/CredentialTile3.ICredentialProviderCredential3.cs
+++ b/src/Lithnet.CredentialProvider/CredentialTile3.ICredentialProviderCredential3.cs
@@ -1,6 +1,5 @@
using System;
using Lithnet.CredentialProvider.Interop;
-using Microsoft.Extensions.Logging;
namespace Lithnet.CredentialProvider
{
diff --git a/src/Lithnet.CredentialProvider/CredentialTile3.cs b/src/Lithnet.CredentialProvider/CredentialTile3.cs
index 8a4c246..20207b1 100644
--- a/src/Lithnet.CredentialProvider/CredentialTile3.cs
+++ b/src/Lithnet.CredentialProvider/CredentialTile3.cs
@@ -1,6 +1,5 @@
using System;
using Lithnet.CredentialProvider.Interop;
-using Microsoft.Extensions.Logging;
namespace Lithnet.CredentialProvider
{
diff --git a/src/Lithnet.CredentialProvider/Interop/CredentialSerializer.cs b/src/Lithnet.CredentialProvider/Interop/CredentialSerializer.cs
index 7c2c2ac..0ae4fea 100644
--- a/src/Lithnet.CredentialProvider/Interop/CredentialSerializer.cs
+++ b/src/Lithnet.CredentialProvider/Interop/CredentialSerializer.cs
@@ -2,7 +2,6 @@
using System.Runtime.InteropServices;
using System.Security;
using System.Text;
-using Microsoft.Extensions.Logging;
namespace Lithnet.CredentialProvider.Interop
{
diff --git a/src/Lithnet.CredentialProvider/Interop/InternalExtensions.cs b/src/Lithnet.CredentialProvider/Interop/InternalExtensions.cs
index abba1e0..88ff80e 100644
--- a/src/Lithnet.CredentialProvider/Interop/InternalExtensions.cs
+++ b/src/Lithnet.CredentialProvider/Interop/InternalExtensions.cs
@@ -1,7 +1,6 @@
using System;
using System.Diagnostics;
using System.Security;
-using Microsoft.Extensions.Logging;
namespace Lithnet.CredentialProvider.Interop
{
diff --git a/src/Lithnet.CredentialProvider/Lithnet.CredentialProvider.csproj b/src/Lithnet.CredentialProvider/Lithnet.CredentialProvider.csproj
index 997ad0d..b6161f4 100644
--- a/src/Lithnet.CredentialProvider/Lithnet.CredentialProvider.csproj
+++ b/src/Lithnet.CredentialProvider/Lithnet.CredentialProvider.csproj
@@ -39,7 +39,6 @@
-
all
runtime; build; native; contentfiles; analyzers; buildtransitive
diff --git a/src/Lithnet.CredentialProvider/Logging/ILogger.cs b/src/Lithnet.CredentialProvider/Logging/ILogger.cs
new file mode 100644
index 0000000..3a03fc4
--- /dev/null
+++ b/src/Lithnet.CredentialProvider/Logging/ILogger.cs
@@ -0,0 +1,12 @@
+using System;
+
+namespace Lithnet.CredentialProvider
+{
+ public interface ILogger
+ {
+ void LogError(Exception ex, string v);
+ void LogError(string v);
+ void LogTrace(string v);
+ void LogWarning(string message);
+ }
+}
diff --git a/src/Lithnet.CredentialProvider/Logging/ILoggerFactory.cs b/src/Lithnet.CredentialProvider/Logging/ILoggerFactory.cs
new file mode 100644
index 0000000..aa42552
--- /dev/null
+++ b/src/Lithnet.CredentialProvider/Logging/ILoggerFactory.cs
@@ -0,0 +1,11 @@
+using System;
+
+namespace Lithnet.CredentialProvider
+{
+ public interface ILoggerFactory
+ {
+ ILogger CreateLogger(Type type);
+
+ ILogger CreateLogger();
+ }
+}
diff --git a/src/Lithnet.CredentialProvider/Logging/TraceLogger.cs b/src/Lithnet.CredentialProvider/Logging/TraceLogger.cs
new file mode 100644
index 0000000..7020dee
--- /dev/null
+++ b/src/Lithnet.CredentialProvider/Logging/TraceLogger.cs
@@ -0,0 +1,28 @@
+using System;
+using System.Diagnostics;
+
+namespace Lithnet.CredentialProvider
+{
+ public class TraceLogger : ILogger
+ {
+ public void LogError(Exception ex, string v)
+ {
+ Trace.TraceError(v + "\r\n\r\n" + ex?.ToString());
+ }
+
+ public void LogError(string v)
+ {
+ Trace.TraceError(v);
+ }
+
+ public void LogTrace(string v)
+ {
+ Trace.TraceInformation(v);
+ }
+
+ public void LogWarning(string message)
+ {
+ Trace.TraceWarning(message);
+ }
+ }
+}
diff --git a/src/Lithnet.CredentialProvider/Logging/TraceLoggerFactory.cs b/src/Lithnet.CredentialProvider/Logging/TraceLoggerFactory.cs
new file mode 100644
index 0000000..35ecac9
--- /dev/null
+++ b/src/Lithnet.CredentialProvider/Logging/TraceLoggerFactory.cs
@@ -0,0 +1,21 @@
+using System;
+
+namespace Lithnet.CredentialProvider
+{
+ public class TraceLoggerFactory : ILoggerFactory
+ {
+ public ILogger CreateLogger(Type type)
+ {
+ return new TraceLogger();
+ }
+
+ public ILogger CreateLogger()
+ {
+ return new TraceLogger();
+ }
+
+ private static readonly TraceLoggerFactory loggerFactory = new TraceLoggerFactory();
+
+ public static ILoggerFactory Instance => loggerFactory;
+ }
+}