diff --git a/src/Lithnet.CredentialProvider/CredentialProviderRegistrationServices.cs b/src/Lithnet.CredentialProvider.RegistrationTool/CredentialProviderRegistrationServices.cs similarity index 93% rename from src/Lithnet.CredentialProvider/CredentialProviderRegistrationServices.cs rename to src/Lithnet.CredentialProvider.RegistrationTool/CredentialProviderRegistrationServices.cs index ee6796a..ca8b1e8 100644 --- a/src/Lithnet.CredentialProvider/CredentialProviderRegistrationServices.cs +++ b/src/Lithnet.CredentialProvider.RegistrationTool/CredentialProviderRegistrationServices.cs @@ -8,14 +8,6 @@ namespace Lithnet.CredentialProvider { public static class CredentialProviderRegistrationServices { - public static void DisableCredentialProvider() where T : CredentialProviderBase => DisableCredentialProvider(typeof(T)); - - public static void UnregisterCredentialProvider() where T : CredentialProviderBase => UnregisterCredentialProvider(typeof(T)); - - public static void RegisterCredentialProvider() where T : CredentialProviderBase => RegisterCredentialProvider(typeof(T)); - - public static void EnableCredentialProvider() where T : CredentialProviderBase => EnableCredentialProvider(typeof(T)); - public static void UnregisterCredentialProvider(Type type) { DeleteCredentialProviderRegistration(type); diff --git a/src/Lithnet.CredentialProvider.RegistrationTool/Lithnet.CredentialProvider.RegistrationTool.csproj b/src/Lithnet.CredentialProvider.RegistrationTool/Lithnet.CredentialProvider.RegistrationTool.csproj index bbebc64..bf978a9 100644 --- a/src/Lithnet.CredentialProvider.RegistrationTool/Lithnet.CredentialProvider.RegistrationTool.csproj +++ b/src/Lithnet.CredentialProvider.RegistrationTool/Lithnet.CredentialProvider.RegistrationTool.csproj @@ -1,12 +1,11 @@ - + Exe - net6.0 + net6.0-windows - diff --git a/src/Lithnet.CredentialProvider/Interop/Structs/InnerPropertyValue.cs b/src/Lithnet.CredentialProvider/Interop/Structs/InnerPropertyValue.cs index fe2f49f..d3b7437 100644 --- a/src/Lithnet.CredentialProvider/Interop/Structs/InnerPropertyValue.cs +++ b/src/Lithnet.CredentialProvider/Interop/Structs/InnerPropertyValue.cs @@ -53,7 +53,9 @@ namespace Lithnet.CredentialProvider.Interop public int scode; [FieldOffset(0)] +#pragma warning disable CS0618 // Type or member is obsolete [MarshalAs(UnmanagedType.Currency)] +#pragma warning restore CS0618 // Type or member is obsolete public decimal cyVal; [FieldOffset(0)] diff --git a/src/Lithnet.CredentialProvider/Lithnet.CredentialProvider.csproj b/src/Lithnet.CredentialProvider/Lithnet.CredentialProvider.csproj index 69d48b9..2b1e876 100644 --- a/src/Lithnet.CredentialProvider/Lithnet.CredentialProvider.csproj +++ b/src/Lithnet.CredentialProvider/Lithnet.CredentialProvider.csproj @@ -1,6 +1,6 @@  - netstandard2.0 + netstandard2.1;net472 false Library true @@ -9,6 +9,7 @@ true true 9 + true @@ -17,7 +18,7 @@ Copyright 2023 Lithnet Pty Ltd Lithnet Windows Credential Provider 1.0.0 - beta.26 + beta.38 Lithnet true true @@ -30,8 +31,7 @@ - - - + + diff --git a/src/Lithnet.CredentialProvider/ModuleInit/AssemblyResolver.cs b/src/Lithnet.CredentialProvider/ModuleInit/AssemblyResolver.cs index 8734bff..9a0bcec 100644 --- a/src/Lithnet.CredentialProvider/ModuleInit/AssemblyResolver.cs +++ b/src/Lithnet.CredentialProvider/ModuleInit/AssemblyResolver.cs @@ -3,6 +3,7 @@ using System.Diagnostics; using System.IO; using System.Reflection; using System.Runtime.CompilerServices; +using System.Threading; namespace Lithnet.CredentialProvider.ModuleInit { @@ -13,17 +14,47 @@ namespace Lithnet.CredentialProvider.ModuleInit [ModuleInitializer] public static void AttachResolver() { + Trace.WriteLine($"Loaded assembly {Assembly.GetExecutingAssembly().Location}"); Trace.WriteLine("Attaching assembly resolver"); AppDomain.CurrentDomain.AssemblyResolve += CurrentDomain_AssemblyResolve; + AppDomain.CurrentDomain.UnhandledException += CurrentDomain_UnhandledException; + AppDomain.CurrentDomain.FirstChanceException += CurrentDomain_FirstChanceException; basePath = Path.GetFullPath(Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)); } + private static void CurrentDomain_FirstChanceException(object sender, System.Runtime.ExceptionServices.FirstChanceExceptionEventArgs e) + { + Trace.WriteLine("First chance exception in credential provider"); + Trace.WriteLine((e.Exception)?.ToString() ?? "No exception details provided"); + } + + private static void CurrentDomain_UnhandledException(object sender, UnhandledExceptionEventArgs e) + { + Trace.WriteLine("Unhandled exception in credential provider"); + Trace.WriteLine((e.ExceptionObject as Exception)?.ToString() ?? "No exception details provided"); + } + private static Assembly CurrentDomain_AssemblyResolve(object sender, ResolveEventArgs args) { var name = new AssemblyName(args.Name); - string assyPath = Path.Combine(basePath, $"{name.Name}.dll"); Trace.WriteLine($"Request for {args.Name}"); +#if NETFRAMEWORK + if (name.Name.StartsWith("System.", StringComparison.OrdinalIgnoreCase)) + { + string gacPath = $@"C:\Windows\Microsoft.NET\assembly\GAC_MSIL\{name.Name}\v4.0_4.0.0.0__b03f5f7f11d50a3a\{name.Name}.dll"; + + if (File.Exists(gacPath)) + { + Trace.WriteLine($"System assembly found at {gacPath}"); + return Assembly.LoadFrom(gacPath); + } + } +#endif + + string assyPath = Path.Combine(basePath, $"{name.Name}.dll"); + + if (File.Exists(assyPath)) { Trace.WriteLine($"Found at {assyPath}"); diff --git a/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/InternalLogger.cs b/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/InternalLogger.cs index 427ece4..b54b624 100644 --- a/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/InternalLogger.cs +++ b/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/InternalLogger.cs @@ -24,8 +24,8 @@ namespace Lithnet.CredentialProvider.Samples */ - var logfile = new NLog.Targets.FileTarget("logfile") { FileName = "c:\\file.txt" }; - config.AddRule(NLog.LogLevel.Trace, NLog.LogLevel.Fatal, logfile); + //var logfile = new NLog.Targets.FileTarget("logfile") { FileName = "c:\\file.txt" }; + //config.AddRule(NLog.LogLevel.Trace, NLog.LogLevel.Fatal, logfile); config.AddRule(NLog.LogLevel.Trace, NLog.LogLevel.Fatal, logconsole); diff --git a/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/Lithnet.CredentialProvider.Sample.net472.x64.csproj b/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/Lithnet.CredentialProvider.Sample.net472.x64.csproj index 7dbe35d..6982d69 100644 --- a/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/Lithnet.CredentialProvider.Sample.net472.x64.csproj +++ b/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/Lithnet.CredentialProvider.Sample.net472.x64.csproj @@ -7,7 +7,15 @@ - + + + + + + + + + diff --git a/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/Resources.Designer.cs b/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/Resources.Designer.cs deleted file mode 100644 index 326a150..0000000 --- a/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/Resources.Designer.cs +++ /dev/null @@ -1,73 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace Lithnet.CredentialProvider.Samples { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Lithnet.CredentialProvider.Sample.Net472.x64.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap TileIcon { - get { - object obj = ResourceManager.GetObject("TileIcon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - } -} diff --git a/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/Resources.resx b/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/Resources.resx deleted file mode 100644 index e6bb7a2..0000000 --- a/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/Resources.resx +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - Resources\TileIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - \ No newline at end of file diff --git a/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/TestCredentialProviderNet472x64.cs b/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/TestCredentialProviderNet472x64.cs index ce9651b..baf69dd 100644 --- a/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/TestCredentialProviderNet472x64.cs +++ b/src/samples/Lithnet.CredentialProvider.Sample.net472.x64/TestCredentialProviderNet472x64.cs @@ -1,5 +1,8 @@ using System; using System.Collections.Generic; +using System.Diagnostics; +using System.Drawing; +using System.Reflection; using System.Runtime.InteropServices; using Microsoft.Extensions.Logging; @@ -11,11 +14,6 @@ namespace Lithnet.CredentialProvider.Samples [Guid("4eb911fa-ca18-40ea-86df-19aff5d1da58")] public class TestCredentialProviderNet472x64 : CredentialProviderBase { - public static void SelfRegister() - { - CredentialProviderRegistrationServices.RegisterCredentialProvider(); - } - protected override ILoggerFactory GetLoggerFactory() { return InternalLogger.LoggerFactory; @@ -35,9 +33,11 @@ namespace Lithnet.CredentialProvider.Samples } else { + var image = new Bitmap(Assembly.GetExecutingAssembly().GetManifestResourceStream("Lithnet.CredentialProvider.Sample.net472.x64.Resources.TileIcon.png")); + yield return new CredentialProviderLabelControl(ControlKeys.LabelCredentialProvider, "Login with showcase credential provider"); - yield return new CredentialProviderLogoControl(ControlKeys.ImageCredentialProvider, "Credential provider logo", Resources.TileIcon); - yield return new CredentialProviderLogoControl(ControlKeys.ImageUserTile, "User tile image", Resources.TileIcon); + yield return new CredentialProviderLogoControl(ControlKeys.ImageCredentialProvider, "Credential provider logo", image); + yield return new CredentialProviderLogoControl(ControlKeys.ImageUserTile, "User tile image", image); yield return new LargeLabelControl(ControlKeys.LabelLargeHeading, "The is our showcase credential provider"); yield return new SmallLabelControl(ControlKeys.LabelSmallHeading, "Let's see what we can do"); diff --git a/src/samples/Lithnet.CredentialProvider.Sample.net472.x86/Lithnet.CredentialProvider.Sample.net472.x86.csproj b/src/samples/Lithnet.CredentialProvider.Sample.net472.x86/Lithnet.CredentialProvider.Sample.net472.x86.csproj index 5594a90..c899343 100644 --- a/src/samples/Lithnet.CredentialProvider.Sample.net472.x86/Lithnet.CredentialProvider.Sample.net472.x86.csproj +++ b/src/samples/Lithnet.CredentialProvider.Sample.net472.x86/Lithnet.CredentialProvider.Sample.net472.x86.csproj @@ -6,6 +6,10 @@ x86 + + + + @@ -13,7 +17,11 @@ - + + + + + diff --git a/src/samples/Lithnet.CredentialProvider.Sample.net472.x86/Resources.Designer.cs b/src/samples/Lithnet.CredentialProvider.Sample.net472.x86/Resources.Designer.cs deleted file mode 100644 index 326a150..0000000 --- a/src/samples/Lithnet.CredentialProvider.Sample.net472.x86/Resources.Designer.cs +++ /dev/null @@ -1,73 +0,0 @@ -//------------------------------------------------------------------------------ -// -// This code was generated by a tool. -// Runtime Version:4.0.30319.42000 -// -// Changes to this file may cause incorrect behavior and will be lost if -// the code is regenerated. -// -//------------------------------------------------------------------------------ - -namespace Lithnet.CredentialProvider.Samples { - using System; - - - /// - /// A strongly-typed resource class, for looking up localized strings, etc. - /// - // This class was auto-generated by the StronglyTypedResourceBuilder - // class via a tool like ResGen or Visual Studio. - // To add or remove a member, edit your .ResX file then rerun ResGen - // with the /str option, or rebuild your VS project. - [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "17.0.0.0")] - [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] - [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()] - internal class Resources { - - private static global::System.Resources.ResourceManager resourceMan; - - private static global::System.Globalization.CultureInfo resourceCulture; - - [global::System.Diagnostics.CodeAnalysis.SuppressMessageAttribute("Microsoft.Performance", "CA1811:AvoidUncalledPrivateCode")] - internal Resources() { - } - - /// - /// Returns the cached ResourceManager instance used by this class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Resources.ResourceManager ResourceManager { - get { - if (object.ReferenceEquals(resourceMan, null)) { - global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Lithnet.CredentialProvider.Sample.Net472.x64.Resources", typeof(Resources).Assembly); - resourceMan = temp; - } - return resourceMan; - } - } - - /// - /// Overrides the current thread's CurrentUICulture property for all - /// resource lookups using this strongly typed resource class. - /// - [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)] - internal static global::System.Globalization.CultureInfo Culture { - get { - return resourceCulture; - } - set { - resourceCulture = value; - } - } - - /// - /// Looks up a localized resource of type System.Drawing.Bitmap. - /// - internal static System.Drawing.Bitmap TileIcon { - get { - object obj = ResourceManager.GetObject("TileIcon", resourceCulture); - return ((System.Drawing.Bitmap)(obj)); - } - } - } -} diff --git a/src/samples/Lithnet.CredentialProvider.Sample.net472.x86/Resources.resx b/src/samples/Lithnet.CredentialProvider.Sample.net472.x86/Resources.resx deleted file mode 100644 index e6bb7a2..0000000 --- a/src/samples/Lithnet.CredentialProvider.Sample.net472.x86/Resources.resx +++ /dev/null @@ -1,124 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - text/microsoft-resx - - - 2.0 - - - System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089 - - - - Resources\TileIcon.png;System.Drawing.Bitmap, System.Drawing, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a - - \ No newline at end of file diff --git a/src/samples/Lithnet.CredentialProvider.Sample.net472.x86/TestCredentialProviderNet472x86.cs b/src/samples/Lithnet.CredentialProvider.Sample.net472.x86/TestCredentialProviderNet472x86.cs index aa66a35..a004d08 100644 --- a/src/samples/Lithnet.CredentialProvider.Sample.net472.x86/TestCredentialProviderNet472x86.cs +++ b/src/samples/Lithnet.CredentialProvider.Sample.net472.x86/TestCredentialProviderNet472x86.cs @@ -1,5 +1,7 @@ using System; using System.Collections.Generic; +using System.Drawing; +using System.Reflection; using System.Runtime.InteropServices; using Microsoft.Extensions.Logging; @@ -13,11 +15,6 @@ namespace Lithnet.CredentialProvider.Samples { private static readonly ILogger logger = InternalLogger.LoggerFactory.CreateLogger(); - public static void SelfRegister() - { - CredentialProviderRegistrationServices.RegisterCredentialProvider(); - } - protected override ILoggerFactory GetLoggerFactory() { return InternalLogger.LoggerFactory; @@ -25,7 +22,6 @@ namespace Lithnet.CredentialProvider.Samples public override IEnumerable GetControls(UsageScenario cpus) { - var password = new SecurePasswordTextboxControl(ControlKeys.Password, "Password"); if (cpus == UsageScenario.ChangePassword) @@ -38,9 +34,11 @@ namespace Lithnet.CredentialProvider.Samples } else { + var image = new Bitmap(Assembly.GetExecutingAssembly().GetManifestResourceStream("Lithnet.CredentialProvider.Sample.net472.x86.Resources.TileIcon.png")); + yield return new CredentialProviderLabelControl(ControlKeys.LabelCredentialProvider, "Login with showcase credential provider"); - yield return new CredentialProviderLogoControl(ControlKeys.ImageCredentialProvider, "Credential provider logo", Resources.TileIcon); - yield return new CredentialProviderLogoControl(ControlKeys.ImageUserTile, "User tile image", Resources.TileIcon); + yield return new CredentialProviderLogoControl(ControlKeys.ImageCredentialProvider, "Credential provider logo", image); + yield return new CredentialProviderLogoControl(ControlKeys.ImageUserTile, "User tile image", image); yield return new LargeLabelControl(ControlKeys.LabelLargeHeading, "The is our showcase credential provider"); yield return new SmallLabelControl(ControlKeys.LabelSmallHeading, "Let's see what we can do"); diff --git a/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x64/Lithnet.CredentialProvider.Sample.net6.0.x64.csproj b/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x64/Lithnet.CredentialProvider.Sample.net6.0.x64.csproj index 0e60bff..a5e7303 100644 --- a/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x64/Lithnet.CredentialProvider.Sample.net6.0.x64.csproj +++ b/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x64/Lithnet.CredentialProvider.Sample.net6.0.x64.csproj @@ -22,7 +22,7 @@ - + diff --git a/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x64/TestCredentialProviderNet60x64.cs b/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x64/TestCredentialProviderNet60x64.cs index ff75725..4344aaf 100644 --- a/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x64/TestCredentialProviderNet60x64.cs +++ b/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x64/TestCredentialProviderNet60x64.cs @@ -15,11 +15,6 @@ namespace Lithnet.CredentialProvider.Samples { private static readonly ILogger logger = InternalLogger.LoggerFactory.CreateLogger(); - public static void SelfRegister() - { - CredentialProviderRegistrationServices.RegisterCredentialProvider(); - } - protected override ILoggerFactory GetLoggerFactory() { return InternalLogger.LoggerFactory; @@ -27,7 +22,6 @@ namespace Lithnet.CredentialProvider.Samples public override IEnumerable GetControls(UsageScenario cpus) { - var password = new SecurePasswordTextboxControl(ControlKeys.Password, "Password"); if (cpus == UsageScenario.ChangePassword) diff --git a/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x86/Lithnet.CredentialProvider.Sample.net6.0.x86.csproj b/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x86/Lithnet.CredentialProvider.Sample.net6.0.x86.csproj index b14f59e..dd50efe 100644 --- a/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x86/Lithnet.CredentialProvider.Sample.net6.0.x86.csproj +++ b/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x86/Lithnet.CredentialProvider.Sample.net6.0.x86.csproj @@ -22,7 +22,7 @@ - + diff --git a/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x86/TestCredentialProviderNet60x86.cs b/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x86/TestCredentialProviderNet60x86.cs index 5645d6c..5ccc088 100644 --- a/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x86/TestCredentialProviderNet60x86.cs +++ b/src/samples/Lithnet.CredentialProvider.Sample.net6.0.x86/TestCredentialProviderNet60x86.cs @@ -15,11 +15,6 @@ namespace Lithnet.CredentialProvider.Samples { private static readonly ILogger logger = InternalLogger.LoggerFactory.CreateLogger(); - public static void SelfRegister() - { - CredentialProviderRegistrationServices.RegisterCredentialProvider(); - } - protected override ILoggerFactory GetLoggerFactory() { return InternalLogger.LoggerFactory; @@ -27,7 +22,6 @@ namespace Lithnet.CredentialProvider.Samples public override IEnumerable GetControls(UsageScenario cpus) { - var password = new SecurePasswordTextboxControl(ControlKeys.Password, "Password"); if (cpus == UsageScenario.ChangePassword) diff --git a/src/samples/Lithnet.CredentialProvider.TestApp.x64/Lithnet.CredentialProvider.TestApp.x64.csproj b/src/samples/Lithnet.CredentialProvider.TestApp.x64/Lithnet.CredentialProvider.TestApp.x64.csproj index 5fd9820..6628cf4 100644 --- a/src/samples/Lithnet.CredentialProvider.TestApp.x64/Lithnet.CredentialProvider.TestApp.x64.csproj +++ b/src/samples/Lithnet.CredentialProvider.TestApp.x64/Lithnet.CredentialProvider.TestApp.x64.csproj @@ -2,7 +2,7 @@ Exe - net6.0-windows + net472 false x64