Буторов Артем Михайлович 3 年之前
当前提交
42c68c40b4
共有 100 个文件被更改,包括 165776 次插入0 次删除
  1. 16 0
      .vs/Work29/project-colors.json
  2. 二进制
      .vs/Work29/v16/.suo
  3. 0 0
      .vs/Work29/v16/Server/sqlite3/db.lock
  4. 二进制
      .vs/Work29/v16/Server/sqlite3/storage.ide
  5. 二进制
      .vs/Work29/v17/.suo
  6. 25 0
      Work29.sln
  7. 54 0
      Work29/App.config
  8. 15 0
      Work29/Models/StatusTask.cs
  9. 22 0
      Work29/Models/Task.cs
  10. 24 0
      Work29/Models/User.cs
  11. 39 0
      Work29/Models/Work29Context.cs
  12. 55 0
      Work29/Properties/AssemblyInfo.cs
  13. 71 0
      Work29/Properties/Resources.Designer.cs
  14. 117 0
      Work29/Properties/Resources.resx
  15. 30 0
      Work29/Properties/Settings.Designer.cs
  16. 7 0
      Work29/Properties/Settings.settings
  17. 9 0
      Work29/Tools/App.xaml
  18. 17 0
      Work29/Tools/App.xaml.cs
  19. 20 0
      Work29/Tools/BaseViewModel.cs
  20. 33 0
      Work29/Tools/RelayCommand.cs
  21. 101 0
      Work29/ViewModels/MainWindowViewModel.cs
  22. 71 0
      Work29/ViewModels/RegWindowViewModel.cs
  23. 72 0
      Work29/ViewModels/UserWindowViewModel.cs
  24. 220 0
      Work29/ViewModels/ViewTasksWindowViewModel.cs
  25. 34 0
      Work29/ViewModels/ViewUsersWindowViewModel.cs
  26. 29 0
      Work29/Views/MainWindow.xaml
  27. 31 0
      Work29/Views/MainWindow.xaml.cs
  28. 34 0
      Work29/Views/RegWindow.xaml
  29. 29 0
      Work29/Views/RegWindow.xaml.cs
  30. 33 0
      Work29/Views/UserWindow.xaml
  31. 29 0
      Work29/Views/UserWindow.xaml.cs
  32. 63 0
      Work29/Views/ViewTasksWindow.xaml
  33. 35 0
      Work29/Views/ViewTasksWindow.xaml.cs
  34. 18 0
      Work29/Views/ViewUsersWindow.xaml
  35. 30 0
      Work29/Views/ViewUsersWindow.xaml.cs
  36. 275 0
      Work29/Work29.csproj
  37. 二进制
      Work29/bin/Debug/Castle.Core.dll
  38. 6057 0
      Work29/bin/Debug/Castle.Core.xml
  39. 二进制
      Work29/bin/Debug/Microsoft.Bcl.AsyncInterfaces.dll
  40. 223 0
      Work29/bin/Debug/Microsoft.Bcl.AsyncInterfaces.xml
  41. 二进制
      Work29/bin/Debug/Microsoft.Bcl.HashCode.dll
  42. 34 0
      Work29/bin/Debug/Microsoft.Bcl.HashCode.xml
  43. 二进制
      Work29/bin/Debug/Microsoft.Data.SqlClient.dll
  44. 二进制
      Work29/bin/Debug/Microsoft.Data.SqlClient.pdb
  45. 22870 0
      Work29/bin/Debug/Microsoft.Data.SqlClient.xml
  46. 二进制
      Work29/bin/Debug/Microsoft.EntityFrameworkCore.Abstractions.dll
  47. 125 0
      Work29/bin/Debug/Microsoft.EntityFrameworkCore.Abstractions.xml
  48. 二进制
      Work29/bin/Debug/Microsoft.EntityFrameworkCore.Design.dll
  49. 4575 0
      Work29/bin/Debug/Microsoft.EntityFrameworkCore.Design.xml
  50. 二进制
      Work29/bin/Debug/Microsoft.EntityFrameworkCore.Proxies.dll
  51. 365 0
      Work29/bin/Debug/Microsoft.EntityFrameworkCore.Proxies.xml
  52. 二进制
      Work29/bin/Debug/Microsoft.EntityFrameworkCore.Relational.dll
  53. 23677 0
      Work29/bin/Debug/Microsoft.EntityFrameworkCore.Relational.xml
  54. 二进制
      Work29/bin/Debug/Microsoft.EntityFrameworkCore.SqlServer.dll
  55. 5654 0
      Work29/bin/Debug/Microsoft.EntityFrameworkCore.SqlServer.xml
  56. 二进制
      Work29/bin/Debug/Microsoft.EntityFrameworkCore.dll
  57. 57073 0
      Work29/bin/Debug/Microsoft.EntityFrameworkCore.xml
  58. 二进制
      Work29/bin/Debug/Microsoft.Extensions.Caching.Abstractions.dll
  59. 528 0
      Work29/bin/Debug/Microsoft.Extensions.Caching.Abstractions.xml
  60. 二进制
      Work29/bin/Debug/Microsoft.Extensions.Caching.Memory.dll
  61. 173 0
      Work29/bin/Debug/Microsoft.Extensions.Caching.Memory.xml
  62. 二进制
      Work29/bin/Debug/Microsoft.Extensions.Configuration.Abstractions.dll
  63. 251 0
      Work29/bin/Debug/Microsoft.Extensions.Configuration.Abstractions.xml
  64. 二进制
      Work29/bin/Debug/Microsoft.Extensions.Configuration.Binder.dll
  65. 157 0
      Work29/bin/Debug/Microsoft.Extensions.Configuration.Binder.xml
  66. 二进制
      Work29/bin/Debug/Microsoft.Extensions.Configuration.dll
  67. 480 0
      Work29/bin/Debug/Microsoft.Extensions.Configuration.xml
  68. 二进制
      Work29/bin/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.dll
  69. 1054 0
      Work29/bin/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.xml
  70. 二进制
      Work29/bin/Debug/Microsoft.Extensions.DependencyInjection.dll
  71. 251 0
      Work29/bin/Debug/Microsoft.Extensions.DependencyInjection.xml
  72. 二进制
      Work29/bin/Debug/Microsoft.Extensions.Logging.Abstractions.dll
  73. 838 0
      Work29/bin/Debug/Microsoft.Extensions.Logging.Abstractions.xml
  74. 二进制
      Work29/bin/Debug/Microsoft.Extensions.Logging.dll
  75. 392 0
      Work29/bin/Debug/Microsoft.Extensions.Logging.xml
  76. 二进制
      Work29/bin/Debug/Microsoft.Extensions.Options.dll
  77. 1820 0
      Work29/bin/Debug/Microsoft.Extensions.Options.xml
  78. 二进制
      Work29/bin/Debug/Microsoft.Extensions.Primitives.dll
  79. 524 0
      Work29/bin/Debug/Microsoft.Extensions.Primitives.xml
  80. 二进制
      Work29/bin/Debug/Microsoft.Identity.Client.dll
  81. 17434 0
      Work29/bin/Debug/Microsoft.Identity.Client.xml
  82. 二进制
      Work29/bin/Debug/Microsoft.IdentityModel.JsonWebTokens.dll
  83. 847 0
      Work29/bin/Debug/Microsoft.IdentityModel.JsonWebTokens.xml
  84. 二进制
      Work29/bin/Debug/Microsoft.IdentityModel.Logging.dll
  85. 398 0
      Work29/bin/Debug/Microsoft.IdentityModel.Logging.xml
  86. 二进制
      Work29/bin/Debug/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll
  87. 1315 0
      Work29/bin/Debug/Microsoft.IdentityModel.Protocols.OpenIdConnect.xml
  88. 二进制
      Work29/bin/Debug/Microsoft.IdentityModel.Protocols.dll
  89. 315 0
      Work29/bin/Debug/Microsoft.IdentityModel.Protocols.xml
  90. 二进制
      Work29/bin/Debug/Microsoft.IdentityModel.Tokens.dll
  91. 3510 0
      Work29/bin/Debug/Microsoft.IdentityModel.Tokens.xml
  92. 二进制
      Work29/bin/Debug/Microsoft.Xaml.Behaviors.dll
  93. 二进制
      Work29/bin/Debug/Microsoft.Xaml.Behaviors.pdb
  94. 2388 0
      Work29/bin/Debug/Microsoft.Xaml.Behaviors.xml
  95. 二进制
      Work29/bin/Debug/Newtonsoft.Json.dll
  96. 10752 0
      Work29/bin/Debug/Newtonsoft.Json.xml
  97. 二进制
      Work29/bin/Debug/System.Buffers.dll
  98. 38 0
      Work29/bin/Debug/System.Buffers.xml
  99. 二进制
      Work29/bin/Debug/System.Collections.Immutable.dll
  100. 0 0
      Work29/bin/Debug/System.Collections.Immutable.xml

+ 16 - 0
.vs/Work29/project-colors.json

@@ -0,0 +1,16 @@
+{
+  "Version": 1,
+  "ProjectMap": {
+    "6731be41-39ab-4a51-88d3-d45008f2f562": {
+      "ProjectGuid": "6731be41-39ab-4a51-88d3-d45008f2f562",
+      "DisplayName": "Work29",
+      "ColorIndex": 0
+    },
+    "a2fe74e1-b743-11d0-ae1a-00a0c90fffc3": {
+      "ProjectGuid": "a2fe74e1-b743-11d0-ae1a-00a0c90fffc3",
+      "DisplayName": "Прочие файлы",
+      "ColorIndex": -1
+    }
+  },
+  "NextColorIndex": 1
+}

二进制
.vs/Work29/v16/.suo


+ 0 - 0
.vs/Work29/v16/Server/sqlite3/db.lock


二进制
.vs/Work29/v16/Server/sqlite3/storage.ide


二进制
.vs/Work29/v17/.suo


+ 25 - 0
Work29.sln

@@ -0,0 +1,25 @@
+
+Microsoft Visual Studio Solution File, Format Version 12.00
+# Visual Studio Version 16
+VisualStudioVersion = 16.0.29102.190
+MinimumVisualStudioVersion = 10.0.40219.1
+Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "Work29", "Work29\Work29.csproj", "{6731BE41-39AB-4A51-88D3-D45008F2F562}"
+EndProject
+Global
+	GlobalSection(SolutionConfigurationPlatforms) = preSolution
+		Debug|Any CPU = Debug|Any CPU
+		Release|Any CPU = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(ProjectConfigurationPlatforms) = postSolution
+		{6731BE41-39AB-4A51-88D3-D45008F2F562}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
+		{6731BE41-39AB-4A51-88D3-D45008F2F562}.Debug|Any CPU.Build.0 = Debug|Any CPU
+		{6731BE41-39AB-4A51-88D3-D45008F2F562}.Release|Any CPU.ActiveCfg = Release|Any CPU
+		{6731BE41-39AB-4A51-88D3-D45008F2F562}.Release|Any CPU.Build.0 = Release|Any CPU
+	EndGlobalSection
+	GlobalSection(SolutionProperties) = preSolution
+		HideSolutionNode = FALSE
+	EndGlobalSection
+	GlobalSection(ExtensibilityGlobals) = postSolution
+		SolutionGuid = {C852B494-679E-47E8-B0D3-E31A0DE86BCC}
+	EndGlobalSection
+EndGlobal

+ 54 - 0
Work29/App.config

@@ -0,0 +1,54 @@
+<?xml version="1.0" encoding="utf-8"?>
+<configuration>
+    <startup> 
+        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.7.2" />
+    </startup>
+  <runtime>
+    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
+      <dependentAssembly>
+        <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-4.0.6.0" newVersion="4.0.6.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="System.Memory" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-4.0.1.1" newVersion="4.0.1.1" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.Extensions.Primitives" publicKeyToken="adb9793829ddae60" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-3.1.10.0" newVersion="3.1.10.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.Extensions.Configuration.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-3.1.10.0" newVersion="3.1.10.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-3.1.10.0" newVersion="3.1.10.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.Extensions.Caching.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-3.1.10.0" newVersion="3.1.10.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.Extensions.Options" publicKeyToken="adb9793829ddae60" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-3.1.10.0" newVersion="3.1.10.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-3.1.10.0" newVersion="3.1.10.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="System.Threading.Tasks.Extensions" publicKeyToken="cc7b13ffcd2ddd51" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-4.2.0.1" newVersion="4.2.0.1" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="Microsoft.Extensions.DependencyInjection" publicKeyToken="adb9793829ddae60" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-3.1.10.0" newVersion="3.1.10.0" />
+      </dependentAssembly>
+      <dependentAssembly>
+        <assemblyIdentity name="System.ComponentModel.Annotations" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
+        <bindingRedirect oldVersion="0.0.0.0-4.2.1.0" newVersion="4.2.1.0" />
+      </dependentAssembly>
+    </assemblyBinding>
+  </runtime>
+</configuration>

+ 15 - 0
Work29/Models/StatusTask.cs

@@ -0,0 +1,15 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Work29
+{
+    public class StatusTask
+    {
+        public int Id { get; set; }
+        public string Name { get; set; }
+        public virtual List<Task> Tasks { get; set; }
+    }
+}

+ 22 - 0
Work29/Models/Task.cs

@@ -0,0 +1,22 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Work29
+{
+    public class Task
+    {
+        public int Id { get; set; }
+        public string Name { get; set; }
+        public string Description { get; set; }
+        public DateTime YearOfRelease { get; set; }
+        public int UserCreatedId { get; set; }
+        public int UserAcceptedId { get; set; }
+        public int StatusTaskId { get; set; }
+        public virtual User UserCreated { get; set; }
+        public virtual User UserAccepted { get; set; }
+        public virtual StatusTask StatusTask { get; set; }
+    }
+}

+ 24 - 0
Work29/Models/User.cs

@@ -0,0 +1,24 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Work29
+{
+    public class User
+    {
+        public int Id { get; set; }
+        public string Name { get; set; }
+        public string Surname { get; set; }
+        public string Patronimyc { get; set; }
+        public string Login { get; set; }
+        public string Password { get; set; }
+        public string Phone { get; set; }
+        public virtual List<Task> UserCreateds { get; set; }
+        public virtual List<Task> UserAccepteds { get; set; }
+        public override string ToString() => $"ID - {Id}, Name - {Name}, Surname - {Surname}, " +
+            $"\nPatronimyc - {Patronimyc}, Login - {Login}, Password - {Password}, Phone - {Phone}.";
+        public static User a_user { get; set; }
+    }
+}

+ 39 - 0
Work29/Models/Work29Context.cs

@@ -0,0 +1,39 @@
+using Microsoft.EntityFrameworkCore;
+
+namespace Work29
+{
+    public class Work29Context : DbContext
+    {
+        public Work29Context()
+        {
+            Database.EnsureCreated();
+        }
+        public DbSet<User> Users { get; set; }
+        public DbSet<Task> Tasks { get; set; }
+        public DbSet<StatusTask> StatusTasks { get; set; }
+        protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
+        {
+            optionsBuilder.UseLazyLoadingProxies();
+            optionsBuilder.UseSqlServer("Data Source=(localdb)\\mssqllocaldb; Initial Catalog=AppDb;Trusted_Connection=True;");
+        }
+        protected override void OnModelCreating(ModelBuilder modelBuilder)
+        {
+            modelBuilder.Entity<Task>()
+                        .HasOne(m => m.UserCreated)
+                        .WithMany(t => t.UserCreateds)
+                        .HasForeignKey(m => m.UserCreatedId)
+                        .OnDelete(DeleteBehavior.Restrict);
+            modelBuilder.Entity<Task>()
+                        .HasOne(m => m.UserAccepted)
+                        .WithMany(t => t.UserAccepteds)
+                        .HasForeignKey(m => m.UserAcceptedId)
+                        .OnDelete(DeleteBehavior.Restrict);
+            modelBuilder.Entity<Task>()
+                        .HasOne(m => m.StatusTask)
+                        .WithMany(t => t.Tasks)
+                        .HasForeignKey(m => m.StatusTaskId)
+                        .OnDelete(DeleteBehavior.Restrict);
+
+        }
+    }
+}

+ 55 - 0
Work29/Properties/AssemblyInfo.cs

@@ -0,0 +1,55 @@
+using System.Reflection;
+using System.Resources;
+using System.Runtime.CompilerServices;
+using System.Runtime.InteropServices;
+using System.Windows;
+
+// Общие сведения об этой сборке предоставляются следующим набором
+// набор атрибутов. Измените значения этих атрибутов, чтобы изменить сведения,
+// связанные со сборкой.
+[assembly: AssemblyTitle("Work29")]
+[assembly: AssemblyDescription("")]
+[assembly: AssemblyConfiguration("")]
+[assembly: AssemblyCompany("")]
+[assembly: AssemblyProduct("Work29")]
+[assembly: AssemblyCopyright("Copyright ©  2022")]
+[assembly: AssemblyTrademark("")]
+[assembly: AssemblyCulture("")]
+
+// Установка значения False для параметра ComVisible делает типы в этой сборке невидимыми
+// для компонентов COM. Если необходимо обратиться к типу в этой сборке через
+// из модели COM, установите атрибут ComVisible для этого типа в значение true.
+[assembly: ComVisible(false)]
+
+//Чтобы начать создание локализуемых приложений, задайте
+//<UICulture>CultureYouAreCodingWith</UICulture> в файле .csproj
+//в <PropertyGroup>. Например, при использовании английского (США)
+//в своих исходных файлах установите <UICulture> в en-US.  Затем отмените преобразование в комментарий
+//атрибута NeutralResourceLanguage ниже.  Обновите "en-US" в
+//строка внизу для обеспечения соответствия настройки UICulture в файле проекта.
+
+//[assembly: NeutralResourcesLanguage("en-US", UltimateResourceFallbackLocation.Satellite)]
+
+
+[assembly: ThemeInfo(
+    ResourceDictionaryLocation.None, //где расположены словари ресурсов по конкретным тематикам
+                                     //(используется, если ресурс не найден на странице,
+                                     // или в словарях ресурсов приложения)
+    ResourceDictionaryLocation.SourceAssembly //где расположен словарь универсальных ресурсов
+                                              //(используется, если ресурс не найден на странице,
+                                              // в приложении или в каких-либо словарях ресурсов для конкретной темы)
+)]
+
+
+// Сведения о версии для сборки включают четыре следующих значения:
+//
+//      Основной номер версии
+//      Дополнительный номер версии
+//      Номер сборки
+//      Номер редакции
+//
+// Можно задать все значения или принять номера сборки и редакции по умолчанию 
+// используя "*", как показано ниже:
+// [assembly: AssemblyVersion("1.0.*")]
+[assembly: AssemblyVersion("1.0.0.0")]
+[assembly: AssemblyFileVersion("1.0.0.0")]

+ 71 - 0
Work29/Properties/Resources.Designer.cs

@@ -0,0 +1,71 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     Этот код был создан программным средством.
+//     Версия среды выполнения: 4.0.30319.42000
+//
+//     Изменения в этом файле могут привести к неправильному поведению и будут утрачены, если
+//     код создан повторно.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Work29.Properties
+{
+
+
+    /// <summary>
+    ///   Класс ресурсов со строгим типом для поиска локализованных строк и пр.
+    /// </summary>
+    // Этот класс был автоматически создан при помощи StronglyTypedResourceBuilder
+    // класс с помощью таких средств, как ResGen или Visual Studio.
+    // Для добавления или удаления члена измените файл .ResX, а затем перезапустите ResGen
+    // с параметром /str или заново постройте свой VS-проект.
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("System.Resources.Tools.StronglyTypedResourceBuilder", "4.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()
+        {
+        }
+
+        /// <summary>
+        ///   Возврат кэшированного экземпляра ResourceManager, используемого этим классом.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Resources.ResourceManager ResourceManager
+        {
+            get
+            {
+                if ((resourceMan == null))
+                {
+                    global::System.Resources.ResourceManager temp = new global::System.Resources.ResourceManager("Work29.Properties.Resources", typeof(Resources).Assembly);
+                    resourceMan = temp;
+                }
+                return resourceMan;
+            }
+        }
+
+        /// <summary>
+        ///   Переопределяет свойство CurrentUICulture текущего потока для всех
+        ///   подстановки ресурсов с помощью этого класса ресурсов со строгим типом.
+        /// </summary>
+        [global::System.ComponentModel.EditorBrowsableAttribute(global::System.ComponentModel.EditorBrowsableState.Advanced)]
+        internal static global::System.Globalization.CultureInfo Culture
+        {
+            get
+            {
+                return resourceCulture;
+            }
+            set
+            {
+                resourceCulture = value;
+            }
+        }
+    }
+}

+ 117 - 0
Work29/Properties/Resources.resx

@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="utf-8"?>
+<root>
+  <!-- 
+    Microsoft ResX Schema 
+    
+    Version 2.0
+    
+    The primary goals of this format is to allow a simple XML format 
+    that is mostly human readable. The generation and parsing of the 
+    various data types are done through the TypeConverter classes 
+    associated with the data types.
+    
+    Example:
+    
+    ... ado.net/XML headers & schema ...
+    <resheader name="resmimetype">text/microsoft-resx</resheader>
+    <resheader name="version">2.0</resheader>
+    <resheader name="reader">System.Resources.ResXResourceReader, System.Windows.Forms, ...</resheader>
+    <resheader name="writer">System.Resources.ResXResourceWriter, System.Windows.Forms, ...</resheader>
+    <data name="Name1"><value>this is my long string</value><comment>this is a comment</comment></data>
+    <data name="Color1" type="System.Drawing.Color, System.Drawing">Blue</data>
+    <data name="Bitmap1" mimetype="application/x-microsoft.net.object.binary.base64">
+        <value>[base64 mime encoded serialized .NET Framework object]</value>
+    </data>
+    <data name="Icon1" type="System.Drawing.Icon, System.Drawing" mimetype="application/x-microsoft.net.object.bytearray.base64">
+        <value>[base64 mime encoded string representing a byte array form of the .NET Framework object]</value>
+        <comment>This is a comment</comment>
+    </data>
+                
+    There are any number of "resheader" rows that contain simple 
+    name/value pairs.
+    
+    Each data row contains a name, and value. The row also contains a 
+    type or mimetype. Type corresponds to a .NET class that support 
+    text/value conversion through the TypeConverter architecture. 
+    Classes that don't support this are serialized and stored with the 
+    mimetype set.
+    
+    The mimetype is used for serialized objects, and tells the 
+    ResXResourceReader how to depersist the object. This is currently not 
+    extensible. For a given mimetype the value must be set accordingly:
+    
+    Note - application/x-microsoft.net.object.binary.base64 is the format 
+    that the ResXResourceWriter will generate, however the reader can 
+    read any of the formats listed below.
+    
+    mimetype: application/x-microsoft.net.object.binary.base64
+    value   : The object must be serialized with 
+            : System.Serialization.Formatters.Binary.BinaryFormatter
+            : and then encoded with base64 encoding.
+    
+    mimetype: application/x-microsoft.net.object.soap.base64
+    value   : The object must be serialized with 
+            : System.Runtime.Serialization.Formatters.Soap.SoapFormatter
+            : and then encoded with base64 encoding.
+
+    mimetype: application/x-microsoft.net.object.bytearray.base64
+    value   : The object must be serialized into a byte array 
+            : using a System.ComponentModel.TypeConverter
+            : and then encoded with base64 encoding.
+    -->
+  <xsd:schema id="root" xmlns="" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:msdata="urn:schemas-microsoft-com:xml-msdata">
+    <xsd:element name="root" msdata:IsDataSet="true">
+      <xsd:complexType>
+        <xsd:choice maxOccurs="unbounded">
+          <xsd:element name="metadata">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" />
+              <xsd:attribute name="type" type="xsd:string" />
+              <xsd:attribute name="mimetype" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="assembly">
+            <xsd:complexType>
+              <xsd:attribute name="alias" type="xsd:string" />
+              <xsd:attribute name="name" type="xsd:string" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="data">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+                <xsd:element name="comment" type="xsd:string" minOccurs="0" msdata:Ordinal="2" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" msdata:Ordinal="1" />
+              <xsd:attribute name="type" type="xsd:string" msdata:Ordinal="3" />
+              <xsd:attribute name="mimetype" type="xsd:string" msdata:Ordinal="4" />
+            </xsd:complexType>
+          </xsd:element>
+          <xsd:element name="resheader">
+            <xsd:complexType>
+              <xsd:sequence>
+                <xsd:element name="value" type="xsd:string" minOccurs="0" msdata:Ordinal="1" />
+              </xsd:sequence>
+              <xsd:attribute name="name" type="xsd:string" use="required" />
+            </xsd:complexType>
+          </xsd:element>
+        </xsd:choice>
+      </xsd:complexType>
+    </xsd:element>
+  </xsd:schema>
+  <resheader name="resmimetype">
+    <value>text/microsoft-resx</value>
+  </resheader>
+  <resheader name="version">
+    <value>2.0</value>
+  </resheader>
+  <resheader name="reader">
+    <value>System.Resources.ResXResourceReader, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+  <resheader name="writer">
+    <value>System.Resources.ResXResourceWriter, System.Windows.Forms, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089</value>
+  </resheader>
+</root>

+ 30 - 0
Work29/Properties/Settings.Designer.cs

@@ -0,0 +1,30 @@
+//------------------------------------------------------------------------------
+// <auto-generated>
+//     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.
+// </auto-generated>
+//------------------------------------------------------------------------------
+
+namespace Work29.Properties
+{
+
+
+    [global::System.Runtime.CompilerServices.CompilerGeneratedAttribute()]
+    [global::System.CodeDom.Compiler.GeneratedCodeAttribute("Microsoft.VisualStudio.Editors.SettingsDesigner.SettingsSingleFileGenerator", "11.0.0.0")]
+    internal sealed partial class Settings : global::System.Configuration.ApplicationSettingsBase
+    {
+
+        private static Settings defaultInstance = ((Settings)(global::System.Configuration.ApplicationSettingsBase.Synchronized(new Settings())));
+
+        public static Settings Default
+        {
+            get
+            {
+                return defaultInstance;
+            }
+        }
+    }
+}

+ 7 - 0
Work29/Properties/Settings.settings

@@ -0,0 +1,7 @@
+<?xml version='1.0' encoding='utf-8'?>
+<SettingsFile xmlns="uri:settings" CurrentProfile="(Default)">
+  <Profiles>
+    <Profile Name="(Default)" />
+  </Profiles>
+  <Settings />
+</SettingsFile>

+ 9 - 0
Work29/Tools/App.xaml

@@ -0,0 +1,9 @@
+<Application x:Class="Work29.App"
+             xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+             xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+             xmlns:local="clr-namespace:Work29"
+             StartupUri="/Views/MainWindow.xaml">
+    <Application.Resources>
+         
+    </Application.Resources>
+</Application>

+ 17 - 0
Work29/Tools/App.xaml.cs

@@ -0,0 +1,17 @@
+using System;
+using System.Collections.Generic;
+using System.Configuration;
+using System.Data;
+using System.Linq;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace Work29
+{
+    /// <summary>
+    /// Логика взаимодействия для App.xaml
+    /// </summary>
+    public partial class App : Application
+    {
+    }
+}

+ 20 - 0
Work29/Tools/BaseViewModel.cs

@@ -0,0 +1,20 @@
+using System;
+using System.Collections.Generic;
+using System.ComponentModel;
+using System.Linq;
+using System.Runtime.CompilerServices;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Work29
+{
+    public class BaseViewModel : INotifyPropertyChanged
+    {
+        public event PropertyChangedEventHandler PropertyChanged;
+        public void OnPropertyChanged([CallerMemberName] string property = "")
+        {
+            PropertyChanged?.Invoke(this, new PropertyChangedEventArgs(property));
+        }
+    }
+}
+

+ 33 - 0
Work29/Tools/RelayCommand.cs

@@ -0,0 +1,33 @@
+using System;
+using System.Windows.Input;
+
+namespace MVVM
+{
+    public class RelayCommand : ICommand
+    {
+        private Action<object> execute;
+        private Func<object, bool> canExecute;
+
+        public event EventHandler CanExecuteChanged
+        {
+            add { CommandManager.RequerySuggested += value; }
+            remove { CommandManager.RequerySuggested -= value; }
+        }
+
+        public RelayCommand(Action<object> execute, Func<object, bool> canExecute = null)
+        {
+            this.execute = execute;
+            this.canExecute = canExecute;
+        }
+
+        public bool CanExecute(object parameter)
+        {
+            return this.canExecute == null || this.canExecute(parameter);
+        }
+
+        public void Execute(object parameter)
+        {
+            this.execute(parameter);
+        }
+    }
+}

+ 101 - 0
Work29/ViewModels/MainWindowViewModel.cs

@@ -0,0 +1,101 @@
+using MVVM;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Windows;
+using System.Windows.Controls;
+
+namespace Work29
+{
+    public class MainWindowViewModel : BaseViewModel
+    {
+        private ObservableCollection<User> _users;
+
+        private User _user;
+
+        private RelayCommand _autoReady;
+
+        private RelayCommand _regNew;
+
+        public RelayCommand AutoReady
+        {
+            get
+            {
+                return _autoReady ??
+                    (_autoReady = new RelayCommand(x =>
+                    {
+                        if (x is PasswordBox password)
+                        {
+                            Work29Context wpfContext = new Work29Context();
+                            User user = Users.FirstOrDefault(p => p.Login == User.Login && p.Password == password.Password);
+                            if (user != null)
+                            {
+                                User.a_user = user;
+                                UserWindow userwindow = new UserWindow();
+                                userwindow.Show();
+                                foreach (var window in App.Current.Windows)
+                                {
+                                    if (window is MainWindow mainWindow)
+                                    {
+                                        mainWindow.Close();
+                                    }
+                                }
+                            }
+                            else
+                            {
+                                MessageBox.Show("Ошибка авторизации!!!");
+                            }
+                        }
+                    }
+                    ));
+            }
+        }
+
+        public RelayCommand RegNew
+        {
+            get
+            {
+                return _regNew ??
+                    (_regNew = new RelayCommand(x =>
+                    {
+                        RegWindow userWindow = new RegWindow();
+                        userWindow.Show();
+                        foreach (var window in App.Current.Windows)
+                        {
+                            if (window is MainWindow mainWindow)
+                            {
+                                mainWindow.Close();
+                            }
+                        }
+                    }
+                    ));
+            }
+        }
+
+        public User User
+        {
+            get => _user;
+            set
+            {
+                _user = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public ObservableCollection<User> Users
+        {
+            get => _users;
+            set
+            {
+                _users = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public MainWindowViewModel()
+        {
+            Work29Context context = new Work29Context();
+            _user = new User();
+            _users = new ObservableCollection<User>(context.Users);
+        }
+    }
+}

+ 71 - 0
Work29/ViewModels/RegWindowViewModel.cs

@@ -0,0 +1,71 @@
+using MVVM;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+
+namespace Work29.ViewModels
+{
+    public class RegWindowViewModel : BaseViewModel
+    {
+        private User _user;
+
+        private RelayCommand _createUser;
+
+        public RelayCommand CreateUser
+        {
+            get
+            {
+                return _createUser ??
+                    (_createUser = new RelayCommand(x =>
+                    {
+                        string stroka = "";
+                        User user = User;
+                        if ((User.Surname != stroka) && (User.Name != stroka)
+                            && (User.Patronimyc != stroka) && (User.Login != stroka)
+                            && (User.Password != stroka) && (User.Phone != stroka))
+                        {
+                            Work29Context context = new Work29Context();
+                            context.Users.Add(user);
+                            context.SaveChanges();
+                            user = new User();
+                            MainWindow mainWindow = new MainWindow();
+                            mainWindow.Show();
+                            foreach (var window in App.Current.Windows)
+                            {
+                                if (window is RegWindow regWindow)
+                                {
+                                    regWindow.Close();
+                                }
+                            }
+                        }
+                        else
+                        {
+                            MessageBox.Show("Все поля должны быть заполнены!");
+                        }
+                    }
+                    ));
+            }
+        }
+
+        public User User
+        {
+            get => _user;
+            set
+            {
+                _user = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public RegWindowViewModel()
+        {
+            Work29Context context = new Work29Context();
+            _user = new User();
+        }
+    }
+}

+ 72 - 0
Work29/ViewModels/UserWindowViewModel.cs

@@ -0,0 +1,72 @@
+using MVVM;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace Work29.ViewModels
+{
+    public class UserWindowViewModel : BaseViewModel
+    {
+        private string _userSurnameNamePatonymic;
+
+        private string _userLogin;
+
+        private string _userPhone;
+
+        private RelayCommand _usersLoginWindow;
+
+        private RelayCommand _tasksWindow;
+
+        public RelayCommand UsersLoginWindow
+        {
+            get
+            {
+                return _usersLoginWindow ??
+                    (_usersLoginWindow = new RelayCommand(x =>
+                    {
+                        ViewUsersWindow viewUsersWindow = new ViewUsersWindow();
+                        viewUsersWindow.Show();
+                    }
+                    ));
+            }
+        }
+
+        public RelayCommand TasksWindow
+        {
+            get
+            {
+                return _tasksWindow ??
+                    (_tasksWindow = new RelayCommand(x =>
+                    {
+                        ViewTasksWindow viewTasksWindow = new ViewTasksWindow();
+                        viewTasksWindow.Show();
+                    }
+                    ));
+            }
+        }
+
+        public string UserSurnameNamePatonymic
+        {
+            get => _userSurnameNamePatonymic = User.a_user.Surname + " " + User.a_user.Name + " " + User.a_user.Patronimyc;
+        }
+
+        public string UserLogin
+        {
+            get => _userLogin = User.a_user.Login;
+        }
+
+        public string UserPhone
+        {
+            get => _userPhone = User.a_user.Phone;
+        }
+
+        public UserWindowViewModel()
+        {
+            Work29Context context = new Work29Context();
+        }
+    }
+}

+ 220 - 0
Work29/ViewModels/ViewTasksWindowViewModel.cs

@@ -0,0 +1,220 @@
+using MVVM;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+
+namespace Work29.ViewModels
+{
+    public class ViewTasksWindowViewModel : BaseViewModel
+    {
+        private Task _task;
+
+        private ObservableCollection<Task> _tasks;
+
+        private ObservableCollection<StatusTask> _statusTasks;
+
+        private StatusTask _statusTask;
+
+        private RelayCommand _initialWindow;
+
+        private RelayCommand _alterStatus;
+
+        private RelayCommand _availableTasks;
+
+        private RelayCommand _completedTasks;
+
+        private RelayCommand _acceptTask;
+
+        private RelayCommand _findUserTask;
+
+        private string _userCreatedLogin;
+
+        public RelayCommand FindUserTask
+        {
+            get
+            {
+                return _findUserTask ??
+                    (_findUserTask = new RelayCommand(x =>
+                    {
+                        Work29Context context = new Work29Context();
+                        var find = context.Users.FirstOrDefault(p => p.Login == UserCreatedLogin);
+
+                        if (find != null)
+                        {
+                            Tasks = new ObservableCollection<Task>(context.Tasks.Where(p => p.UserCreated.Login == UserCreatedLogin));
+                        }
+                        else
+                        {
+                            MessageBox.Show("Такого пользователя не существует!!!");
+                        }
+                    }
+                    ));
+            }
+        }
+
+        public RelayCommand AcceptTask
+        {
+            get
+            {
+                return _acceptTask ??
+                    (_acceptTask = new RelayCommand(x =>
+                    {
+                        if (x is Task task)
+                        {
+                            Work29Context context = new Work29Context();
+                            if ((task.UserCreatedId == task.UserAcceptedId) && (task.UserCreatedId != User.a_user.Id))
+                            {
+                                task.UserAcceptedId = User.a_user.Id;
+                                context.Entry(task).State = Microsoft.EntityFrameworkCore.EntityState.Modified;
+                                task.StatusTaskId = 2;
+                                task.StatusTask = context.StatusTasks.Find(2);
+                            }
+                            else
+                            {
+                                MessageBox.Show("Вы не можете принять свою задачу \nили эта задача занята!");
+                            }
+                            context.SaveChanges();
+                            ItemsSourseUpdate();
+                        }
+                    }
+                    ));
+            }
+        }
+
+        public RelayCommand CompletedTasks
+        {
+            get
+            {
+                return _completedTasks ??
+                    (_completedTasks = new RelayCommand(x =>
+                    {
+                        Work29Context context = new Work29Context();
+                        Tasks = new ObservableCollection<Task>(context.Tasks.Where(p => p.StatusTaskId == 1 && p.UserAcceptedId == User.a_user.Id));
+                    }
+                    ));
+            }
+        }
+
+        public RelayCommand AvailableTasks
+        {
+            get
+            {
+                return _availableTasks ??
+                    (_availableTasks = new RelayCommand(x =>
+                    {
+                        Work29Context context = new Work29Context();
+                        Tasks = new ObservableCollection<Task>(context.Tasks.Where(p => p.StatusTaskId == 3));
+                    }
+                    ));
+            }
+        }
+
+        public RelayCommand AlterStatus
+        {
+            get
+            {
+                return _alterStatus ??
+                    (_alterStatus = new RelayCommand(x =>
+                    {
+                        if (Task.UserCreatedId == User.a_user.Id)
+                        {
+                            Work29Context context = new Work29Context();
+                            var check = context.Tasks.FirstOrDefault(p => p.Id == Task.Id);
+                            check.StatusTaskId = Task.StatusTask.Id;
+                            context.Tasks.Update(check);
+                            context.SaveChanges();
+                        }
+                        else
+                        {
+                            MessageBox.Show("Менять стутус можно \nлишь у своих задач!");
+                            Work29Context context = new Work29Context();
+                            Tasks = new ObservableCollection<Task>(context.Tasks);
+                            StatusTasks = new ObservableCollection<StatusTask>(context.StatusTasks);
+                        }
+                    }
+                    ));
+            }
+        }
+
+        public RelayCommand InitialWindow
+        {
+            get
+            {
+                return _initialWindow ??
+                    (_initialWindow = new RelayCommand(x =>
+                    {
+                        Work29Context context = new Work29Context();
+                        Tasks = new ObservableCollection<Task>(context.Tasks);
+                    }
+                    ));
+            }
+        }
+
+        public string UserCreatedLogin
+        {
+            get => _userCreatedLogin;
+            set
+            {
+                _userCreatedLogin = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public void ItemsSourseUpdate()
+        {
+            Work29Context context = new Work29Context();
+            Tasks = new ObservableCollection<Task>(context.Tasks);
+        }
+
+        public StatusTask StatusTask
+        {
+            get => _statusTask;
+            set
+            {
+                _statusTask = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public Task Task
+        {
+            get => _task;
+            set
+            {
+                _task = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public ObservableCollection<Task> Tasks
+        {
+            get => _tasks;
+            set
+            {
+                _tasks = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public ObservableCollection<StatusTask> StatusTasks
+        {
+            get => _statusTasks;
+            set
+            {
+                _statusTasks = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public ViewTasksWindowViewModel()
+        {
+            Work29Context context = new Work29Context();
+            Tasks = new ObservableCollection<Task>(context.Tasks);
+            StatusTasks = new ObservableCollection<StatusTask>(context.StatusTasks);
+        }
+    }
+}

+ 34 - 0
Work29/ViewModels/ViewUsersWindowViewModel.cs

@@ -0,0 +1,34 @@
+using MVVM;
+using System;
+using System.Collections.Generic;
+using System.Collections.ObjectModel;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+
+namespace Work29.ViewModels
+{
+    public class ViewUsersWindowViewModel : BaseViewModel
+    {
+        private ObservableCollection<User> _users;
+
+        private User _user;
+
+        public ObservableCollection<User> Users
+        {
+            get => _users;
+            set
+            {
+                _users = value;
+                OnPropertyChanged();
+            }
+        }
+
+        public ViewUsersWindowViewModel()
+        {
+            Work29Context context = new Work29Context();
+            Users = new ObservableCollection<User>(context.Users);
+        }
+
+    }
+}

+ 29 - 0
Work29/Views/MainWindow.xaml

@@ -0,0 +1,29 @@
+<Window x:Class="Work29.MainWindow"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:Work29"
+        mc:Ignorable="d"
+        Title="Авторизация" MinHeight="350" MinWidth="700" Height="350" Width="700" MaxHeight="450" MaxWidth="800">
+    <Grid Background="Black">
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition Width="*"/>
+            <ColumnDefinition Width="*"/>
+            <ColumnDefinition Width="*"/>
+        </Grid.ColumnDefinitions>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="*"/>
+            <RowDefinition Height="*"/>
+            <RowDefinition Height="*"/>
+            <RowDefinition Height="*"/>
+            <RowDefinition Height="*"/>
+        </Grid.RowDefinitions>
+        <Label Foreground="White" Content="Логин:" FontSize="18" Grid.Column="1" Grid.Row="1" HorizontalContentAlignment="Center" VerticalContentAlignment="Bottom"/>
+        <TextBox Name="textBox_Login" Foreground="Black" Text="{Binding User.Login}" Grid.Column="1" Grid.Row="2" Height="25" FontSize="18" VerticalAlignment="Top" HorizontalAlignment="Center" Width="200"/>
+        <Label Foreground="White" Content="Пароль:" FontSize="18" Grid.Column="1" Grid.Row="2" HorizontalContentAlignment="Center" VerticalContentAlignment="Bottom" Height="30" VerticalAlignment="Bottom"/>
+        <PasswordBox Name="textBox_Password" Foreground="Black" Grid.Column="1" Grid.Row="3" Height="25" FontSize="18" VerticalAlignment="Top" HorizontalAlignment="Center" Width="200"/>
+        <Button x:Name="button_registry" Command="{Binding RegNew}" Grid.Column="1" Grid.Row="3" Content="Регистрация" FontSize="18" Foreground="Black" HorizontalAlignment="Left" VerticalAlignment="Bottom" Width="110"/>
+        <Button x:Name="button_auto" Command="{Binding AutoReady}" CommandParameter="{Binding ElementName=textBox_Password}" Grid.Column="1" Grid.Row="3" Content="Войти" FontSize="18" Foreground="Black" HorizontalAlignment="Right" VerticalAlignment="Bottom" Width="110"/>
+    </Grid>
+</Window>

+ 31 - 0
Work29/Views/MainWindow.xaml.cs

@@ -0,0 +1,31 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Navigation;
+using System.Windows.Shapes;
+
+namespace Work29
+{
+    /// <summary>
+    /// Логика взаимодействия для MainWindow.xaml
+    /// </summary>
+    public partial class MainWindow : Window
+    {
+        public MainWindow()
+        {
+            InitializeComponent();
+
+            Work29Context wpfContext = new Work29Context();
+            DataContext = new MainWindowViewModel();
+        }
+    }
+}

+ 34 - 0
Work29/Views/RegWindow.xaml

@@ -0,0 +1,34 @@
+<Window x:Class="Work29.RegWindow"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:Work29"
+        mc:Ignorable="d"
+        Title="Регистрация" MinHeight="350" MinWidth="700" Height="350" Width="700" MaxHeight="450" MaxWidth="800">
+    <Grid Background="Black">
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition Width="*"/>
+            <ColumnDefinition Width="*"/>
+        </Grid.ColumnDefinitions>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="*"/>
+            <RowDefinition Height="*"/>
+            <RowDefinition Height="*"/>
+            <RowDefinition Height="*"/>
+        </Grid.RowDefinitions>
+        <Label Content="Введите Вашу Фамилию: " Grid.Row="0" Grid.Column="0" HorizontalAlignment="Center" Foreground="White" FontSize="18" VerticalAlignment="Center"/>
+        <TextBox Name="textBox_SurnameNewUser" Text="{Binding User.Surname}" Foreground="Black" Grid.Column="0" Grid.Row="0" Height="25" FontSize="18" VerticalAlignment="Bottom" HorizontalAlignment="Center" Width="200"/>
+        <Label Content="Введите Ваше Имя: " Grid.Row="1" Grid.Column="0" HorizontalAlignment="Center" Foreground="White" FontSize="18" VerticalAlignment="Center"/>
+        <TextBox Name="textBox_NameNewUser" Text="{Binding User.Name}" Foreground="Black" Grid.Column="0" Grid.Row="1" Height="25" FontSize="18" VerticalAlignment="Bottom" HorizontalAlignment="Center" Width="200"/>
+        <Label Content="Введите Ваше Отчество: " Grid.Row="2" Grid.Column="0" HorizontalAlignment="Center" Foreground="White" FontSize="18" VerticalAlignment="Center"/>
+        <TextBox Name="textBox_PatronymicNewUser" Text="{Binding User.Patronymic}" Foreground="Black" Grid.Column="0" Grid.Row="2" Height="25" FontSize="18" VerticalAlignment="Bottom" HorizontalAlignment="Center" Width="200"/>
+        <Label Content="Введите Ваш Логин: " Grid.Row="0" Grid.Column="1" HorizontalAlignment="Center" Foreground="White" FontSize="18" VerticalAlignment="Center"/>
+        <TextBox Name="textBox_LoginNewUser"  Text="{Binding User.Login}" Foreground="Black" Grid.Column="1" Grid.Row="0" Height="25" FontSize="18" VerticalAlignment="Bottom" HorizontalAlignment="Center" Width="200"/>
+        <Label Content="Введите Ваш Пароль: " Grid.Row="1" Grid.Column="1" HorizontalAlignment="Center" Foreground="White" FontSize="18" VerticalAlignment="Center"/>
+        <TextBox Name="textBox_PasswordNewUser" Text="{Binding User.Password}" Foreground="Black" Grid.Column="1" Grid.Row="1" Height="25" FontSize="18" VerticalAlignment="Bottom" HorizontalAlignment="Center" Width="200"/>
+        <Label Content="Введите Ваш Номер телефона: " Grid.Row="2" Grid.Column="1" HorizontalAlignment="Center" Foreground="White" FontSize="18" VerticalAlignment="Center"/>
+        <TextBox Name="textBox_PhoneNewUser" Text="{Binding User.Phone}" Foreground="Black" Grid.Column="1" Grid.Row="2" Height="25" FontSize="18" VerticalAlignment="Bottom" HorizontalAlignment="Center" Width="200"/>
+        <Button x:Name="button_CreateUser" Command="{Binding CreateUser}" Grid.Column="1" Grid.Row="3" Content="Готово" FontSize="18" Foreground="Black" HorizontalAlignment="Center" VerticalAlignment="Center" Width="150"/>
+    </Grid>
+</Window>

+ 29 - 0
Work29/Views/RegWindow.xaml.cs

@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+using Work29.ViewModels;
+
+namespace Work29
+{
+    /// <summary>
+    /// Логика взаимодействия для RegWindow.xaml
+    /// </summary>
+    public partial class RegWindow : Window
+    {
+        public RegWindow()
+        {
+            InitializeComponent();
+            DataContext = new RegWindowViewModel();
+        }
+    }
+}

+ 33 - 0
Work29/Views/UserWindow.xaml

@@ -0,0 +1,33 @@
+<Window x:Class="Work29.UserWindow"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:Work29"
+        mc:Ignorable="d"
+        Title="Мой профиль" MinHeight="350" MinWidth="700" Height="350" Width="700" MaxHeight="450" MaxWidth="800">
+    <Grid Background="Black">
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition Width="*"/>
+            <ColumnDefinition Width="*"/>
+        </Grid.ColumnDefinitions>
+        <Grid.RowDefinitions>
+            <RowDefinition Height="*"/>
+            <RowDefinition Height="*"/>
+            <RowDefinition Height="*"/>
+            <RowDefinition Height="*"/>
+            <RowDefinition Height="*"/>
+            <RowDefinition Height="*"/>
+            <RowDefinition Height="*"/>
+            <RowDefinition Height="*"/>
+        </Grid.RowDefinitions>
+        <Label Content="Здравствуй, " Foreground="White" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="15" Grid.Column="0" Grid.Row="0"/>
+        <Label Content="Ваш логин:" Foreground="White" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="15" Grid.Column="0" Grid.Row="1"/>
+        <Label Content="Ваш номер телефона:" Foreground="White" HorizontalAlignment="Left" VerticalAlignment="Center" FontSize="15" Grid.Column="0" Grid.Row="2"/>
+        <TextBlock x:Name="textblock_FIO" Text="{Binding UserSurnameNamePatonymic}" Grid.Column="0" Grid.Row="0" HorizontalAlignment="Right" FontSize="15" VerticalAlignment="Center" Foreground="White" Width="200"/>
+        <TextBlock x:Name="textblock_Login" Text="{Binding UserLogin}" Grid.Column="0" Grid.Row="1" HorizontalAlignment="Right" FontSize="15" VerticalAlignment="Center" Foreground="White" Width="200"/>
+        <TextBlock x:Name="textblock_Phone" Text="{Binding UserPhone}" Grid.Column="0" Grid.Row="2" HorizontalAlignment="Right" FontSize="15" VerticalAlignment="Center" Foreground="White" Width="180"/>
+        <Button Content="Посмотреть список пользователей" Command="{Binding UsersLoginWindow}" FontSize="15" Width="250" Grid.Column="0" Grid.Row="4" Height="35" VerticalAlignment="Center" HorizontalAlignment="Center"/>
+        <Button Content="Посмотреть список задач" Command="{Binding TasksWindow}" FontSize="15" Width="250" Grid.Column="0" Grid.Row="5" Height="35" VerticalAlignment="Center" HorizontalAlignment="Center"/>
+    </Grid>
+</Window>

+ 29 - 0
Work29/Views/UserWindow.xaml.cs

@@ -0,0 +1,29 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+using Work29.ViewModels;
+
+namespace Work29
+{
+    /// <summary>
+    /// Логика взаимодействия для UserWindow.xaml
+    /// </summary>
+    public partial class UserWindow : Window
+    {
+        public UserWindow()
+        {
+            InitializeComponent();
+            DataContext = new UserWindowViewModel();
+        }
+    }
+}

+ 63 - 0
Work29/Views/ViewTasksWindow.xaml

@@ -0,0 +1,63 @@
+<Window x:Class="Work29.ViewTasksWindow"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:Work29" xmlns:viewmodels="clr-namespace:Work29.ViewModels" xmlns:i="http://schemas.microsoft.com/xaml/behaviors"
+        mc:Ignorable="d"
+        Title="ViewTasksWindow" Height="400" Width="800" MinHeight="400" MinWidth="800" MaxHeight="500" MaxWidth="1000">
+    <Window.Resources>
+        <viewmodels:ViewTasksWindowViewModel x:Key="ViewTask"/>
+    </Window.Resources>
+    <Window.DataContext>
+        <Binding Source="{StaticResource ViewTask}"/>
+    </Window.DataContext>
+
+    <Grid Background="Black">
+        <Grid.RowDefinitions>
+            <RowDefinition Height="*"/>
+            <RowDefinition Height="8*"/>
+            <RowDefinition Height="2*"/>
+        </Grid.RowDefinitions>
+        <Grid.ColumnDefinitions>
+            <ColumnDefinition Width="*"/>
+            <ColumnDefinition Width="*"/>
+            <ColumnDefinition Width="*"/>
+        </Grid.ColumnDefinitions>
+        <DataGrid Grid.Row="1" ItemsSource="{Binding Tasks}" SelectedItem="{Binding Task}" Grid.ColumnSpan="3" Name="Tasks_table" AutoGenerateColumns="False" IsReadOnly="True" ScrollViewer.CanContentScroll="True" ColumnWidth="*">
+            <DataGrid.Columns>
+                <DataGridTextColumn Header="Id" Binding="{Binding Id}"/>
+                <DataGridTextColumn Header="Name" Binding="{Binding Name}"/>
+                <DataGridTextColumn Header="Description" Binding="{Binding Description}"/>
+                <DataGridTextColumn Header="YearOfRelease" Binding="{Binding YearOfRelease, StringFormat={}{0:yyyy}}"/>
+                <DataGridTextColumn Header="LoginCreated" Binding="{Binding UserCreated.Login}"/>
+                <DataGridTextColumn Header="LoginAccepted" Binding="{Binding UserAccepted.Login}"/>
+                <DataGridTemplateColumn Header="StatusTask">
+                    <DataGridTemplateColumn.CellTemplate>
+                        <DataTemplate>
+                            <ComboBox DisplayMemberPath="Name"
+                                      ItemsSource="{Binding StatusTasks, Source={StaticResource ViewTask}}"
+                                      SelectedItem="{Binding StatusTask, Mode=TwoWay, UpdateSourceTrigger=PropertyChanged}"
+                                      SelectedValue="Name">
+                                <i:Interaction.Triggers>
+                                    <i:EventTrigger EventName="SelectionChanged">
+                                        <i:InvokeCommandAction Command="{Binding AlterStatus, Source={StaticResource ViewTask}}"/>
+                                    </i:EventTrigger>
+                                </i:Interaction.Triggers>
+                            </ComboBox>
+                        </DataTemplate>
+                    </DataGridTemplateColumn.CellTemplate>
+                </DataGridTemplateColumn>
+            </DataGrid.Columns>
+        </DataGrid>
+        <Label Content="Смена статуса: " Foreground="White" FontSize="15" HorizontalAlignment="Center" VerticalAlignment="Center" Grid.Column="2" Grid.Row="2"/>
+        <Label Content="Поиск по логину: " Foreground="White" FontSize="15" HorizontalAlignment="Left" VerticalAlignment="Center" Grid.Column="0" Grid.Row="2"/>
+        <TextBox x:Name="textbox_UserCreatedLogin" Text="{Binding UserCreatedLogin}" Grid.Row="2" HorizontalAlignment="Right" Grid.Column="0" VerticalAlignment="Center" Height="35" Width="135" FontSize="15" VerticalContentAlignment="Center"/>
+        <Button Content="Поиск" Grid.Column="1" FontSize="15" Width="55" Grid.Row="2" Height="35" VerticalAlignment="Center" HorizontalAlignment="Left" Command="{Binding FindUserTask}"/>
+        <Button Content="Взять задачу" Grid.Column="1" FontSize="15" Width="150" Grid.Row="0" Height="35" VerticalAlignment="Center" HorizontalAlignment="Center" Command="{Binding AcceptTask}" CommandParameter="{Binding ElementName=Tasks_table, Path=SelectedItem}"/>
+        <Button Content="Выполн.задачи" Grid.Column="2" FontSize="15" Width="125" Grid.Row="0" Height="35" VerticalAlignment="Center" HorizontalAlignment="Left" Command="{Binding CompletedTasks}"/>
+        <Button Content="Доступ.задачи" Grid.Column="2" FontSize="15" Width="125" Grid.Row="0" Height="35" VerticalAlignment="Center" HorizontalAlignment="Right" Command="{Binding AvailableTasks}"/>
+        <Button Content="Сменить" Grid.Column="2" FontSize="15" Width="70" Grid.Row="2" Height="35" VerticalAlignment="Center" HorizontalAlignment="Right" Command="{Binding AlterStatus}" CommandParameter="{Binding ElementName=Tasks_table, Path=SelectedItem}"/>
+        <Button Content="Начал.окно" Grid.Column="0" FontSize="15" Width="90" Grid.Row="0" Height="35" VerticalAlignment="Center" HorizontalAlignment="Left" Command="{Binding InitialWindow}"/>
+    </Grid>
+</Window>

+ 35 - 0
Work29/Views/ViewTasksWindow.xaml.cs

@@ -0,0 +1,35 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+using Work29.ViewModels;
+
+namespace Work29
+{
+    /// <summary>
+    /// Логика взаимодействия для ViewTasksWindow.xaml
+    /// </summary>
+    public partial class ViewTasksWindow : Window
+    {
+        public ViewTasksWindow()
+        {
+            InitializeComponent();
+            
+        }
+
+        private void AlterStatusTask(object sender, SelectionChangedEventArgs e)
+        {
+            Work29Context context = new Work29Context();
+            context.SaveChanges();
+        }
+    }
+}

+ 18 - 0
Work29/Views/ViewUsersWindow.xaml

@@ -0,0 +1,18 @@
+<Window x:Class="Work29.ViewUsersWindow"
+        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
+        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
+        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
+        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
+        xmlns:local="clr-namespace:Work29"
+        mc:Ignorable="d"
+        Title="ViewUsersWindow" Height="500" Width="450" MinHeight="350" MinWidth="350" MaxHeight="600" MaxWidth="600">
+        
+    <Grid Background="Black">
+        <DataGrid Name="Users_table" ItemsSource="{Binding Users}" AutoGenerateColumns="False" IsReadOnly="True" ScrollViewer.CanContentScroll="True" ColumnWidth="*">
+            <DataGrid.Columns>
+                <DataGridTextColumn Header="Id" Binding="{Binding Id}"/>
+                <DataGridTextColumn Header="Login" Binding="{Binding Login}"/>
+            </DataGrid.Columns>
+        </DataGrid>
+    </Grid>
+</Window>

+ 30 - 0
Work29/Views/ViewUsersWindow.xaml.cs

@@ -0,0 +1,30 @@
+using System;
+using System.Collections.Generic;
+using System.Linq;
+using System.Text;
+using System.Threading.Tasks;
+using System.Windows;
+using System.Windows.Controls;
+using System.Windows.Data;
+using System.Windows.Documents;
+using System.Windows.Input;
+using System.Windows.Media;
+using System.Windows.Media.Imaging;
+using System.Windows.Shapes;
+using Work29.ViewModels;
+
+namespace Work29
+{
+    /// <summary>
+    /// Логика взаимодействия для ViewUsersWindow.xaml
+    /// </summary>
+    public partial class ViewUsersWindow : Window
+    {
+        public ViewUsersWindow()
+        {
+            InitializeComponent();
+
+            DataContext = new ViewUsersWindowViewModel();
+        }
+    }
+}

+ 275 - 0
Work29/Work29.csproj

@@ -0,0 +1,275 @@
+<?xml version="1.0" encoding="utf-8"?>
+<Project ToolsVersion="15.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
+  <Import Project="..\packages\Microsoft.EntityFrameworkCore.Design.3.1.10\build\net461\Microsoft.EntityFrameworkCore.Design.props" Condition="Exists('..\packages\Microsoft.EntityFrameworkCore.Design.3.1.10\build\net461\Microsoft.EntityFrameworkCore.Design.props')" />
+  <Import Project="$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props" Condition="Exists('$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props')" />
+  <PropertyGroup>
+    <Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
+    <Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
+    <ProjectGuid>{6731BE41-39AB-4A51-88D3-D45008F2F562}</ProjectGuid>
+    <OutputType>WinExe</OutputType>
+    <RootNamespace>Work29</RootNamespace>
+    <AssemblyName>Work29</AssemblyName>
+    <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>
+    <FileAlignment>512</FileAlignment>
+    <ProjectTypeGuids>{60dc8134-eba5-43b8-bcc9-bb4bc16c2548};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
+    <WarningLevel>4</WarningLevel>
+    <AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
+    <Deterministic>true</Deterministic>
+    <NuGetPackageImportStamp>
+    </NuGetPackageImportStamp>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugSymbols>true</DebugSymbols>
+    <DebugType>full</DebugType>
+    <Optimize>false</Optimize>
+    <OutputPath>bin\Debug\</OutputPath>
+    <DefineConstants>DEBUG;TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
+    <PlatformTarget>AnyCPU</PlatformTarget>
+    <DebugType>pdbonly</DebugType>
+    <Optimize>true</Optimize>
+    <OutputPath>bin\Release\</OutputPath>
+    <DefineConstants>TRACE</DefineConstants>
+    <ErrorReport>prompt</ErrorReport>
+    <WarningLevel>4</WarningLevel>
+  </PropertyGroup>
+  <ItemGroup>
+    <Reference Include="Castle.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=407dd0808d44fbdc, processorArchitecture=MSIL">
+      <HintPath>..\packages\Castle.Core.4.4.0\lib\net45\Castle.Core.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.1.1.1\lib\net461\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Bcl.HashCode, Version=1.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Bcl.HashCode.1.1.0\lib\net461\Microsoft.Bcl.HashCode.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Data.SqlClient, Version=1.13.20136.2, Culture=neutral, PublicKeyToken=23ec7fc2d6eaa4a5, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Data.SqlClient.1.1.3\lib\net46\Microsoft.Data.SqlClient.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.EntityFrameworkCore, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.EntityFrameworkCore.3.1.10\lib\netstandard2.0\Microsoft.EntityFrameworkCore.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.EntityFrameworkCore.Abstractions, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.EntityFrameworkCore.Abstractions.3.1.10\lib\netstandard2.0\Microsoft.EntityFrameworkCore.Abstractions.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.EntityFrameworkCore.Design, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.EntityFrameworkCore.Design.3.1.10\lib\netstandard2.0\Microsoft.EntityFrameworkCore.Design.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.EntityFrameworkCore.Proxies, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.EntityFrameworkCore.Proxies.3.1.10\lib\netstandard2.0\Microsoft.EntityFrameworkCore.Proxies.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.EntityFrameworkCore.Relational, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.EntityFrameworkCore.Relational.3.1.10\lib\netstandard2.0\Microsoft.EntityFrameworkCore.Relational.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.EntityFrameworkCore.SqlServer, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.EntityFrameworkCore.SqlServer.3.1.10\lib\netstandard2.0\Microsoft.EntityFrameworkCore.SqlServer.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Extensions.Caching.Abstractions, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Extensions.Caching.Abstractions.3.1.10\lib\netstandard2.0\Microsoft.Extensions.Caching.Abstractions.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Extensions.Caching.Memory, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Extensions.Caching.Memory.3.1.10\lib\netstandard2.0\Microsoft.Extensions.Caching.Memory.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Extensions.Configuration, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Extensions.Configuration.3.1.10\lib\netstandard2.0\Microsoft.Extensions.Configuration.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Extensions.Configuration.Abstractions, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Extensions.Configuration.Abstractions.3.1.10\lib\netstandard2.0\Microsoft.Extensions.Configuration.Abstractions.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Extensions.Configuration.Binder, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Extensions.Configuration.Binder.3.1.10\lib\netstandard2.0\Microsoft.Extensions.Configuration.Binder.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Extensions.DependencyInjection, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Extensions.DependencyInjection.3.1.10\lib\net461\Microsoft.Extensions.DependencyInjection.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.3.1.10\lib\netstandard2.0\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Extensions.Logging, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Extensions.Logging.3.1.10\lib\netstandard2.0\Microsoft.Extensions.Logging.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.3.1.10\lib\netstandard2.0\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Extensions.Options, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Extensions.Options.3.1.10\lib\netstandard2.0\Microsoft.Extensions.Options.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Extensions.Primitives, Version=3.1.10.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Extensions.Primitives.3.1.10\lib\netstandard2.0\Microsoft.Extensions.Primitives.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Identity.Client, Version=3.0.8.0, Culture=neutral, PublicKeyToken=0a613f4dd989e8ae, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Identity.Client.3.0.8\lib\net45\Microsoft.Identity.Client.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.IdentityModel.JsonWebTokens, Version=5.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.JsonWebTokens.5.5.0\lib\net461\Microsoft.IdentityModel.JsonWebTokens.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.IdentityModel.Logging, Version=5.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Logging.5.5.0\lib\net461\Microsoft.IdentityModel.Logging.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.IdentityModel.Protocols, Version=5.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Protocols.5.5.0\lib\net461\Microsoft.IdentityModel.Protocols.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.IdentityModel.Protocols.OpenIdConnect, Version=5.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Protocols.OpenIdConnect.5.5.0\lib\net461\Microsoft.IdentityModel.Protocols.OpenIdConnect.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.IdentityModel.Tokens, Version=5.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.IdentityModel.Tokens.5.5.0\lib\net461\Microsoft.IdentityModel.Tokens.dll</HintPath>
+    </Reference>
+    <Reference Include="Microsoft.Xaml.Behaviors, Version=1.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\Microsoft.Xaml.Behaviors.Wpf.1.1.39\lib\net45\Microsoft.Xaml.Behaviors.dll</HintPath>
+    </Reference>
+    <Reference Include="Newtonsoft.Json, Version=10.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL">
+      <HintPath>..\packages\Newtonsoft.Json.10.0.1\lib\net45\Newtonsoft.Json.dll</HintPath>
+    </Reference>
+    <Reference Include="System" />
+    <Reference Include="System.Buffers, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Buffers.4.5.1\lib\net461\System.Buffers.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Collections.Immutable, Version=1.2.5.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Collections.Immutable.1.7.1\lib\net461\System.Collections.Immutable.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ComponentModel.Annotations, Version=4.2.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.ComponentModel.Annotations.4.7.0\lib\net461\System.ComponentModel.Annotations.dll</HintPath>
+    </Reference>
+    <Reference Include="System.ComponentModel.DataAnnotations" />
+    <Reference Include="System.Configuration" />
+    <Reference Include="System.Data" />
+    <Reference Include="System.Data.Common, Version=4.1.1.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Data.Common.4.3.0\lib\net451\System.Data.Common.dll</HintPath>
+      <Private>True</Private>
+      <Private>True</Private>
+    </Reference>
+    <Reference Include="System.Diagnostics.DiagnosticSource, Version=4.0.5.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Diagnostics.DiagnosticSource.4.7.1\lib\net46\System.Diagnostics.DiagnosticSource.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Drawing" />
+    <Reference Include="System.IdentityModel" />
+    <Reference Include="System.IdentityModel.Tokens.Jwt, Version=5.5.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.IdentityModel.Tokens.Jwt.5.5.0\lib\net461\System.IdentityModel.Tokens.Jwt.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Memory, Version=4.0.1.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Memory.4.5.4\lib\net461\System.Memory.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Numerics" />
+    <Reference Include="System.Numerics.Vectors, Version=4.1.4.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Numerics.Vectors.4.5.0\lib\net46\System.Numerics.Vectors.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Runtime.CompilerServices.Unsafe, Version=4.0.6.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.4.7.1\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Threading.Tasks.Extensions, Version=4.2.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
+      <HintPath>..\packages\System.Threading.Tasks.Extensions.4.5.4\lib\net461\System.Threading.Tasks.Extensions.dll</HintPath>
+    </Reference>
+    <Reference Include="System.Windows.Forms" />
+    <Reference Include="System.Xml" />
+    <Reference Include="Microsoft.CSharp" />
+    <Reference Include="System.Core" />
+    <Reference Include="System.Xml.Linq" />
+    <Reference Include="System.Data.DataSetExtensions" />
+    <Reference Include="System.Net.Http" />
+    <Reference Include="System.Xaml">
+      <RequiredTargetFramework>4.0</RequiredTargetFramework>
+    </Reference>
+    <Reference Include="WindowsBase" />
+    <Reference Include="PresentationCore" />
+    <Reference Include="PresentationFramework" />
+  </ItemGroup>
+  <ItemGroup>
+    <ApplicationDefinition Include="Tools\App.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </ApplicationDefinition>
+    <Compile Include="Tools\BaseViewModel.cs" />
+    <Compile Include="ViewModels\MainWindowViewModel.cs" />
+    <Compile Include="ViewModels\RegWindowViewModel.cs" />
+    <Compile Include="ViewModels\UserWindowViewModel.cs" />
+    <Compile Include="ViewModels\ViewTasksWindowViewModel.cs" />
+    <Compile Include="ViewModels\ViewUsersWindowViewModel.cs" />
+    <Compile Include="Views\RegWindow.xaml.cs">
+      <DependentUpon>RegWindow.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="Tools\RelayCommand.cs" />
+    <Compile Include="Models\StatusTask.cs" />
+    <Compile Include="Models\Task.cs" />
+    <Compile Include="Models\User.cs" />
+    <Compile Include="Views\UserWindow.xaml.cs">
+      <DependentUpon>UserWindow.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="Views\ViewTasksWindow.xaml.cs">
+      <DependentUpon>ViewTasksWindow.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="Views\ViewUsersWindow.xaml.cs">
+      <DependentUpon>ViewUsersWindow.xaml</DependentUpon>
+    </Compile>
+    <Compile Include="Models\Work29Context.cs" />
+    <Page Include="Views\MainWindow.xaml">
+      <Generator>MSBuild:Compile</Generator>
+      <SubType>Designer</SubType>
+    </Page>
+    <Compile Include="Tools\App.xaml.cs">
+      <DependentUpon>App.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="Views\MainWindow.xaml.cs">
+      <DependentUpon>MainWindow.xaml</DependentUpon>
+      <SubType>Code</SubType>
+    </Compile>
+    <Page Include="Views\RegWindow.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
+    <Page Include="Views\UserWindow.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
+    <Page Include="Views\ViewTasksWindow.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
+    <Page Include="Views\ViewUsersWindow.xaml">
+      <SubType>Designer</SubType>
+      <Generator>MSBuild:Compile</Generator>
+    </Page>
+  </ItemGroup>
+  <ItemGroup>
+    <Compile Include="Properties\AssemblyInfo.cs">
+      <SubType>Code</SubType>
+    </Compile>
+    <Compile Include="Properties\Resources.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DesignTime>True</DesignTime>
+      <DependentUpon>Resources.resx</DependentUpon>
+    </Compile>
+    <Compile Include="Properties\Settings.Designer.cs">
+      <AutoGen>True</AutoGen>
+      <DependentUpon>Settings.settings</DependentUpon>
+      <DesignTimeSharedInput>True</DesignTimeSharedInput>
+    </Compile>
+    <EmbeddedResource Include="Properties\Resources.resx">
+      <Generator>ResXFileCodeGenerator</Generator>
+      <LastGenOutput>Resources.Designer.cs</LastGenOutput>
+    </EmbeddedResource>
+    <None Include="packages.config" />
+    <None Include="Properties\Settings.settings">
+      <Generator>SettingsSingleFileGenerator</Generator>
+      <LastGenOutput>Settings.Designer.cs</LastGenOutput>
+    </None>
+  </ItemGroup>
+  <ItemGroup>
+    <None Include="App.config" />
+  </ItemGroup>
+  <ItemGroup />
+  <Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
+  <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+    <PropertyGroup>
+      <ErrorText>Данный проект ссылается на пакеты NuGet, отсутствующие на этом компьютере. Используйте восстановление пакетов NuGet, чтобы скачать их.  Дополнительную информацию см. по адресу: http://go.microsoft.com/fwlink/?LinkID=322105. Отсутствует следующий файл: {0}.</ErrorText>
+    </PropertyGroup>
+    <Error Condition="!Exists('..\packages\Microsoft.EntityFrameworkCore.Design.3.1.10\build\net461\Microsoft.EntityFrameworkCore.Design.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.EntityFrameworkCore.Design.3.1.10\build\net461\Microsoft.EntityFrameworkCore.Design.props'))" />
+    <Error Condition="!Exists('..\packages\Microsoft.Data.SqlClient.SNI.1.1.0\build\net46\Microsoft.Data.SqlClient.SNI.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Microsoft.Data.SqlClient.SNI.1.1.0\build\net46\Microsoft.Data.SqlClient.SNI.targets'))" />
+  </Target>
+  <Import Project="..\packages\Microsoft.Data.SqlClient.SNI.1.1.0\build\net46\Microsoft.Data.SqlClient.SNI.targets" Condition="Exists('..\packages\Microsoft.Data.SqlClient.SNI.1.1.0\build\net46\Microsoft.Data.SqlClient.SNI.targets')" />
+</Project>

二进制
Work29/bin/Debug/Castle.Core.dll


文件差异内容过多而无法显示
+ 6057 - 0
Work29/bin/Debug/Castle.Core.xml


二进制
Work29/bin/Debug/Microsoft.Bcl.AsyncInterfaces.dll


+ 223 - 0
Work29/bin/Debug/Microsoft.Bcl.AsyncInterfaces.xml

@@ -0,0 +1,223 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Bcl.AsyncInterfaces</name>
+    </assembly>
+    <members>
+        <member name="T:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1">
+            <summary>Provides the core logic for implementing a manual-reset <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource"/> or <see cref="T:System.Threading.Tasks.Sources.IValueTaskSource`1"/>.</summary>
+            <typeparam name="TResult"></typeparam>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._continuation">
+            <summary>
+            The callback to invoke when the operation completes if <see cref="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.OnCompleted(System.Action{System.Object},System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)"/> was called before the operation completed,
+            or <see cref="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCoreShared.s_sentinel"/> if the operation completed before a callback was supplied,
+            or null if a callback hasn't yet been provided and the operation hasn't yet completed.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._continuationState">
+            <summary>State to pass to <see cref="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._continuation"/>.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._executionContext">
+            <summary><see cref="T:System.Threading.ExecutionContext"/> to flow to the callback, or null if no flowing is required.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._capturedContext">
+            <summary>
+            A "captured" <see cref="T:System.Threading.SynchronizationContext"/> or <see cref="T:System.Threading.Tasks.TaskScheduler"/> with which to invoke the callback,
+            or null if no special context is required.
+            </summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._completed">
+            <summary>Whether the current operation has completed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._result">
+            <summary>The result with which the operation succeeded, or the default value if it hasn't yet completed or failed.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._error">
+            <summary>The exception with which the operation failed, or null if it hasn't yet completed or completed successfully.</summary>
+        </member>
+        <member name="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._version">
+            <summary>The current version of this value, used to help prevent misuse.</summary>
+        </member>
+        <member name="P:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.RunContinuationsAsynchronously">
+            <summary>Gets or sets whether to force continuations to run asynchronously.</summary>
+            <remarks>Continuations may run asynchronously if this is false, but they'll never run synchronously if this is true.</remarks>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.Reset">
+            <summary>Resets to prepare for the next operation.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.SetResult(`0)">
+            <summary>Completes with a successful result.</summary>
+            <param name="result">The result.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.SetException(System.Exception)">
+            <summary>Complets with an error.</summary>
+            <param name="error"></param>
+        </member>
+        <member name="P:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.Version">
+            <summary>Gets the operation version.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.GetStatus(System.Int16)">
+            <summary>Gets the status of the operation.</summary>
+            <param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.GetResult(System.Int16)">
+            <summary>Gets the result of the operation.</summary>
+            <param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.OnCompleted(System.Action{System.Object},System.Object,System.Int16,System.Threading.Tasks.Sources.ValueTaskSourceOnCompletedFlags)">
+            <summary>Schedules the continuation action for this operation.</summary>
+            <param name="continuation">The continuation to invoke when the operation has completed.</param>
+            <param name="state">The state object to pass to <paramref name="continuation"/> when it's invoked.</param>
+            <param name="token">Opaque value that was provided to the <see cref="T:System.Threading.Tasks.ValueTask"/>'s constructor.</param>
+            <param name="flags">The flags describing the behavior of the continuation.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.ValidateToken(System.Int16)">
+            <summary>Ensures that the specified token matches the current version.</summary>
+            <param name="token">The token supplied by <see cref="T:System.Threading.Tasks.ValueTask"/>.</param>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.SignalCompletion">
+            <summary>Signals that the operation has completed.  Invoked after the result or error has been set.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1.InvokeContinuation">
+            <summary>
+            Invokes the continuation with the appropriate captured context / scheduler.
+            This assumes that if <see cref="F:System.Threading.Tasks.Sources.ManualResetValueTaskSourceCore`1._executionContext"/> is not null we're already
+            running within that <see cref="T:System.Threading.ExecutionContext"/>.
+            </summary>
+        </member>
+        <member name="T:System.Threading.Tasks.TaskAsyncEnumerableExtensions">
+            <summary>Provides a set of static methods for configuring <see cref="T:System.Threading.Tasks.Task"/>-related behaviors on asynchronous enumerables and disposables.</summary>
+        </member>
+        <member name="M:System.Threading.Tasks.TaskAsyncEnumerableExtensions.ConfigureAwait(System.IAsyncDisposable,System.Boolean)">
+            <summary>Configures how awaits on the tasks returned from an async disposable will be performed.</summary>
+            <param name="source">The source async disposable.</param>
+            <param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
+            <returns>The configured async disposable.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.TaskAsyncEnumerableExtensions.ConfigureAwait``1(System.Collections.Generic.IAsyncEnumerable{``0},System.Boolean)">
+            <summary>Configures how awaits on the tasks returned from an async iteration will be performed.</summary>
+            <typeparam name="T">The type of the objects being iterated.</typeparam>
+            <param name="source">The source enumerable being iterated.</param>
+            <param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
+            <returns>The configured enumerable.</returns>
+        </member>
+        <member name="M:System.Threading.Tasks.TaskAsyncEnumerableExtensions.WithCancellation``1(System.Collections.Generic.IAsyncEnumerable{``0},System.Threading.CancellationToken)">
+            <summary>Sets the <see cref="T:System.Threading.CancellationToken"/> to be passed to <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)"/> when iterating.</summary>
+            <typeparam name="T">The type of the objects being iterated.</typeparam>
+            <param name="source">The source enumerable being iterated.</param>
+            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to use.</param>
+            <returns>The configured enumerable.</returns>
+        </member>
+        <member name="T:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder">
+            <summary>Represents a builder for asynchronous iterators.</summary>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.Create">
+            <summary>Creates an instance of the <see cref="T:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder"/> struct.</summary>
+            <returns>The initialized instance.</returns>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.MoveNext``1(``0@)">
+            <summary>Invokes <see cref="M:System.Runtime.CompilerServices.IAsyncStateMachine.MoveNext"/> on the state machine while guarding the <see cref="T:System.Threading.ExecutionContext"/>.</summary>
+            <typeparam name="TStateMachine">The type of the state machine.</typeparam>
+            <param name="stateMachine">The state machine instance, passed by reference.</param>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.AwaitOnCompleted``2(``0@,``1@)">
+            <summary>Schedules the state machine to proceed to the next action when the specified awaiter completes.</summary>
+            <typeparam name="TAwaiter">The type of the awaiter.</typeparam>
+            <typeparam name="TStateMachine">The type of the state machine.</typeparam>
+            <param name="awaiter">The awaiter.</param>
+            <param name="stateMachine">The state machine.</param>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.AwaitUnsafeOnCompleted``2(``0@,``1@)">
+            <summary>Schedules the state machine to proceed to the next action when the specified awaiter completes.</summary>
+            <typeparam name="TAwaiter">The type of the awaiter.</typeparam>
+            <typeparam name="TStateMachine">The type of the state machine.</typeparam>
+            <param name="awaiter">The awaiter.</param>
+            <param name="stateMachine">The state machine.</param>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.Complete">
+            <summary>Marks iteration as being completed, whether successfully or otherwise.</summary>
+        </member>
+        <member name="P:System.Runtime.CompilerServices.AsyncIteratorMethodBuilder.ObjectIdForDebugger">
+            <summary>Gets an object that may be used to uniquely identify this builder to the debugger.</summary>
+        </member>
+        <member name="T:System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute">
+            <summary>Indicates whether a method is an asynchronous iterator.</summary>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute.#ctor(System.Type)">
+            <summary>Initializes a new instance of the <see cref="T:System.Runtime.CompilerServices.AsyncIteratorStateMachineAttribute"/> class.</summary>
+            <param name="stateMachineType">The type object for the underlying state machine type that's used to implement a state machine method.</param>
+        </member>
+        <member name="T:System.Runtime.CompilerServices.ConfiguredAsyncDisposable">
+            <summary>Provides a type that can be used to configure how awaits on an <see cref="T:System.IAsyncDisposable"/> are performed.</summary>
+        </member>
+        <member name="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1">
+            <summary>Provides an awaitable async enumerable that enables cancelable iteration and configured awaits.</summary>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.ConfigureAwait(System.Boolean)">
+            <summary>Configures how awaits on the tasks returned from an async iteration will be performed.</summary>
+            <param name="continueOnCapturedContext">Whether to capture and marshal back to the current context.</param>
+            <returns>The configured enumerable.</returns>
+            <remarks>This will replace any previous value set by <see cref="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.ConfigureAwait(System.Boolean)"/> for this iteration.</remarks>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.WithCancellation(System.Threading.CancellationToken)">
+            <summary>Sets the <see cref="T:System.Threading.CancellationToken"/> to be passed to <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)"/> when iterating.</summary>
+            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/> to use.</param>
+            <returns>The configured enumerable.</returns>
+            <remarks>This will replace any previous <see cref="T:System.Threading.CancellationToken"/> set by <see cref="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.WithCancellation(System.Threading.CancellationToken)"/> for this iteration.</remarks>
+        </member>
+        <member name="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator">
+            <summary>Provides an awaitable async enumerator that enables cancelable iteration and configured awaits.</summary>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.MoveNextAsync">
+            <summary>Advances the enumerator asynchronously to the next element of the collection.</summary>
+            <returns>
+            A <see cref="T:System.Runtime.CompilerServices.ConfiguredValueTaskAwaitable`1"/> that will complete with a result of <c>true</c>
+            if the enumerator was successfully advanced to the next element, or <c>false</c> if the enumerator has
+            passed the end of the collection.
+            </returns>
+        </member>
+        <member name="P:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.Current">
+            <summary>Gets the element in the collection at the current position of the enumerator.</summary>
+        </member>
+        <member name="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.Enumerator.DisposeAsync">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or
+            resetting unmanaged resources asynchronously.
+            </summary>
+        </member>
+        <member name="T:System.Collections.Generic.IAsyncEnumerable`1">
+            <summary>Exposes an enumerator that provides asynchronous iteration over values of a specified type.</summary>
+            <typeparam name="T">The type of values to enumerate.</typeparam>
+        </member>
+        <member name="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)">
+            <summary>Returns an enumerator that iterates asynchronously through the collection.</summary>
+            <param name="cancellationToken">A <see cref="T:System.Threading.CancellationToken"/> that may be used to cancel the asynchronous iteration.</param>
+            <returns>An enumerator that can be used to iterate asynchronously through the collection.</returns>
+        </member>
+        <member name="T:System.Collections.Generic.IAsyncEnumerator`1">
+            <summary>Supports a simple asynchronous iteration over a generic collection.</summary>
+            <typeparam name="T">The type of objects to enumerate.</typeparam>
+        </member>
+        <member name="M:System.Collections.Generic.IAsyncEnumerator`1.MoveNextAsync">
+            <summary>Advances the enumerator asynchronously to the next element of the collection.</summary>
+            <returns>
+            A <see cref="T:System.Threading.Tasks.ValueTask`1"/> that will complete with a result of <c>true</c> if the enumerator
+            was successfully advanced to the next element, or <c>false</c> if the enumerator has passed the end
+            of the collection.
+            </returns>
+        </member>
+        <member name="P:System.Collections.Generic.IAsyncEnumerator`1.Current">
+            <summary>Gets the element in the collection at the current position of the enumerator.</summary>
+        </member>
+        <member name="T:System.IAsyncDisposable">
+            <summary>Provides a mechanism for releasing unmanaged resources asynchronously.</summary>
+        </member>
+        <member name="M:System.IAsyncDisposable.DisposeAsync">
+            <summary>
+            Performs application-defined tasks associated with freeing, releasing, or
+            resetting unmanaged resources asynchronously.
+            </summary>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.Bcl.HashCode.dll


+ 34 - 0
Work29/bin/Debug/Microsoft.Bcl.HashCode.xml

@@ -0,0 +1,34 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Bcl.HashCode</name>
+    </assembly>
+    <members>
+        <member name="M:System.Numerics.BitOperations.RotateLeft(System.UInt32,System.Int32)">
+            <summary>
+            Rotates the specified value left by the specified number of bits.
+            Similar in behavior to the x86 instruction ROL.
+            </summary>
+            <param name="value">The value to rotate.</param>
+            <param name="offset">The number of bits to rotate by.
+            Any value outside the range [0..31] is treated as congruent mod 32.</param>
+            <returns>The rotated value.</returns>
+        </member>
+        <member name="M:System.Numerics.BitOperations.RotateLeft(System.UInt64,System.Int32)">
+            <summary>
+            Rotates the specified value left by the specified number of bits.
+            Similar in behavior to the x86 instruction ROL.
+            </summary>
+            <param name="value">The value to rotate.</param>
+            <param name="offset">The number of bits to rotate by.
+            Any value outside the range [0..63] is treated as congruent mod 64.</param>
+            <returns>The rotated value.</returns>
+        </member>
+        <member name="P:System.SR.HashCode_EqualityNotSupported">
+            <summary>HashCode is a mutable struct and should not be compared with other HashCodes.</summary>
+        </member>
+        <member name="P:System.SR.HashCode_HashCodeNotSupported">
+            <summary>HashCode is a mutable struct and should not be compared with other HashCodes. Use ToHashCode to retrieve the computed hash code.</summary>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.Data.SqlClient.dll


二进制
Work29/bin/Debug/Microsoft.Data.SqlClient.pdb


文件差异内容过多而无法显示
+ 22870 - 0
Work29/bin/Debug/Microsoft.Data.SqlClient.xml


二进制
Work29/bin/Debug/Microsoft.EntityFrameworkCore.Abstractions.dll


+ 125 - 0
Work29/bin/Debug/Microsoft.EntityFrameworkCore.Abstractions.xml

@@ -0,0 +1,125 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.EntityFrameworkCore.Abstractions</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.EntityFrameworkCore.DbFunctionAttribute">
+            <summary>
+                Maps a static CLR method to a database function so that the CLR method may be used in LINQ queries.
+                By convention uses the .NET method name as name of the database function and the default schema.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.DbFunctionAttribute.#ctor">
+            <summary>
+                Initializes a new instance of the <see cref="T:Microsoft.EntityFrameworkCore.DbFunctionAttribute" /> class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.DbFunctionAttribute.#ctor(System.String,System.String)">
+            <summary>
+                Initializes a new instance of the <see cref="T:Microsoft.EntityFrameworkCore.DbFunctionAttribute" /> class.
+            </summary>
+            <param name="name">The name of the function in the database.</param>
+            <param name="schema">The schema of the function in the database.</param>
+        </member>
+        <member name="P:Microsoft.EntityFrameworkCore.DbFunctionAttribute.Name">
+            <summary>
+                The name of the function in the database.
+            </summary>
+        </member>
+        <member name="P:Microsoft.EntityFrameworkCore.DbFunctionAttribute.Schema">
+            <summary>
+                The schema of the function in the database.
+            </summary>
+        </member>
+        <member name="T:Microsoft.EntityFrameworkCore.Infrastructure.ILazyLoader">
+            <summary>
+                <para>
+                    A service that can be injected into entities to give them the capability
+                    of loading navigation properties automatically the first time they are accessed.
+                </para>
+                <para>
+                    The service lifetime is 'ServiceLifetime.Transient'. This means that each
+                    entity instance will use its own instance of this service.
+                    The implementation may depend on other services registered with any lifetime.
+                    The implementation does not need to be thread-safe.
+                </para>
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Infrastructure.ILazyLoader.SetLoaded(System.Object,System.String,System.Boolean)">
+            <summary>
+                Sets the given navigation as known to be completely loaded or known to be
+                no longer completely loaded.
+            </summary>
+            <param name="entity"> The entity on which the navigation property is located. </param>
+            <param name="navigationName"> The navigation property name. </param>
+            <param name="loaded"> Determines whether the navigation is set as loaded or not. </param>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Infrastructure.ILazyLoader.Load(System.Object,System.String)">
+            <summary>
+                Loads a navigation property if it has not already been loaded.
+            </summary>
+            <param name="entity"> The entity on which the navigation property is located. </param>
+            <param name="navigationName"> The navigation property name. </param>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Infrastructure.ILazyLoader.LoadAsync(System.Object,System.Threading.CancellationToken,System.String)">
+            <summary>
+                Loads a navigation property if it has not already been loaded.
+            </summary>
+            <param name="entity"> The entity on which the navigation property is located. </param>
+            <param name="cancellationToken"> A <see cref="T:System.Threading.CancellationToken" /> to observe while waiting for the task to complete. </param>
+            <param name="navigationName"> The navigation property name. </param>
+            <returns> A task that represents the asynchronous operation. </returns>
+        </member>
+        <member name="T:Microsoft.EntityFrameworkCore.Infrastructure.LazyLoaderExtensions">
+            <summary>
+                Extension methods for the <see cref="T:Microsoft.EntityFrameworkCore.Infrastructure.ILazyLoader" /> service that make it more
+                convenient to use from entity classes.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Infrastructure.LazyLoaderExtensions.Load``1(Microsoft.EntityFrameworkCore.Infrastructure.ILazyLoader,System.Object,``0@,System.String)">
+            <summary>
+                Loads a navigation property if it has not already been loaded.
+            </summary>
+            <typeparam name="TRelated"> The type of the navigation property. </typeparam>
+            <param name="loader">The loader instance, which may be <c>null</c>.</param>
+            <param name="entity"> The entity on which the navigation property is located. </param>
+            <param name="navigationField"> A reference to the backing field for the navigation. </param>
+            <param name="navigationName"> The navigation property name. </param>
+            <returns>
+                The loaded navigation property value, or the navigation property value unchanged if the loader is <c>null</c>.
+            </returns>
+        </member>
+        <member name="T:Microsoft.EntityFrameworkCore.OwnedAttribute">
+            <summary>
+                Marks a type as owned. All references to this type will be configured as owned entity types.
+            </summary>
+        </member>
+        <member name="T:Microsoft.EntityFrameworkCore.Diagnostics.AbstractionsStrings">
+            <summary>
+                <para>
+            	    String resources used in EF exceptions, etc.
+                </para>
+                <para>
+            	    These strings are exposed publicly for use by database providers and extensions.
+                    It is unusual for application code to need these strings.
+                </para>
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Diagnostics.AbstractionsStrings.ArgumentIsEmpty(System.Object)">
+            <summary>
+                The string argument '{argumentName}' cannot be empty.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Diagnostics.AbstractionsStrings.CollectionArgumentIsEmpty(System.Object)">
+            <summary>
+                The collection argument '{argumentName}' must contain at least one element.
+            </summary>
+        </member>
+        <member name="T:Microsoft.EntityFrameworkCore.Query.NotParameterizedAttribute">
+            <summary>
+                Signals that custom LINQ operator parameter should not be parameterized during query compilation.
+            </summary>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.EntityFrameworkCore.Design.dll


文件差异内容过多而无法显示
+ 4575 - 0
Work29/bin/Debug/Microsoft.EntityFrameworkCore.Design.xml


二进制
Work29/bin/Debug/Microsoft.EntityFrameworkCore.Proxies.dll


+ 365 - 0
Work29/bin/Debug/Microsoft.EntityFrameworkCore.Proxies.xml

@@ -0,0 +1,365 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.EntityFrameworkCore.Proxies</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.EntityFrameworkCore.Internal.ProxiesStrings">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="P:Microsoft.EntityFrameworkCore.Internal.ProxiesStrings.ProxyServicesMissing">
+            <summary>
+                UseLazyLoadingProxies requires AddEntityFrameworkProxies to be called on the internal service provider used.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Internal.ProxiesStrings.ItsASeal(System.Object)">
+            <summary>
+                Entity type '{entityType}' is sealed. UseLazyLoadingProxies requires all entity types to be public, unsealed, have virtual navigation properties, and have a public or protected constructor.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Internal.ProxiesStrings.NonVirtualNavigation(System.Object,System.Object)">
+            <summary>
+                Navigation property '{navigation}' on entity type '{entityType}' is not virtual. UseLazyLoadingProxies requires all entity types to be public, unsealed, have virtual navigation properties, and have a public or protected constructor.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Internal.ProxiesStrings.FieldNavigation(System.Object,System.Object)">
+            <summary>
+                Navigation property '{navigation}' on entity type '{entityType}' is mapped without a CLR property. UseLazyLoadingProxies requires all entity types to be public, unsealed, have virtual navigation properties, and have a public or protected constructor.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Internal.ProxiesStrings.ProxiesNotEnabled(System.Object)">
+            <summary>
+                Unable to create proxy for '{entityType}' because proxies are not enabled. Call 'DbContextOptionsBuilder.UseLazyLoadingProxies' to enable lazy-loading proxies.
+            </summary>
+        </member>
+        <member name="T:Microsoft.EntityFrameworkCore.ProxiesExtensions">
+            <summary>
+                Extension methods related to use of proxies with Entity Framework Core.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.ProxiesExtensions.UseLazyLoadingProxies(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder,System.Boolean)">
+            <summary>
+                <para>
+                    Turns on the creation of lazy-loading proxies.
+                </para>
+                <para>
+                    Note that this requires appropriate services to be available in the EF internal service provider. Normally this
+                    will happen automatically, but if the application is controlling the service provider, then a call to
+                    <see cref="M:Microsoft.Extensions.DependencyInjection.ProxiesServiceCollectionExtensions.AddEntityFrameworkProxies(Microsoft.Extensions.DependencyInjection.IServiceCollection)" /> may be needed.
+                </para>
+            </summary>
+            <param name="optionsBuilder">
+                The options builder, as passed to <see cref="M:Microsoft.EntityFrameworkCore.DbContext.OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder)" />
+                or exposed AddDbContext.
+            </param>
+            <param name="useLazyLoadingProxies"> <c>True</c> to use lazy-loading proxies; false to prevent their use. </param>
+            <returns> The same builder to allow method calls to be chained. </returns>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.ProxiesExtensions.UseLazyLoadingProxies``1(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder{``0},System.Boolean)">
+            <summary>
+                <para>
+                    Turns on the creation of lazy-loading proxies.
+                </para>
+                <para>
+                    Note that this requires appropriate services to be available in the EF internal service provider. Normally this
+                    will happen automatically, but if the application is controlling the service provider, then a call to
+                    <see cref="M:Microsoft.Extensions.DependencyInjection.ProxiesServiceCollectionExtensions.AddEntityFrameworkProxies(Microsoft.Extensions.DependencyInjection.IServiceCollection)" /> may be needed.
+                </para>
+            </summary>
+            <typeparam name="TContext"> The <see cref="T:Microsoft.EntityFrameworkCore.DbContext" /> type. </typeparam>
+            <param name="optionsBuilder">
+                The options builder, as passed to <see cref="M:Microsoft.EntityFrameworkCore.DbContext.OnConfiguring(Microsoft.EntityFrameworkCore.DbContextOptionsBuilder)" />
+                or exposed AddDbContext.
+            </param>
+            <param name="useLazyLoadingProxies"> <c>True</c> to use lazy-loading proxies; false to prevent their use. </param>
+            <returns> The same builder to allow method calls to be chained. </returns>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.ProxiesExtensions.CreateProxy(Microsoft.EntityFrameworkCore.DbContext,System.Type,System.Object[])">
+            <summary>
+                Creates a proxy instance for an entity type if proxy creation has been turned on.
+            </summary>
+            <param name="context"> The <see cref="T:Microsoft.EntityFrameworkCore.DbContext" />. </param>
+            <param name="entityType"> The entity type for which a proxy is needed. </param>
+            <param name="constructorArguments"> Arguments to pass to the entity type constructor. </param>
+            <returns> The proxy instance. </returns>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.ProxiesExtensions.CreateProxy``1(Microsoft.EntityFrameworkCore.DbContext,System.Object[])">
+            <summary>
+                Creates a proxy instance for an entity type if proxy creation has been turned on.
+            </summary>
+            <typeparam name="TEntity"> The entity type for which a proxy is needed. </typeparam>
+            <param name="context"> The <see cref="T:Microsoft.EntityFrameworkCore.DbContext" />. </param>
+            <param name="constructorArguments"> Arguments to pass to the entity type constructor. </param>
+            <returns> The proxy instance. </returns>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.ProxiesExtensions.CreateProxy``1(Microsoft.EntityFrameworkCore.DbSet{``0},System.Object[])">
+            <summary>
+                Creates a proxy instance for an entity type if proxy creation has been turned on.
+            </summary>
+            <typeparam name="TEntity"> The entity type for which a proxy is needed. </typeparam>
+            <param name="set"> The <see cref="T:Microsoft.EntityFrameworkCore.DbSet`1" />. </param>
+            <param name="constructorArguments"> Arguments to pass to the entity type constructor. </param>
+            <returns> The proxy instance. </returns>
+        </member>
+        <member name="T:Microsoft.EntityFrameworkCore.Proxies.Internal.IProxyFactory">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.IProxyFactory.CreateLazyLoadingProxy(Microsoft.EntityFrameworkCore.Metadata.IEntityType,Microsoft.EntityFrameworkCore.Infrastructure.ILazyLoader,System.Object[])">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.IProxyFactory.CreateLazyLoadingProxyType(Microsoft.EntityFrameworkCore.Metadata.IEntityType)">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.IProxyFactory.Create(Microsoft.EntityFrameworkCore.DbContext,System.Type,System.Object[])">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="T:Microsoft.EntityFrameworkCore.Proxies.Internal.IProxyLazyLoader">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="P:Microsoft.EntityFrameworkCore.Proxies.Internal.IProxyLazyLoader.LazyLoader">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="T:Microsoft.EntityFrameworkCore.Proxies.Internal.LazyLoadingInterceptor">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.LazyLoadingInterceptor.#ctor(Microsoft.EntityFrameworkCore.Metadata.IEntityType,Microsoft.EntityFrameworkCore.Infrastructure.ILazyLoader)">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.LazyLoadingInterceptor.Intercept(Castle.DynamicProxy.IInvocation)">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="T:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxiesConventionSetPlugin">
+            <summary>
+                <para>
+                    This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                    the same compatibility standards as public APIs. It may be changed or removed without notice in
+                    any release. You should only use it directly in your code with extreme caution and knowing that
+                    doing so can result in application failures when updating to a new Entity Framework Core release.
+                </para>
+                <para>
+                    The service lifetime is <see cref="F:Microsoft.Extensions.DependencyInjection.ServiceLifetime.Scoped" /> and multiple registrations
+                    are allowed. This means that each <see cref="T:Microsoft.EntityFrameworkCore.DbContext" /> instance will use its own
+                    set of instances of this service.
+                    The implementations may depend on other services registered with any lifetime.
+                    The implementations do not need to be thread-safe.
+                </para>
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxiesConventionSetPlugin.#ctor(Microsoft.EntityFrameworkCore.Proxies.Internal.IProxyFactory,Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptions,Microsoft.EntityFrameworkCore.Metadata.LazyLoaderParameterBindingFactoryDependencies,Microsoft.EntityFrameworkCore.Metadata.Conventions.Infrastructure.ProviderConventionSetBuilderDependencies)">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxiesConventionSetPlugin.ModifyConventions(Microsoft.EntityFrameworkCore.Metadata.Conventions.ConventionSet)">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="T:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxiesOptionsExtension">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxiesOptionsExtension.#ctor">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxiesOptionsExtension.#ctor(Microsoft.EntityFrameworkCore.Proxies.Internal.ProxiesOptionsExtension)">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="P:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxiesOptionsExtension.Info">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxiesOptionsExtension.Clone">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="P:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxiesOptionsExtension.UseLazyLoadingProxies">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxiesOptionsExtension.WithLazyLoading(System.Boolean)">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxiesOptionsExtension.Validate(Microsoft.EntityFrameworkCore.Infrastructure.IDbContextOptions)">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxiesOptionsExtension.ApplyServices(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="T:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxyBindingRewriter">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxyBindingRewriter.#ctor(Microsoft.EntityFrameworkCore.Proxies.Internal.IProxyFactory,Microsoft.EntityFrameworkCore.Proxies.Internal.ProxiesOptionsExtension,Microsoft.EntityFrameworkCore.Metadata.LazyLoaderParameterBindingFactoryDependencies,Microsoft.EntityFrameworkCore.Metadata.Conventions.Infrastructure.ProviderConventionSetBuilderDependencies)">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxyBindingRewriter.ProcessModelFinalized(Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionModelBuilder,Microsoft.EntityFrameworkCore.Metadata.Conventions.IConventionContext{Microsoft.EntityFrameworkCore.Metadata.Builders.IConventionModelBuilder})">
+            <summary>
+                Called after a model is finalized.
+            </summary>
+            <param name="modelBuilder"> The builder for the model. </param>
+            <param name="context"> Additional information associated with convention execution. </param>
+        </member>
+        <member name="T:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxyFactory">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxyFactory.Create(Microsoft.EntityFrameworkCore.DbContext,System.Type,System.Object[])">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxyFactory.CreateLazyLoadingProxyType(Microsoft.EntityFrameworkCore.Metadata.IEntityType)">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="M:Microsoft.EntityFrameworkCore.Proxies.Internal.ProxyFactory.CreateLazyLoadingProxy(Microsoft.EntityFrameworkCore.Metadata.IEntityType,Microsoft.EntityFrameworkCore.Infrastructure.ILazyLoader,System.Object[])">
+            <summary>
+                This is an internal API that supports the Entity Framework Core infrastructure and not subject to
+                the same compatibility standards as public APIs. It may be changed or removed without notice in
+                any release. You should only use it directly in your code with extreme caution and knowing that
+                doing so can result in application failures when updating to a new Entity Framework Core release.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.DependencyInjection.ProxiesServiceCollectionExtensions">
+            <summary>
+                EntityFrameworkCore.Proxies extension methods for <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ProxiesServiceCollectionExtensions.AddEntityFrameworkProxies(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
+            <summary>
+                <para>
+                    Adds the services required for proxy support in Entity Framework. You use this method when
+                    using dependency injection in your application, such as with ASP.NET. For more information
+                    on setting up dependency injection, see http://go.microsoft.com/fwlink/?LinkId=526890.
+                </para>
+                <para>
+                    You only need to use this functionality when you want Entity Framework to resolve the services it uses
+                    from an external dependency injection container. If you are not using an external
+                    dependency injection container, Entity Framework will take care of creating the services it requires.
+                </para>
+            </summary>
+            <param name="serviceCollection"> The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to. </param>
+            <returns>
+                The same service collection so that multiple calls can be chained.
+            </returns>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.EntityFrameworkCore.Relational.dll


文件差异内容过多而无法显示
+ 23677 - 0
Work29/bin/Debug/Microsoft.EntityFrameworkCore.Relational.xml


二进制
Work29/bin/Debug/Microsoft.EntityFrameworkCore.SqlServer.dll


文件差异内容过多而无法显示
+ 5654 - 0
Work29/bin/Debug/Microsoft.EntityFrameworkCore.SqlServer.xml


二进制
Work29/bin/Debug/Microsoft.EntityFrameworkCore.dll


文件差异内容过多而无法显示
+ 57073 - 0
Work29/bin/Debug/Microsoft.EntityFrameworkCore.xml


二进制
Work29/bin/Debug/Microsoft.Extensions.Caching.Abstractions.dll


+ 528 - 0
Work29/bin/Debug/Microsoft.Extensions.Caching.Abstractions.xml

@@ -0,0 +1,528 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Extensions.Caching.Abstractions</name>
+    </assembly>
+    <members>
+        <member name="M:Microsoft.Extensions.Caching.Memory.CacheEntryExtensions.SetPriority(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.CacheItemPriority)">
+            <summary>
+            Sets the priority for keeping the cache entry in the cache during a memory pressure tokened cleanup.
+            </summary>
+            <param name="entry">The entry to set the priority for.</param>
+            <param name="priority">The <see cref="T:Microsoft.Extensions.Caching.Memory.CacheItemPriority"/> to set on the entry.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/> for chaining.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.CacheEntryExtensions.AddExpirationToken(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Primitives.IChangeToken)">
+            <summary>
+            Expire the cache entry if the given <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> expires.
+            </summary>
+            <param name="entry">The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/>.</param>
+            <param name="expirationToken">The <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> that causes the cache entry to expire.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/> for chaining.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.CacheEntryExtensions.SetAbsoluteExpiration(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan)">
+            <summary>
+            Sets an absolute expiration time, relative to now.
+            </summary>
+            <param name="entry">The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/>.</param>
+            <param name="relative">The <see cref="T:System.TimeSpan"/> representing the expiration time relative to now.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/> for chaining.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.CacheEntryExtensions.SetAbsoluteExpiration(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.DateTimeOffset)">
+            <summary>
+            Sets an absolute expiration date for the cache entry.
+            </summary>
+            <param name="entry">The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/>.</param>
+            <param name="absolute">A <see cref="T:System.DateTimeOffset"/> representing the expiration time in absolute terms.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/> for chaining.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.CacheEntryExtensions.SetSlidingExpiration(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.TimeSpan)">
+            <summary>
+            Sets how long the cache entry can be inactive (e.g. not accessed) before it will be removed.
+            This will not extend the entry lifetime beyond the absolute expiration (if set).
+            </summary>
+            <param name="entry">The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/>.</param>
+            <param name="offset">A <see cref="T:System.TimeSpan"/> representing a sliding expiration.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/> for chaining.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.CacheEntryExtensions.RegisterPostEvictionCallback(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate)">
+            <summary>
+            The given callback will be fired after the cache entry is evicted from the cache.
+            </summary>
+            <param name="entry">The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/>.</param>
+            <param name="callback">The callback to run after the entry is evicted.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/> for chaining.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.CacheEntryExtensions.RegisterPostEvictionCallback(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object)">
+            <summary>
+            The given callback will be fired after the cache entry is evicted from the cache.
+            </summary>
+            <param name="entry">The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/>.</param>
+            <param name="callback">The callback to run after the entry is evicted.</param>
+            <param name="state">The state to pass to the post-eviction callback.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/> for chaining.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.CacheEntryExtensions.SetValue(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Object)">
+            <summary>
+            Sets the value of the cache entry.
+            </summary>
+            <param name="entry">The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/>.</param>
+            <param name="value">The value to set on the <paramref name="entry"/>.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/> for chaining.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.CacheEntryExtensions.SetSize(Microsoft.Extensions.Caching.Memory.ICacheEntry,System.Int64)">
+            <summary>
+            Sets the size of the cache entry value.
+            </summary>
+            <param name="entry">The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/>.</param>
+            <param name="size">The size to set on the <paramref name="entry"/>.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/> for chaining.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.CacheEntryExtensions.SetOptions(Microsoft.Extensions.Caching.Memory.ICacheEntry,Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions)">
+            <summary>
+            Applies the values of an existing <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/> to the entry.
+            </summary>
+            <param name="entry">The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/>.</param>
+            <param name="options">Set the values of these options on the <paramref name="entry"/>.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/> for chaining.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Caching.Memory.CacheItemPriority">
+            <summary>
+            Specifies how items are prioritized for preservation during a memory pressure triggered cleanup.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Caching.Memory.EvictionReason.Removed">
+            <summary>
+            Manually
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Caching.Memory.EvictionReason.Replaced">
+            <summary>
+            Overwritten
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Caching.Memory.EvictionReason.Expired">
+            <summary>
+            Timed out
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Caching.Memory.EvictionReason.TokenExpired">
+            <summary>
+            Event
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Caching.Memory.EvictionReason.Capacity">
+            <summary>
+            Overflow
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Caching.Memory.ICacheEntry">
+            <summary>
+            Represents an entry in the <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/> implementation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.ICacheEntry.Key">
+            <summary>
+            Gets the key of the cache entry.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.ICacheEntry.Value">
+            <summary>
+            Gets or set the value of the cache entry.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.ICacheEntry.AbsoluteExpiration">
+            <summary>
+            Gets or sets an absolute expiration date for the cache entry.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.ICacheEntry.AbsoluteExpirationRelativeToNow">
+            <summary>
+            Gets or sets an absolute expiration time, relative to now.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.ICacheEntry.SlidingExpiration">
+            <summary>
+            Gets or sets how long a cache entry can be inactive (e.g. not accessed) before it will be removed.
+            This will not extend the entry lifetime beyond the absolute expiration (if set).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.ICacheEntry.ExpirationTokens">
+            <summary>
+            Gets the <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> instances which cause the cache entry to expire.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.ICacheEntry.PostEvictionCallbacks">
+            <summary>
+            Gets or sets the callbacks will be fired after the cache entry is evicted from the cache.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.ICacheEntry.Priority">
+            <summary>
+            Gets or sets the priority for keeping the cache entry in the cache during a
+             cleanup. The default is <see cref="F:Microsoft.Extensions.Caching.Memory.CacheItemPriority.Normal"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.ICacheEntry.Size">
+            <summary>
+            Gets or set the size of the cache entry value.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Caching.Memory.IMemoryCache">
+            <summary>
+            Represents a local in-memory cache whose values are not serialized.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.IMemoryCache.TryGetValue(System.Object,System.Object@)">
+            <summary>
+            Gets the item associated with this key if present.
+            </summary>
+            <param name="key">An object identifying the requested entry.</param>
+            <param name="value">The located value or null.</param>
+            <returns>True if the key was found.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.IMemoryCache.CreateEntry(System.Object)">
+            <summary>
+            Create or overwrite an entry in the cache.
+            </summary>
+            <param name="key">An object identifying the entry.</param>
+            <returns>The newly created <see cref="T:Microsoft.Extensions.Caching.Memory.ICacheEntry"/> instance.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.IMemoryCache.Remove(System.Object)">
+            <summary>
+            Removes the object associated with the given key.
+            </summary>
+            <param name="key">An object identifying the entry.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryExtensions.SetPriority(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.CacheItemPriority)">
+            <summary>
+            Sets the priority for keeping the cache entry in the cache during a memory pressure tokened cleanup.
+            </summary>
+            <param name="options">The option on which to set the priority.</param>
+            <param name="priority">The <see cref="T:Microsoft.Extensions.Caching.Memory.CacheItemPriority"/> to set on the option.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryExtensions.SetSize(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.Int64)">
+            <summary>
+            Sets the size of the cache entry value.
+            </summary>
+            <param name="options">The options to set the entry size on.</param>
+            <param name="size">The size to set on the <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/>.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryExtensions.AddExpirationToken(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Primitives.IChangeToken)">
+            <summary>
+            Expire the cache entry if the given <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> expires.
+            </summary>
+            <param name="options">The <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/>.</param>
+            <param name="expirationToken">The <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> that causes the cache entry to expire.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryExtensions.SetAbsoluteExpiration(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan)">
+            <summary>
+            Sets an absolute expiration time, relative to now.
+            </summary>
+            <param name="options">The <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/>.</param>
+            <param name="relative">The expiration time, relative to now.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryExtensions.SetAbsoluteExpiration(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.DateTimeOffset)">
+            <summary>
+            Sets an absolute expiration date for the cache entry.
+            </summary>
+            <param name="options">The <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/>.</param>
+            <param name="absolute">The expiration time, in absolute terms.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryExtensions.SetSlidingExpiration(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,System.TimeSpan)">
+            <summary>
+            Sets how long the cache entry can be inactive (e.g. not accessed) before it will be removed.
+            This will not extend the entry lifetime beyond the absolute expiration (if set).
+            </summary>
+            <param name="options">The <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/>.</param>
+            <param name="offset">The sliding expiration time.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryExtensions.RegisterPostEvictionCallback(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate)">
+            <summary>
+            The given callback will be fired after the cache entry is evicted from the cache.
+            </summary>
+            <param name="options">The <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/>.</param>
+            <param name="callback">The callback to register for calling after an entry is evicted.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryExtensions.RegisterPostEvictionCallback(Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions,Microsoft.Extensions.Caching.Memory.PostEvictionDelegate,System.Object)">
+            <summary>
+            The given callback will be fired after the cache entry is evicted from the cache.
+            </summary>
+            <param name="options">The <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/>.</param>
+            <param name="callback">The callback to register for calling after an entry is evicted.</param>
+            <param name="state">The state to pass to the callback.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions">
+            <summary>
+            Represents the cache options applied to an entry of the <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/> instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions.AbsoluteExpiration">
+            <summary>
+            Gets or sets an absolute expiration date for the cache entry.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions.AbsoluteExpirationRelativeToNow">
+            <summary>
+            Gets or sets an absolute expiration time, relative to now.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions.SlidingExpiration">
+            <summary>
+            Gets or sets how long a cache entry can be inactive (e.g. not accessed) before it will be removed.
+            This will not extend the entry lifetime beyond the absolute expiration (if set).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions.ExpirationTokens">
+            <summary>
+            Gets the <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> instances which cause the cache entry to expire.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions.PostEvictionCallbacks">
+            <summary>
+            Gets or sets the callbacks will be fired after the cache entry is evicted from the cache.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions.Priority">
+            <summary>
+            Gets or sets the priority for keeping the cache entry in the cache during a
+            memory pressure triggered cleanup. The default is <see cref="F:Microsoft.Extensions.Caching.Memory.CacheItemPriority.Normal"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheEntryOptions.Size">
+            <summary>
+            Gets or sets the size of the cache entry value.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Caching.Memory.PostEvictionDelegate">
+            <summary>
+            Signature of the callback which gets called when a cache entry expires.
+            </summary>
+            <param name="key">The key of the entry being evicted.</param>
+            <param name="value">The value of the entry being evicted.</param>
+            <param name="reason">The <see cref="T:Microsoft.Extensions.Caching.Memory.EvictionReason"/>.</param>
+            <param name="state">The information that was passed when registering the callback.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryExtensions.SetAbsoluteExpiration(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan)">
+            <summary>
+            Sets an absolute expiration time, relative to now.
+            </summary>
+            <param name="options">The options to be operated on.</param>
+            <param name="relative">The expiration time, relative to now.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryExtensions.SetAbsoluteExpiration(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.DateTimeOffset)">
+            <summary>
+            Sets an absolute expiration date for the cache entry.
+            </summary>
+            <param name="options">The options to be operated on.</param>
+            <param name="absolute">The expiration time, in absolute terms.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryExtensions.SetSlidingExpiration(Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.TimeSpan)">
+            <summary>
+            Sets how long the cache entry can be inactive (e.g. not accessed) before it will be removed.
+            This will not extend the entry lifetime beyond the absolute expiration (if set).
+            </summary>
+            <param name="options">The options to be operated on.</param>
+            <param name="offset">The sliding expiration time.</param>
+        </member>
+        <member name="T:Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions">
+            <summary>
+            Provides the cache options for an entry in <see cref="T:Microsoft.Extensions.Caching.Distributed.IDistributedCache"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions.AbsoluteExpiration">
+            <summary>
+            Gets or sets an absolute expiration date for the cache entry.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions.AbsoluteExpirationRelativeToNow">
+            <summary>
+            Gets or sets an absolute expiration time, relative to now.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions.SlidingExpiration">
+            <summary>
+            Gets or sets how long a cache entry can be inactive (e.g. not accessed) before it will be removed.
+            This will not extend the entry lifetime beyond the absolute expiration (if set).
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Caching.Distributed.DistributedCacheExtensions">
+            <summary>
+            Extension methods for setting data in an <see cref="T:Microsoft.Extensions.Caching.Distributed.IDistributedCache" />.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.DistributedCacheExtensions.Set(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String,System.Byte[])">
+            <summary>
+            Sets a sequence of bytes in the specified cache with the specified key.
+            </summary>
+            <param name="cache">The cache in which to store the data.</param>
+            <param name="key">The key to store the data in.</param>
+            <param name="value">The data to store in the cache.</param>
+            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="key"/> or <paramref name="value"/> is null.</exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.DistributedCacheExtensions.SetAsync(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String,System.Byte[],System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously sets a sequence of bytes in the specified cache with the specified key.
+            </summary>
+            <param name="cache">The cache in which to store the data.</param>
+            <param name="key">The key to store the data in.</param>
+            <param name="value">The data to store in the cache.</param>
+            <param name="token">Optional. A <see cref="T:System.Threading.CancellationToken" /> to cancel the operation.</param>
+            <returns>A task that represents the asynchronous set operation.</returns>
+            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="key"/> or <paramref name="value"/> is null.</exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.DistributedCacheExtensions.SetString(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String,System.String)">
+            <summary>
+            Sets a string in the specified cache with the specified key.
+            </summary>
+            <param name="cache">The cache in which to store the data.</param>
+            <param name="key">The key to store the data in.</param>
+            <param name="value">The data to store in the cache.</param>
+            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="key"/> or <paramref name="value"/> is null.</exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.DistributedCacheExtensions.SetString(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String,System.String,Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions)">
+            <summary>
+            Sets a string in the specified cache with the specified key.
+            </summary>
+            <param name="cache">The cache in which to store the data.</param>
+            <param name="key">The key to store the data in.</param>
+            <param name="value">The data to store in the cache.</param>
+            <param name="options">The cache options for the entry.</param>
+            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="key"/> or <paramref name="value"/> is null.</exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.DistributedCacheExtensions.SetStringAsync(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String,System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously sets a string in the specified cache with the specified key.
+            </summary>
+            <param name="cache">The cache in which to store the data.</param>
+            <param name="key">The key to store the data in.</param>
+            <param name="value">The data to store in the cache.</param>
+            <param name="token">Optional. A <see cref="T:System.Threading.CancellationToken" /> to cancel the operation.</param>
+            <returns>A task that represents the asynchronous set operation.</returns>
+            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="key"/> or <paramref name="value"/> is null.</exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.DistributedCacheExtensions.SetStringAsync(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String,System.String,Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously sets a string in the specified cache with the specified key.
+            </summary>
+            <param name="cache">The cache in which to store the data.</param>
+            <param name="key">The key to store the data in.</param>
+            <param name="value">The data to store in the cache.</param>
+            <param name="options">The cache options for the entry.</param>
+            <param name="token">Optional. A <see cref="T:System.Threading.CancellationToken" /> to cancel the operation.</param>
+            <returns>A task that represents the asynchronous set operation.</returns>
+            <exception cref="T:System.ArgumentNullException">Thrown when <paramref name="key"/> or <paramref name="value"/> is null.</exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.DistributedCacheExtensions.GetString(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String)">
+            <summary>
+            Gets a string from the specified cache with the specified key.
+            </summary>
+            <param name="cache">The cache in which to store the data.</param>
+            <param name="key">The key to get the stored data for.</param>
+            <returns>The string value from the stored cache key.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.DistributedCacheExtensions.GetStringAsync(Microsoft.Extensions.Caching.Distributed.IDistributedCache,System.String,System.Threading.CancellationToken)">
+            <summary>
+            Asynchronously gets a string from the specified cache with the specified key.
+            </summary>
+            <param name="cache">The cache in which to store the data.</param>
+            <param name="key">The key to get the stored data for.</param>
+            <param name="token">Optional. A <see cref="T:System.Threading.CancellationToken" /> to cancel the operation.</param>
+            <returns>A task that gets the string value from the stored cache key.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Caching.Distributed.IDistributedCache">
+            <summary>
+            Represents a distributed cache of serialized values.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.IDistributedCache.Get(System.String)">
+            <summary>
+            Gets a value with the given key.
+            </summary>
+            <param name="key">A string identifying the requested value.</param>
+            <returns>The located value or null.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.IDistributedCache.GetAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Gets a value with the given key.
+            </summary>
+            <param name="key">A string identifying the requested value.</param>
+            <param name="token">Optional. The <see cref="T:System.Threading.CancellationToken"/> used to propagate notifications that the operation should be canceled.</param>
+            <returns>The <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation, containing the located value or null.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.IDistributedCache.Set(System.String,System.Byte[],Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions)">
+            <summary>
+            Sets a value with the given key.
+            </summary>
+            <param name="key">A string identifying the requested value.</param>
+            <param name="value">The value to set in the cache.</param>
+            <param name="options">The cache options for the value.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.IDistributedCache.SetAsync(System.String,System.Byte[],Microsoft.Extensions.Caching.Distributed.DistributedCacheEntryOptions,System.Threading.CancellationToken)">
+            <summary>
+            Sets the value with the given key.
+            </summary>
+            <param name="key">A string identifying the requested value.</param>
+            <param name="value">The value to set in the cache.</param>
+            <param name="options">The cache options for the value.</param>
+            <param name="token">Optional. The <see cref="T:System.Threading.CancellationToken"/> used to propagate notifications that the operation should be canceled.</param>
+            <returns>The <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.IDistributedCache.Refresh(System.String)">
+            <summary>
+            Refreshes a value in the cache based on its key, resetting its sliding expiration timeout (if any).
+            </summary>
+            <param name="key">A string identifying the requested calue.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.IDistributedCache.RefreshAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Refreshes a value in the cache based on its key, resetting its sliding expiration timeout (if any).
+            </summary>
+            <param name="key">A string identifying the requested value.</param>
+            <param name="token">Optional. The <see cref="T:System.Threading.CancellationToken"/> used to propagate notifications that the operation should be canceled.</param>
+            <returns>The <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.IDistributedCache.Remove(System.String)">
+            <summary>
+            Removes the value with the given key.
+            </summary>
+            <param name="key">A string identifying the requested value.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Distributed.IDistributedCache.RemoveAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Removes the value with the given key.
+            </summary>
+            <param name="key">A string identifying the requested value.</param>
+            <param name="token">Optional. The <see cref="T:System.Threading.CancellationToken"/> used to propagate notifications that the operation should be canceled.</param>
+            <returns>The <see cref="T:System.Threading.Tasks.Task"/> that represents the asynchronous operation.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Internal.ISystemClock">
+            <summary>
+            Abstracts the system clock to facilitate testing.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Internal.ISystemClock.UtcNow">
+            <summary>
+            Retrieves the current system time in UTC.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Internal.SystemClock">
+            <summary>
+            Provides access to the normal system clock.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Internal.SystemClock.UtcNow">
+            <summary>
+            Retrieves the current system time in UTC.
+            </summary>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.Extensions.Caching.Memory.dll


+ 173 - 0
Work29/bin/Debug/Microsoft.Extensions.Caching.Memory.xml

@@ -0,0 +1,173 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Extensions.Caching.Memory</name>
+    </assembly>
+    <members>
+        <member name="P:Microsoft.Extensions.Caching.Memory.CacheEntry.AbsoluteExpiration">
+            <summary>
+            Gets or sets an absolute expiration date for the cache entry.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.CacheEntry.AbsoluteExpirationRelativeToNow">
+            <summary>
+            Gets or sets an absolute expiration time, relative to now.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.CacheEntry.SlidingExpiration">
+            <summary>
+            Gets or sets how long a cache entry can be inactive (e.g. not accessed) before it will be removed.
+            This will not extend the entry lifetime beyond the absolute expiration (if set).
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.CacheEntry.ExpirationTokens">
+            <summary>
+            Gets the <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> instances which cause the cache entry to expire.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.CacheEntry.PostEvictionCallbacks">
+            <summary>
+            Gets or sets the callbacks will be fired after the cache entry is evicted from the cache.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.CacheEntry.Priority">
+            <summary>
+            Gets or sets the priority for keeping the cache entry in the cache during a
+            memory pressure triggered cleanup. The default is <see cref="F:Microsoft.Extensions.Caching.Memory.CacheItemPriority.Normal"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.CacheEntry.Size">
+            <summary>
+            Gets or sets the size of the cache entry value.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Caching.Memory.MemoryCache">
+            <summary>
+            An implementation of <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/> using a dictionary to
+            store its entries.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.#ctor(Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Caching.Memory.MemoryCacheOptions})">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCache"/> instance.
+            </summary>
+            <param name="optionsAccessor">The options of the cache.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.#ctor(Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Caching.Memory.MemoryCacheOptions},Microsoft.Extensions.Logging.ILoggerFactory)">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCache"/> instance.
+            </summary>
+            <param name="optionsAccessor">The options of the cache.</param>
+            <param name="loggerFactory">The factory used to create loggers.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.Finalize">
+            <summary>
+            Cleans up the background collection events.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.MemoryCache.Count">
+            <summary>
+            Gets the count of the current entries for diagnostic purposes.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.CreateEntry(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.TryGetValue(System.Object,System.Object@)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.Remove(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.Compact(System.Double)">
+            Remove at least the given percentage (0.10 for 10%) of the total entries (or estimated memory?), according to the following policy:
+            1. Remove all expired items.
+            2. Bucket by CacheItemPriority.
+            3. Least recently used objects.
+            ?. Items with the soonest absolute expiration.
+            ?. Items with the soonest sliding expiration.
+            ?. Larger objects - estimated by object graph size, inaccurate.
+        </member>
+        <member name="M:Microsoft.Extensions.Caching.Memory.MemoryCache.ExpirePriorityBucket(System.Int64@,System.Int64,System.Func{Microsoft.Extensions.Caching.Memory.CacheEntry,System.Int64},System.Collections.Generic.List{Microsoft.Extensions.Caching.Memory.CacheEntry},System.Collections.Generic.List{Microsoft.Extensions.Caching.Memory.CacheEntry})">
+            Policy:
+            1. Least recently used objects.
+            ?. Items with the soonest absolute expiration.
+            ?. Items with the soonest sliding expiration.
+            ?. Larger objects - estimated by object graph size, inaccurate.
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheOptions.ExpirationScanFrequency">
+            <summary>
+            Gets or sets the minimum length of time between successive scans for expired items.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheOptions.SizeLimit">
+            <summary>
+            Gets or sets the maximum size of the cache.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Caching.Memory.MemoryCacheOptions.CompactionPercentage">
+            <summary>
+            Gets or sets the amount to compact the cache by when the maximum size is exceeded.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.DependencyInjection.MemoryCacheServiceCollectionExtensions">
+            <summary>
+            Extension methods for setting up memory cache related services in an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.MemoryCacheServiceCollectionExtensions.AddMemoryCache(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
+            <summary>
+            Adds a non distributed in memory implementation of <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/> to the
+            <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
+            </summary>
+            <param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.MemoryCacheServiceCollectionExtensions.AddMemoryCache(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Microsoft.Extensions.Caching.Memory.MemoryCacheOptions})">
+            <summary>
+            Adds a non distributed in memory implementation of <see cref="T:Microsoft.Extensions.Caching.Memory.IMemoryCache"/> to the
+            <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
+            </summary>
+            <param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param>
+            <param name="setupAction">
+            The <see cref="T:System.Action`1"/> to configure the provided <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryCacheOptions"/>.
+            </param>
+            <returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.MemoryCacheServiceCollectionExtensions.AddDistributedMemoryCache(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
+            <summary>
+            Adds a default implementation of <see cref="T:Microsoft.Extensions.Caching.Distributed.IDistributedCache"/> that stores items in memory
+            to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />. Frameworks that require a distributed cache to work
+            can safely add this dependency as part of their dependency list to ensure that there is at least
+            one implementation available.
+            </summary>
+            <remarks>
+            <see cref="M:Microsoft.Extensions.DependencyInjection.MemoryCacheServiceCollectionExtensions.AddDistributedMemoryCache(Microsoft.Extensions.DependencyInjection.IServiceCollection)"/> should only be used in single
+            server scenarios as this cache stores items in memory and doesn't expand across multiple machines.
+            For those scenarios it is recommended to use a proper distributed cache that can expand across
+            multiple machines.
+            </remarks>
+            <param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.MemoryCacheServiceCollectionExtensions.AddDistributedMemoryCache(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Microsoft.Extensions.Caching.Memory.MemoryDistributedCacheOptions})">
+            <summary>
+            Adds a default implementation of <see cref="T:Microsoft.Extensions.Caching.Distributed.IDistributedCache"/> that stores items in memory
+            to the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />. Frameworks that require a distributed cache to work
+            can safely add this dependency as part of their dependency list to ensure that there is at least
+            one implementation available.
+            </summary>
+            <remarks>
+            <see cref="M:Microsoft.Extensions.DependencyInjection.MemoryCacheServiceCollectionExtensions.AddDistributedMemoryCache(Microsoft.Extensions.DependencyInjection.IServiceCollection)"/> should only be used in single
+            server scenarios as this cache stores items in memory and doesn't expand across multiple machines.
+            For those scenarios it is recommended to use a proper distributed cache that can expand across
+            multiple machines.
+            </remarks>
+            <param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param>
+            <param name="setupAction">
+            The <see cref="T:System.Action`1"/> to configure the provided <see cref="T:Microsoft.Extensions.Caching.Memory.MemoryDistributedCacheOptions"/>.
+            </param>
+            <returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.Extensions.Configuration.Abstractions.dll


+ 251 - 0
Work29/bin/Debug/Microsoft.Extensions.Configuration.Abstractions.xml

@@ -0,0 +1,251 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Extensions.Configuration.Abstractions</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Extensions.Configuration.ConfigurationExtensions">
+            <summary>
+            Extension methods for configuration classes./>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationExtensions.Add``1(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Action{``0})">
+            <summary>
+            Adds a new configuration source.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/> to add to.</param>
+            <param name="configureSource">Configures the source secrets.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationExtensions.GetConnectionString(Microsoft.Extensions.Configuration.IConfiguration,System.String)">
+            <summary>
+            Shorthand for GetSection("ConnectionStrings")[name].
+            </summary>
+            <param name="configuration">The configuration.</param>
+            <param name="name">The connection string key.</param>
+            <returns>The connection string.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationExtensions.AsEnumerable(Microsoft.Extensions.Configuration.IConfiguration)">
+            <summary>
+            Get the enumeration of key value pairs within the <see cref="T:Microsoft.Extensions.Configuration.IConfiguration" />
+            </summary>
+            <param name="configuration">The <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> to enumerate.</param>
+            <returns>An enumeration of key value pairs.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationExtensions.AsEnumerable(Microsoft.Extensions.Configuration.IConfiguration,System.Boolean)">
+            <summary>
+            Get the enumeration of key value pairs within the <see cref="T:Microsoft.Extensions.Configuration.IConfiguration" />
+            </summary>
+            <param name="configuration">The <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> to enumerate.</param>
+            <param name="makePathsRelative">If true, the child keys returned will have the current configuration's Path trimmed from the front.</param>
+            <returns>An enumeration of key value pairs.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationExtensions.Exists(Microsoft.Extensions.Configuration.IConfigurationSection)">
+            <summary>
+            Determines whether the section has a <see cref="P:Microsoft.Extensions.Configuration.IConfigurationSection.Value"/> or has children
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.ConfigurationPath">
+            <summary>
+            Utility methods and constants for manipulating Configuration paths
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Configuration.ConfigurationPath.KeyDelimiter">
+            <summary>
+            The delimiter ":" used to separate individual keys in a path.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationPath.Combine(System.String[])">
+            <summary>
+            Combines path segments into one path.
+            </summary>
+            <param name="pathSegments">The path segments to combine.</param>
+            <returns>The combined path.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationPath.Combine(System.Collections.Generic.IEnumerable{System.String})">
+            <summary>
+            Combines path segments into one path.
+            </summary>
+            <param name="pathSegments">The path segments to combine.</param>
+            <returns>The combined path.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationPath.GetSectionKey(System.String)">
+            <summary>
+            Extracts the last path segment from the path.
+            </summary>
+            <param name="path">The path.</param>
+            <returns>The last path segment of the path.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationPath.GetParentPath(System.String)">
+            <summary>
+            Extracts the path corresponding to the parent node for a given path.
+            </summary>
+            <param name="path">The path.</param>
+            <returns>The original path minus the last individual segment found in it. Null if the original path corresponds to a top level node.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.ConfigurationRootExtensions">
+            <summary>
+            Extension methods for <see cref="T:Microsoft.Extensions.Configuration.IConfigurationRoot"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationRootExtensions.GetDebugView(Microsoft.Extensions.Configuration.IConfigurationRoot)">
+            <summary>
+            Generates a human-readable view of the configuration showing where each value came from.
+            </summary>
+            <returns> The debug view. </returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.IConfiguration">
+            <summary>
+            Represents a set of key/value application configuration properties.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.IConfiguration.Item(System.String)">
+            <summary>
+            Gets or sets a configuration value.
+            </summary>
+            <param name="key">The configuration key.</param>
+            <returns>The configuration value.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.IConfiguration.GetSection(System.String)">
+            <summary>
+            Gets a configuration sub-section with the specified key.
+            </summary>
+            <param name="key">The key of the configuration section.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationSection"/>.</returns>
+            <remarks>
+                This method will never return <c>null</c>. If no matching sub-section is found with the specified key,
+                an empty <see cref="T:Microsoft.Extensions.Configuration.IConfigurationSection"/> will be returned.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.IConfiguration.GetChildren">
+            <summary>
+            Gets the immediate descendant configuration sub-sections.
+            </summary>
+            <returns>The configuration sub-sections.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.IConfiguration.GetReloadToken">
+            <summary>
+            Returns a <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> that can be used to observe when this configuration is reloaded.
+            </summary>
+            <returns>A <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/>.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.IConfigurationBuilder">
+            <summary>
+            Represents a type used to build application configuration.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.IConfigurationBuilder.Properties">
+            <summary>
+            Gets a key/value collection that can be used to share data between the <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>
+            and the registered <see cref="T:Microsoft.Extensions.Configuration.IConfigurationSource"/>s.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.IConfigurationBuilder.Sources">
+            <summary>
+            Gets the sources used to obtain configuration values
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.IConfigurationBuilder.Add(Microsoft.Extensions.Configuration.IConfigurationSource)">
+            <summary>
+            Adds a new configuration source.
+            </summary>
+            <param name="source">The configuration source to add.</param>
+            <returns>The same <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.IConfigurationBuilder.Build">
+            <summary>
+            Builds an <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> with keys and values from the set of sources registered in
+            <see cref="P:Microsoft.Extensions.Configuration.IConfigurationBuilder.Sources"/>.
+            </summary>
+            <returns>An <see cref="T:Microsoft.Extensions.Configuration.IConfigurationRoot"/> with keys and values from the registered sources.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.IConfigurationProvider">
+            <summary>
+            Provides configuration key/values for an application.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.IConfigurationProvider.TryGet(System.String,System.String@)">
+            <summary>
+            Tries to get a configuration value for the specified key.
+            </summary>
+            <param name="key">The key.</param>
+            <param name="value">The value.</param>
+            <returns><c>True</c> if a value for the specified key was found, otherwise <c>false</c>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.IConfigurationProvider.Set(System.String,System.String)">
+            <summary>
+            Sets a configuration value for the specified key.
+            </summary>
+            <param name="key">The key.</param>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.IConfigurationProvider.GetReloadToken">
+            <summary>
+            Returns a change token if this provider supports change tracking, null otherwise.
+            </summary>
+            <returns>The change token.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.IConfigurationProvider.Load">
+            <summary>
+            Loads configuration values from the source represented by this <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.IConfigurationProvider.GetChildKeys(System.Collections.Generic.IEnumerable{System.String},System.String)">
+            <summary>
+            Returns the immediate descendant configuration keys for a given parent path based on this
+            <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>s data and the set of keys returned by all the preceding
+            <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>s.
+            </summary>
+            <param name="earlierKeys">The child keys returned by the preceding providers for the same parent path.</param>
+            <param name="parentPath">The parent path.</param>
+            <returns>The child keys.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.IConfigurationRoot">
+            <summary>
+            Represents the root of an <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> hierarchy.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.IConfigurationRoot.Reload">
+            <summary>
+            Force the configuration values to be reloaded from the underlying <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>s.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.IConfigurationRoot.Providers">
+            <summary>
+            The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>s for this configuration.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.IConfigurationSection">
+            <summary>
+            Represents a section of application configuration values.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.IConfigurationSection.Key">
+            <summary>
+            Gets the key this section occupies in its parent.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.IConfigurationSection.Path">
+            <summary>
+            Gets the full path to this section within the <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.IConfigurationSection.Value">
+            <summary>
+            Gets or sets the section value.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.IConfigurationSource">
+            <summary>
+            Represents a source of configuration key/values for an application.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.IConfigurationSource.Build(Microsoft.Extensions.Configuration.IConfigurationBuilder)">
+            <summary>
+            Builds the <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/> for this source.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>.</param>
+            <returns>An <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/></returns>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.Extensions.Configuration.Binder.dll


+ 157 - 0
Work29/bin/Debug/Microsoft.Extensions.Configuration.Binder.xml

@@ -0,0 +1,157 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Extensions.Configuration.Binder</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Extensions.Configuration.BinderOptions">
+            <summary>
+            Options class used by the <see cref="T:Microsoft.Extensions.Configuration.ConfigurationBinder"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.BinderOptions.BindNonPublicProperties">
+            <summary>
+            When false (the default), the binder will only attempt to set public properties.
+            If true, the binder will attempt to set all non read-only properties.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.ConfigurationBinder">
+            <summary>
+            Static helper class that allows binding strongly typed objects to configuration values.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Get``1(Microsoft.Extensions.Configuration.IConfiguration)">
+            <summary>
+            Attempts to bind the configuration instance to a new instance of type T.
+            If this configuration section has a value, that will be used.
+            Otherwise binding by matching property names against configuration keys recursively.
+            </summary>
+            <typeparam name="T">The type of the new instance to bind.</typeparam>
+            <param name="configuration">The configuration instance to bind.</param>
+            <returns>The new instance of T if successful, default(T) otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Get``1(Microsoft.Extensions.Configuration.IConfiguration,System.Action{Microsoft.Extensions.Configuration.BinderOptions})">
+            <summary>
+            Attempts to bind the configuration instance to a new instance of type T.
+            If this configuration section has a value, that will be used.
+            Otherwise binding by matching property names against configuration keys recursively.
+            </summary>
+            <typeparam name="T">The type of the new instance to bind.</typeparam>
+            <param name="configuration">The configuration instance to bind.</param>
+            <param name="configureOptions">Configures the binder options.</param>
+            <returns>The new instance of T if successful, default(T) otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Get(Microsoft.Extensions.Configuration.IConfiguration,System.Type)">
+            <summary>
+            Attempts to bind the configuration instance to a new instance of type T.
+            If this configuration section has a value, that will be used.
+            Otherwise binding by matching property names against configuration keys recursively.
+            </summary>
+            <param name="configuration">The configuration instance to bind.</param>
+            <param name="type">The type of the new instance to bind.</param>
+            <returns>The new instance if successful, null otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Get(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.Action{Microsoft.Extensions.Configuration.BinderOptions})">
+            <summary>
+            Attempts to bind the configuration instance to a new instance of type T.
+            If this configuration section has a value, that will be used.
+            Otherwise binding by matching property names against configuration keys recursively.
+            </summary>
+            <param name="configuration">The configuration instance to bind.</param>
+            <param name="type">The type of the new instance to bind.</param>
+            <param name="configureOptions">Configures the binder options.</param>
+            <returns>The new instance if successful, null otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Bind(Microsoft.Extensions.Configuration.IConfiguration,System.String,System.Object)">
+            <summary>
+            Attempts to bind the given object instance to the configuration section specified by the key by matching property names against configuration keys recursively.
+            </summary>
+            <param name="configuration">The configuration instance to bind.</param>
+            <param name="key">The key of the configuration section to bind.</param>
+            <param name="instance">The object to bind.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Bind(Microsoft.Extensions.Configuration.IConfiguration,System.Object)">
+            <summary>
+            Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively.
+            </summary>
+            <param name="configuration">The configuration instance to bind.</param>
+            <param name="instance">The object to bind.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.Bind(Microsoft.Extensions.Configuration.IConfiguration,System.Object,System.Action{Microsoft.Extensions.Configuration.BinderOptions})">
+            <summary>
+            Attempts to bind the given object instance to configuration values by matching property names against configuration keys recursively.
+            </summary>
+            <param name="configuration">The configuration instance to bind.</param>
+            <param name="instance">The object to bind.</param>
+            <param name="configureOptions">Configures the binder options.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.GetValue``1(Microsoft.Extensions.Configuration.IConfiguration,System.String)">
+            <summary>
+            Extracts the value with the specified key and converts it to type T.
+            </summary>
+            <typeparam name="T">The type to convert the value to.</typeparam>
+            <param name="configuration">The configuration.</param>
+            <param name="key">The key of the configuration section's value to convert.</param>
+            <returns>The converted value.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.GetValue``1(Microsoft.Extensions.Configuration.IConfiguration,System.String,``0)">
+            <summary>
+            Extracts the value with the specified key and converts it to type T.
+            </summary>
+            <typeparam name="T">The type to convert the value to.</typeparam>
+            <param name="configuration">The configuration.</param>
+            <param name="key">The key of the configuration section's value to convert.</param>
+            <param name="defaultValue">The default value to use if no value is found.</param>
+            <returns>The converted value.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.GetValue(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String)">
+            <summary>
+            Extracts the value with the specified key and converts it to the specified type.
+            </summary>
+            <param name="configuration">The configuration.</param>
+            <param name="type">The type to convert the value to.</param>
+            <param name="key">The key of the configuration section's value to convert.</param>
+            <returns>The converted value.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationBinder.GetValue(Microsoft.Extensions.Configuration.IConfiguration,System.Type,System.String,System.Object)">
+            <summary>
+            Extracts the value with the specified key and converts it to the specified type.
+            </summary>
+            <param name="configuration">The configuration.</param>
+            <param name="type">The type to convert the value to.</param>
+            <param name="key">The key of the configuration section's value to convert.</param>
+            <param name="defaultValue">The default value to use if no value is found.</param>
+            <returns>The converted value.</returns>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.Binder.Resources.Error_CannotActivateAbstractOrInterface">
+            <summary>Cannot create instance of type '{0}' because it is either abstract or an interface.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.Binder.Resources.FormatError_CannotActivateAbstractOrInterface(System.Object)">
+            <summary>Cannot create instance of type '{0}' because it is either abstract or an interface.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.Binder.Resources.Error_FailedBinding">
+            <summary>Failed to convert configuration value at '{0}' to type '{1}'.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.Binder.Resources.FormatError_FailedBinding(System.Object,System.Object)">
+            <summary>Failed to convert configuration value at '{0}' to type '{1}'.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.Binder.Resources.Error_FailedToActivate">
+            <summary>Failed to create instance of type '{0}'.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.Binder.Resources.FormatError_FailedToActivate(System.Object)">
+            <summary>Failed to create instance of type '{0}'.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.Binder.Resources.Error_MissingParameterlessConstructor">
+            <summary>Cannot create instance of type '{0}' because it is missing a public parameterless constructor.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.Binder.Resources.FormatError_MissingParameterlessConstructor(System.Object)">
+            <summary>Cannot create instance of type '{0}' because it is missing a public parameterless constructor.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.Binder.Resources.Error_UnsupportedMultidimensionalArray">
+            <summary>Cannot create instance of type '{0}' because multidimensional arrays are not supported.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.Binder.Resources.FormatError_UnsupportedMultidimensionalArray(System.Object)">
+            <summary>Cannot create instance of type '{0}' because multidimensional arrays are not supported.</summary>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.Extensions.Configuration.dll


+ 480 - 0
Work29/bin/Debug/Microsoft.Extensions.Configuration.xml

@@ -0,0 +1,480 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Extensions.Configuration</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Extensions.Configuration.ChainedBuilderExtensions">
+            <summary>
+            IConfigurationBuilder extension methods for the chaind configuration provider.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ChainedBuilderExtensions.AddConfiguration(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.Configuration.IConfiguration)">
+            <summary>
+            Adds an existing configuration to <paramref name="configurationBuilder"/>.
+            </summary>
+            <param name="configurationBuilder">The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/> to add to.</param>
+            <param name="config">The <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> to add.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ChainedBuilderExtensions.AddConfiguration(Microsoft.Extensions.Configuration.IConfigurationBuilder,Microsoft.Extensions.Configuration.IConfiguration,System.Boolean)">
+            <summary>
+            Adds an existing configuration to <paramref name="configurationBuilder"/>.
+            </summary>
+            <param name="configurationBuilder">The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/> to add to.</param>
+            <param name="config">The <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> to add.</param>
+            <param name="shouldDisposeConfiguration">Whether the configuration should get disposed when the configuration provider is disposed.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.ChainedConfigurationProvider">
+            <summary>
+            Chained implementation of <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ChainedConfigurationProvider.#ctor(Microsoft.Extensions.Configuration.ChainedConfigurationSource)">
+            <summary>
+            Initialize a new instance from the source configuration.
+            </summary>
+            <param name="source">The source configuration.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ChainedConfigurationProvider.TryGet(System.String,System.String@)">
+            <summary>
+            Tries to get a configuration value for the specified key.
+            </summary>
+            <param name="key">The key.</param>
+            <param name="value">The value.</param>
+            <returns><c>True</c> if a value for the specified key was found, otherwise <c>false</c>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ChainedConfigurationProvider.Set(System.String,System.String)">
+            <summary>
+            Sets a configuration value for the specified key.
+            </summary>
+            <param name="key">The key.</param>
+            <param name="value">The value.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ChainedConfigurationProvider.GetReloadToken">
+            <summary>
+            Returns a change token if this provider supports change tracking, null otherwise.
+            </summary>
+            <returns>The change token.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ChainedConfigurationProvider.Load">
+            <summary>
+            Loads configuration values from the source represented by this <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ChainedConfigurationProvider.GetChildKeys(System.Collections.Generic.IEnumerable{System.String},System.String)">
+            <summary>
+            Returns the immediate descendant configuration keys for a given parent path based on this
+            <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>s data and the set of keys returned by all the preceding
+            <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>s.
+            </summary>
+            <param name="earlierKeys">The child keys returned by the preceding providers for the same parent path.</param>
+            <param name="parentPath">The parent path.</param>
+            <returns>The child keys.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ChainedConfigurationProvider.Dispose">
+            <inheritdoc />
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.ChainedConfigurationSource">
+            <summary>
+            Represents a chained <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> as an <see cref="T:Microsoft.Extensions.Configuration.IConfigurationSource"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.ChainedConfigurationSource.Configuration">
+            <summary>
+            The chained configuration.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.ChainedConfigurationSource.ShouldDisposeConfiguration">
+            <summary>
+            Whether the chained configuration should be disposed when the
+            configuration provider gets disposed.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ChainedConfigurationSource.Build(Microsoft.Extensions.Configuration.IConfigurationBuilder)">
+            <summary>
+            Builds the <see cref="T:Microsoft.Extensions.Configuration.ChainedConfigurationProvider"/> for this source.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>.</param>
+            <returns>A <see cref="T:Microsoft.Extensions.Configuration.ChainedConfigurationProvider"/></returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.ConfigurationBuilder">
+            <summary>
+            Used to build key/value based configuration settings for use in an application.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.ConfigurationBuilder.Sources">
+            <summary>
+            Returns the sources used to obtain configuration values.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.ConfigurationBuilder.Properties">
+            <summary>
+            Gets a key/value collection that can be used to share data between the <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>
+            and the registered <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>s.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationBuilder.Add(Microsoft.Extensions.Configuration.IConfigurationSource)">
+            <summary>
+            Adds a new configuration source.
+            </summary>
+            <param name="source">The configuration source to add.</param>
+            <returns>The same <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationBuilder.Build">
+            <summary>
+            Builds an <see cref="T:Microsoft.Extensions.Configuration.IConfiguration"/> with keys and values from the set of providers registered in
+            <see cref="P:Microsoft.Extensions.Configuration.ConfigurationBuilder.Sources"/>.
+            </summary>
+            <returns>An <see cref="T:Microsoft.Extensions.Configuration.IConfigurationRoot"/> with keys and values from the registered providers.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.ConfigurationKeyComparer">
+            <summary>
+            IComparer implementation used to order configuration keys.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.ConfigurationKeyComparer.Instance">
+            <summary>
+            The default instance.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationKeyComparer.Compare(System.String,System.String)">
+            <summary>
+            Compares two strings.
+            </summary>
+            <param name="x">First string.</param>
+            <param name="y">Second string.</param>
+            <returns>Less than 0 if x is less than y, 0 if x is equal to y and greater than 0 if x is greater than y.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.ConfigurationProvider">
+            <summary>
+            Base helper class for implementing an <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationProvider.#ctor">
+            <summary>
+            Initializes a new <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.ConfigurationProvider.Data">
+            <summary>
+            The configuration key value pairs for this provider.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationProvider.TryGet(System.String,System.String@)">
+            <summary>
+            Attempts to find a value with the given key, returns true if one is found, false otherwise.
+            </summary>
+            <param name="key">The key to lookup.</param>
+            <param name="value">The value found at key if one is found.</param>
+            <returns>True if key has a value, false otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationProvider.Set(System.String,System.String)">
+            <summary>
+            Sets a value for a given key.
+            </summary>
+            <param name="key">The configuration key to set.</param>
+            <param name="value">The value to set.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationProvider.Load">
+            <summary>
+            Loads (or reloads) the data for this provider.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationProvider.GetChildKeys(System.Collections.Generic.IEnumerable{System.String},System.String)">
+            <summary>
+            Returns the list of keys that this provider has.
+            </summary>
+            <param name="earlierKeys">The earlier keys that other providers contain.</param>
+            <param name="parentPath">The path for the parent IConfiguration.</param>
+            <returns>The list of keys for this provider.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationProvider.GetReloadToken">
+            <summary>
+            Returns a <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> that can be used to listen when this provider is reloaded.
+            </summary>
+            <returns>The <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationProvider.OnReload">
+            <summary>
+            Triggers the reload change token and creates a new one.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationProvider.ToString">
+            <summary>
+            Generates a string representing this provider name and relevant details.
+            </summary>
+            <returns> The configuration name. </returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.ConfigurationReloadToken">
+            <summary>
+            Implements <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.ConfigurationReloadToken.ActiveChangeCallbacks">
+            <summary>
+            Indicates if this token will proactively raise callbacks. Callbacks are still guaranteed to be invoked, eventually.
+            </summary>
+            <returns>True if the token will proactively raise callbacks.</returns>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.ConfigurationReloadToken.HasChanged">
+            <summary>
+            Gets a value that indicates if a change has occurred.
+            </summary>
+            <returns>True if a change has occurred.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationReloadToken.RegisterChangeCallback(System.Action{System.Object},System.Object)">
+            <summary>
+            Registers for a callback that will be invoked when the entry has changed. <see cref="P:Microsoft.Extensions.Primitives.IChangeToken.HasChanged"/>
+            MUST be set before the callback is invoked.
+            </summary>
+            <param name="callback">The callback to invoke.</param>
+            <param name="state">State to be passed into the callback.</param>
+            <returns>The <see cref="T:System.Threading.CancellationToken"/> registration.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationReloadToken.OnReload">
+            <summary>
+            Used to trigger the change token when a reload occurs.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.ConfigurationRoot">
+            <summary>
+            The root node for a configuration.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationRoot.#ctor(System.Collections.Generic.IList{Microsoft.Extensions.Configuration.IConfigurationProvider})">
+            <summary>
+            Initializes a Configuration root with a list of providers.
+            </summary>
+            <param name="providers">The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>s for this configuration.</param>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.ConfigurationRoot.Providers">
+            <summary>
+            The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>s for this configuration.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.ConfigurationRoot.Item(System.String)">
+            <summary>
+            Gets or sets the value corresponding to a configuration key.
+            </summary>
+            <param name="key">The configuration key.</param>
+            <returns>The configuration value.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationRoot.GetChildren">
+            <summary>
+            Gets the immediate children sub-sections.
+            </summary>
+            <returns>The children.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationRoot.GetReloadToken">
+            <summary>
+            Returns a <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> that can be used to observe when this configuration is reloaded.
+            </summary>
+            <returns>The <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationRoot.GetSection(System.String)">
+            <summary>
+            Gets a configuration sub-section with the specified key.
+            </summary>
+            <param name="key">The key of the configuration section.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationSection"/>.</returns>
+            <remarks>
+                This method will never return <c>null</c>. If no matching sub-section is found with the specified key,
+                an empty <see cref="T:Microsoft.Extensions.Configuration.IConfigurationSection"/> will be returned.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationRoot.Reload">
+            <summary>
+            Force the configuration values to be reloaded from the underlying sources.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationRoot.Dispose">
+            <inheritdoc />
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.ConfigurationSection">
+            <summary>
+            Represents a section of application configuration values.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationSection.#ctor(Microsoft.Extensions.Configuration.IConfigurationRoot,System.String)">
+            <summary>
+            Initializes a new instance.
+            </summary>
+            <param name="root">The configuration root.</param>
+            <param name="path">The path to this section.</param>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.ConfigurationSection.Path">
+            <summary>
+            Gets the full path to this section from the <see cref="T:Microsoft.Extensions.Configuration.IConfigurationRoot"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.ConfigurationSection.Key">
+            <summary>
+            Gets the key this section occupies in its parent.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.ConfigurationSection.Value">
+            <summary>
+            Gets or sets the section value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.ConfigurationSection.Item(System.String)">
+            <summary>
+            Gets or sets the value corresponding to a configuration key.
+            </summary>
+            <param name="key">The configuration key.</param>
+            <returns>The configuration value.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationSection.GetSection(System.String)">
+            <summary>
+            Gets a configuration sub-section with the specified key.
+            </summary>
+            <param name="key">The key of the configuration section.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationSection"/>.</returns>
+            <remarks>
+                This method will never return <c>null</c>. If no matching sub-section is found with the specified key,
+                an empty <see cref="T:Microsoft.Extensions.Configuration.IConfigurationSection"/> will be returned.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationSection.GetChildren">
+            <summary>
+            Gets the immediate descendant configuration sub-sections.
+            </summary>
+            <returns>The configuration sub-sections.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.ConfigurationSection.GetReloadToken">
+            <summary>
+            Returns a <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> that can be used to observe when this configuration is reloaded.
+            </summary>
+            <returns>The <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/>.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.InternalConfigurationRootExtensions">
+            <summary>
+            Extensions method for <see cref="T:Microsoft.Extensions.Configuration.IConfigurationRoot"/>
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.InternalConfigurationRootExtensions.GetChildrenImplementation(Microsoft.Extensions.Configuration.IConfigurationRoot,System.String)">
+            <summary>
+            Gets the immediate children sub-sections of configuration root based on key.
+            </summary>
+            <param name="root">Configuration from which to retrieve sub-sections.</param>
+            <param name="path">Key of a section of which children to retrieve.</param>
+            <returns>Immediate children sub-sections of section specified by key.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.MemoryConfigurationBuilderExtensions">
+            <summary>
+            IConfigurationBuilder extension methods for the MemoryConfigurationProvider.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.MemoryConfigurationBuilderExtensions.AddInMemoryCollection(Microsoft.Extensions.Configuration.IConfigurationBuilder)">
+            <summary>
+            Adds the memory configuration provider to <paramref name="configurationBuilder"/>.
+            </summary>
+            <param name="configurationBuilder">The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/> to add to.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.MemoryConfigurationBuilderExtensions.AddInMemoryCollection(Microsoft.Extensions.Configuration.IConfigurationBuilder,System.Collections.Generic.IEnumerable{System.Collections.Generic.KeyValuePair{System.String,System.String}})">
+            <summary>
+            Adds the memory configuration provider to <paramref name="configurationBuilder"/>.
+            </summary>
+            <param name="configurationBuilder">The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/> to add to.</param>
+            <param name="initialData">The data to add to memory configuration provider.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.Memory.MemoryConfigurationProvider">
+            <summary>
+            In-memory implementation of <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/>
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.Memory.MemoryConfigurationProvider.#ctor(Microsoft.Extensions.Configuration.Memory.MemoryConfigurationSource)">
+            <summary>
+            Initialize a new instance from the source.
+            </summary>
+            <param name="source">The source settings.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.Memory.MemoryConfigurationProvider.Add(System.String,System.String)">
+            <summary>
+            Add a new key and value pair.
+            </summary>
+            <param name="key">The configuration key.</param>
+            <param name="value">The configuration value.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.Memory.MemoryConfigurationProvider.GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through the collection.
+            </summary>
+            <returns>An enumerator that can be used to iterate through the collection.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.Memory.MemoryConfigurationProvider.System#Collections#IEnumerable#GetEnumerator">
+            <summary>
+            Returns an enumerator that iterates through the collection.
+            </summary>
+            <returns>An enumerator that can be used to iterate through the collection.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.Memory.MemoryConfigurationSource">
+            <summary>
+            Represents in-memory data as an <see cref="T:Microsoft.Extensions.Configuration.IConfigurationSource"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.Memory.MemoryConfigurationSource.InitialData">
+            <summary>
+            The initial key value configuration pairs.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.Memory.MemoryConfigurationSource.Build(Microsoft.Extensions.Configuration.IConfigurationBuilder)">
+            <summary>
+            Builds the <see cref="T:Microsoft.Extensions.Configuration.Memory.MemoryConfigurationProvider"/> for this source.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>.</param>
+            <returns>A <see cref="T:Microsoft.Extensions.Configuration.Memory.MemoryConfigurationProvider"/></returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.StreamConfigurationProvider">
+            <summary>
+            Stream based configuration provider
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.StreamConfigurationProvider.Source">
+            <summary>
+            The source settings for this provider.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.StreamConfigurationProvider.#ctor(Microsoft.Extensions.Configuration.StreamConfigurationSource)">
+            <summary>
+            Constructor.
+            </summary>
+            <param name="source">The source.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.StreamConfigurationProvider.Load(System.IO.Stream)">
+            <summary>
+            Load the configuration data from the stream.
+            </summary>
+            <param name="stream">The data stream.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.StreamConfigurationProvider.Load">
+            <summary>
+            Load the configuration data from the stream. Will throw after the first call.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Configuration.StreamConfigurationSource">
+            <summary>
+            Stream based <see cref="T:Microsoft.Extensions.Configuration.IConfigurationSource" />.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.StreamConfigurationSource.Stream">
+            <summary>
+            The stream containing the configuration data.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Configuration.StreamConfigurationSource.Build(Microsoft.Extensions.Configuration.IConfigurationBuilder)">
+            <summary>
+            Builds the <see cref="T:Microsoft.Extensions.Configuration.StreamConfigurationProvider"/> for this source.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Configuration.IConfigurationBuilder"/>.</param>
+            <returns>An <see cref="T:Microsoft.Extensions.Configuration.IConfigurationProvider"/></returns>
+        </member>
+        <member name="P:Microsoft.Extensions.Configuration.Resources.Error_NoSources">
+            <summary>A configuration source is not registered. Please register one before setting a value.</summary>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.dll


文件差异内容过多而无法显示
+ 1054 - 0
Work29/bin/Debug/Microsoft.Extensions.DependencyInjection.Abstractions.xml


二进制
Work29/bin/Debug/Microsoft.Extensions.DependencyInjection.dll


+ 251 - 0
Work29/bin/Debug/Microsoft.Extensions.DependencyInjection.xml

@@ -0,0 +1,251 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Extensions.DependencyInjection</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory">
+            <summary>
+            Default implementation of <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceProviderFactory`1"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory"/> class
+            with default options.
+            </summary>
+            <seealso cref="F:Microsoft.Extensions.DependencyInjection.ServiceProviderOptions.Default"/>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.#ctor(Microsoft.Extensions.DependencyInjection.ServiceProviderOptions)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory"/> class
+            with the specified <paramref name="options"/>.
+            </summary>
+            <param name="options">The options to use for this instance.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.CreateBuilder(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory.CreateServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
+            <inheritdoc />
+        </member>
+        <member name="T:Microsoft.Extensions.DependencyInjection.ServiceCollection">
+            <summary>
+            Default implementation of <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.ServiceCollection.Count">
+            <inheritdoc />
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.ServiceCollection.IsReadOnly">
+            <inheritdoc />
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.ServiceCollection.Item(System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.Clear">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.Contains(Microsoft.Extensions.DependencyInjection.ServiceDescriptor)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.CopyTo(Microsoft.Extensions.DependencyInjection.ServiceDescriptor[],System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.Remove(Microsoft.Extensions.DependencyInjection.ServiceDescriptor)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.GetEnumerator">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.IndexOf(Microsoft.Extensions.DependencyInjection.ServiceDescriptor)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.Insert(System.Int32,Microsoft.Extensions.DependencyInjection.ServiceDescriptor)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollection.RemoveAt(System.Int32)">
+            <inheritdoc />
+        </member>
+        <member name="T:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions">
+            <summary>
+            Extension methods for building a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/> from an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
+            <summary>
+            Creates a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/> containing services from the provided <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>.
+            </summary>
+            <param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> containing service descriptors.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Boolean)">
+            <summary>
+            Creates a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/> containing services from the provided <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>
+            optionally enabling scope validation.
+            </summary>
+            <param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> containing service descriptors.</param>
+            <param name="validateScopes">
+            <c>true</c> to perform check verifying that scoped services never gets resolved from root provider; otherwise <c>false</c>.
+            </param>
+            <returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions.BuildServiceProvider(Microsoft.Extensions.DependencyInjection.IServiceCollection,Microsoft.Extensions.DependencyInjection.ServiceProviderOptions)">
+            <summary>
+            Creates a <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/> containing services from the provided <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/>
+            optionally enabling scope validation.
+            </summary>
+            <param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> containing service descriptors.</param>
+            <param name="options">
+            Configures various service provider behaviors.
+            </param>
+            <returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.ServiceProvider"/>.</returns>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.Type">
+            <summary>
+            Type of service being cached
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.Slot">
+            <summary>
+            Reverse index of the service when resolved in <code>IEnumerable&lt;Type&gt;</code> where default instance gets slot 0.
+            For example for service collection
+             IService Impl1
+             IService Impl2
+             IService Impl3
+            We would get the following cache keys:
+             Impl1 2
+             Impl2 1
+             Impl3 0
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite">
+            <summary>
+            Summary description for IServiceCallSite
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.DependencyInjection.ServiceProvider">
+            <summary>
+            The default IServiceProvider.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.GetService(System.Type)">
+            <summary>
+            Gets the service object of the specified type.
+            </summary>
+            <param name="serviceType">The type of the service to get.</param>
+            <returns>The service that was produced.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.Dispose">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.DisposeAsync">
+            <inheritdoc/>
+        </member>
+        <member name="T:Microsoft.Extensions.DependencyInjection.ServiceProviderOptions">
+            <summary>
+            Options for configuring various behaviors of the default <see cref="T:System.IServiceProvider"/> implementation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.ServiceProviderOptions.ValidateScopes">
+            <summary>
+            <c>true</c> to perform check verifying that scoped services never gets resolved from root provider; otherwise <c>false</c>. Defaults to <c>false</c>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.ServiceProviderOptions.ValidateOnBuild">
+            <summary>
+            <c>true</c> to perform check verifying that all services can be created during <code>BuildServiceProvider</code> call; otherwise <c>false</c>. Defaults to <c>false</c>.
+            NOTE: this check doesn't verify open generics services.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.Resources.AmbiguousConstructorException">
+            <summary>Unable to activate type '{0}'. The following constructors are ambiguous:</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.Resources.FormatAmbiguousConstructorException(System.Object)">
+            <summary>Unable to activate type '{0}'. The following constructors are ambiguous:</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.Resources.CannotResolveService">
+            <summary>Unable to resolve service for type '{0}' while attempting to activate '{1}'.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.Resources.FormatCannotResolveService(System.Object,System.Object)">
+            <summary>Unable to resolve service for type '{0}' while attempting to activate '{1}'.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.Resources.CircularDependencyException">
+            <summary>A circular dependency was detected for the service of type '{0}'.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.Resources.FormatCircularDependencyException(System.Object)">
+            <summary>A circular dependency was detected for the service of type '{0}'.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.Resources.UnableToActivateTypeException">
+            <summary>No constructor for type '{0}' can be instantiated using services from the service container and default values.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.Resources.FormatUnableToActivateTypeException(System.Object)">
+            <summary>No constructor for type '{0}' can be instantiated using services from the service container and default values.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.Resources.OpenGenericServiceRequiresOpenGenericImplementation">
+            <summary>Open generic service type '{0}' requires registering an open generic implementation type.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.Resources.FormatOpenGenericServiceRequiresOpenGenericImplementation(System.Object)">
+            <summary>Open generic service type '{0}' requires registering an open generic implementation type.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.Resources.TypeCannotBeActivated">
+            <summary>Cannot instantiate implementation type '{0}' for service type '{1}'.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.Resources.FormatTypeCannotBeActivated(System.Object,System.Object)">
+            <summary>Cannot instantiate implementation type '{0}' for service type '{1}'.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.Resources.NoConstructorMatch">
+            <summary>A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.Resources.FormatNoConstructorMatch(System.Object)">
+            <summary>A suitable constructor for type '{0}' could not be located. Ensure the type is concrete and services are registered for all parameters of a public constructor.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.Resources.ScopedInSingletonException">
+            <summary>Cannot consume {2} service '{0}' from {3} '{1}'.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.Resources.FormatScopedInSingletonException(System.Object,System.Object,System.Object,System.Object)">
+            <summary>Cannot consume {2} service '{0}' from {3} '{1}'.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.Resources.ScopedResolvedFromRootException">
+            <summary>Cannot resolve '{0}' from root provider because it requires {2} service '{1}'.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.Resources.FormatScopedResolvedFromRootException(System.Object,System.Object,System.Object)">
+            <summary>Cannot resolve '{0}' from root provider because it requires {2} service '{1}'.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.Resources.DirectScopedResolvedFromRootException">
+            <summary>Cannot resolve {1} service '{0}' from root provider.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.Resources.FormatDirectScopedResolvedFromRootException(System.Object,System.Object)">
+            <summary>Cannot resolve {1} service '{0}' from root provider.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.Resources.ConstantCantBeConvertedToServiceType">
+            <summary>Constant value of type '{0}' can't be converted to service type '{1}'</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.Resources.FormatConstantCantBeConvertedToServiceType(System.Object,System.Object)">
+            <summary>Constant value of type '{0}' can't be converted to service type '{1}'</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.Resources.ImplementationTypeCantBeConvertedToServiceType">
+            <summary>Implementation type '{0}' can't be converted to service type '{1}'</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.Resources.FormatImplementationTypeCantBeConvertedToServiceType(System.Object,System.Object)">
+            <summary>Implementation type '{0}' can't be converted to service type '{1}'</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.DependencyInjection.Resources.AsyncDisposableServiceDispose">
+            <summary>'{0}' type only implements IAsyncDisposable. Use DisposeAsync to dispose the container.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.Resources.FormatAsyncDisposableServiceDispose(System.Object)">
+            <summary>'{0}' type only implements IAsyncDisposable. Use DisposeAsync to dispose the container.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Internal.TypeNameHelper.GetTypeDisplayName(System.Type,System.Boolean,System.Boolean,System.Boolean,System.Char)">
+            <summary>
+            Pretty print a type name.
+            </summary>
+            <param name="type">The <see cref="T:System.Type"/>.</param>
+            <param name="fullName"><c>true</c> to print a fully qualified name.</param>
+            <param name="includeGenericParameterNames"><c>true</c> to include generic parameter names.</param>
+            <param name="includeGenericParameters"><c>true</c> to include generic parameters.</param>
+            <param name="nestedTypeDelimiter">Character to use as a delimiter in nested type names</param>
+            <returns>The pretty printed type name.</returns>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.Extensions.Logging.Abstractions.dll


+ 838 - 0
Work29/bin/Debug/Microsoft.Extensions.Logging.Abstractions.xml

@@ -0,0 +1,838 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Extensions.Logging.Abstractions</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Extensions.Logging.EventId">
+            <summary>
+            Identifies a logging event. The primary identifier is the "Id" property, with the "Name" property providing a short description of this type of event.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.EventId.op_Implicit(System.Int32)~Microsoft.Extensions.Logging.EventId">
+            <summary>
+            Implicitly creates an EventId from the given <see cref="T:System.Int32"/>.
+            </summary>
+            <param name="i">The <see cref="T:System.Int32"/> to convert to an EventId.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.EventId.op_Equality(Microsoft.Extensions.Logging.EventId,Microsoft.Extensions.Logging.EventId)">
+            <summary>
+            Checks if two specified <see cref="T:Microsoft.Extensions.Logging.EventId"/> instances have the same value. They are equal if they have the same Id.
+            </summary>
+            <param name="left">The first <see cref="T:Microsoft.Extensions.Logging.EventId"/>.</param>
+            <param name="right">The second <see cref="T:Microsoft.Extensions.Logging.EventId"/>.</param>
+            <returns><code>true</code> if the objects are equal.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.EventId.op_Inequality(Microsoft.Extensions.Logging.EventId,Microsoft.Extensions.Logging.EventId)">
+            <summary>
+            Checks if two specified <see cref="T:Microsoft.Extensions.Logging.EventId"/> instances have different values.
+            </summary>
+            <param name="left">The first <see cref="T:Microsoft.Extensions.Logging.EventId"/>.</param>
+            <param name="right">The second <see cref="T:Microsoft.Extensions.Logging.EventId"/>.</param>
+            <returns><code>true</code> if the objects are not equal.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.EventId.#ctor(System.Int32,System.String)">
+            <summary>
+            Initializes an instance of the <see cref="T:Microsoft.Extensions.Logging.EventId"/> struct.
+            </summary>
+            <param name="id">The numeric identifier for this event.</param>
+            <param name="name">The name of this event.</param>
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.EventId.Id">
+            <summary>
+            Gets the numeric identifier for this event.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.EventId.Name">
+            <summary>
+            Gets the name of this event.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.EventId.ToString">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.EventId.Equals(Microsoft.Extensions.Logging.EventId)">
+            <summary>
+            Indicates whether the current object is equal to another object of the same type. Two events are equal if they have the same id.
+            </summary>
+            <param name="other">An object to compare with this object.</param>
+            <returns><code>true</code> if the current object is equal to the other parameter; otherwise, <code>false</code>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.EventId.Equals(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.EventId.GetHashCode">
+            <inheritdoc />
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.FormattedLogValues">
+            <summary>
+            LogValues to enable formatting options supported by <see cref="M:string.Format"/>.
+            This also enables using {NamedformatItem} in the format string.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.IExternalScopeProvider">
+            <summary>
+            Represents a storage of common scope data.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.IExternalScopeProvider.ForEachScope``1(System.Action{System.Object,``0},``0)">
+            <summary>
+            Executes callback for each currently active scope objects in order of creation.
+            All callbacks are guaranteed to be called inline from this method.
+            </summary>
+            <param name="callback">The callback to be executed for every scope object</param>
+            <param name="state">The state object to be passed into the callback</param>
+            <typeparam name="TState">The type of state to accept.</typeparam>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.IExternalScopeProvider.Push(System.Object)">
+            <summary>
+            Adds scope object to the list
+            </summary>
+            <param name="state">The scope object</param>
+            <returns>The <see cref="T:System.IDisposable"/> token that removes scope on dispose.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.ILogger">
+            <summary>
+            Represents a type used to perform logging.
+            </summary>
+            <remarks>Aggregates most logging patterns to a single method.</remarks>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.ILogger.Log``1(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,``0,System.Exception,System.Func{``0,System.Exception,System.String})">
+            <summary>
+            Writes a log entry.
+            </summary>
+            <param name="logLevel">Entry will be written on this level.</param>
+            <param name="eventId">Id of the event.</param>
+            <param name="state">The entry to be written. Can be also an object.</param>
+            <param name="exception">The exception related to this entry.</param>
+            <param name="formatter">Function to create a <see cref="T:System.String"/> message of the <paramref name="state"/> and <paramref name="exception"/>.</param>
+            <typeparam name="TState">The type of the object to be written.</typeparam>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.ILogger.IsEnabled(Microsoft.Extensions.Logging.LogLevel)">
+            <summary>
+            Checks if the given <paramref name="logLevel"/> is enabled.
+            </summary>
+            <param name="logLevel">level to be checked.</param>
+            <returns><c>true</c> if enabled.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.ILogger.BeginScope``1(``0)">
+            <summary>
+            Begins a logical operation scope.
+            </summary>
+            <param name="state">The identifier for the scope.</param>
+            <typeparam name="TState">The type of the state to begin scope for.</typeparam>
+            <returns>An <see cref="T:System.IDisposable"/> that ends the logical operation scope on dispose.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.ILoggerFactory">
+            <summary>
+            Represents a type used to configure the logging system and create instances of <see cref="T:Microsoft.Extensions.Logging.ILogger"/> from
+            the registered <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>s.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.ILoggerFactory.CreateLogger(System.String)">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instance.
+            </summary>
+            <param name="categoryName">The category name for messages produced by the logger.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILogger"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.ILoggerFactory.AddProvider(Microsoft.Extensions.Logging.ILoggerProvider)">
+            <summary>
+            Adds an <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> to the logging system.
+            </summary>
+            <param name="provider">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.</param>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.ILoggerProvider">
+            <summary>
+            Represents a type that can create instances of <see cref="T:Microsoft.Extensions.Logging.ILogger"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.ILoggerProvider.CreateLogger(System.String)">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instance.
+            </summary>
+            <param name="categoryName">The category name for messages produced by the logger.</param>
+            <returns>The instance of <see cref="T:Microsoft.Extensions.Logging.ILogger"/> that was created.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.ILogger`1">
+            <summary>
+            A generic interface for logging where the category name is derived from the specified
+            <typeparamref name="TCategoryName"/> type name.
+            Generally used to enable activation of a named <see cref="T:Microsoft.Extensions.Logging.ILogger"/> from dependency injection.
+            </summary>
+            <typeparam name="TCategoryName">The type who's name is used for the logger category name.</typeparam>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.ISupportExternalScope">
+            <summary>
+            Represents a <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> that is able to consume external scope information.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.ISupportExternalScope.SetScopeProvider(Microsoft.Extensions.Logging.IExternalScopeProvider)">
+            <summary>
+            Sets external scope information source for logger provider.
+            </summary>
+            <param name="scopeProvider">The provider of scope data.</param>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.LoggerExtensions">
+            <summary>
+            ILogger extension methods for common scenarios.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogDebug(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[])">
+            <summary>
+            Formats and writes a debug log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="eventId">The event id associated with the log.</param>
+            <param name="exception">The exception to log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogDebug(0, exception, "Error while processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogDebug(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[])">
+            <summary>
+            Formats and writes a debug log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="eventId">The event id associated with the log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogDebug(0, "Processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogDebug(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[])">
+            <summary>
+            Formats and writes a debug log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="exception">The exception to log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogDebug(exception, "Error while processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogDebug(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[])">
+            <summary>
+            Formats and writes a debug log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogDebug("Processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogTrace(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[])">
+            <summary>
+            Formats and writes a trace log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="eventId">The event id associated with the log.</param>
+            <param name="exception">The exception to log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogTrace(0, exception, "Error while processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogTrace(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[])">
+            <summary>
+            Formats and writes a trace log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="eventId">The event id associated with the log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogTrace(0, "Processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogTrace(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[])">
+            <summary>
+            Formats and writes a trace log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="exception">The exception to log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogTrace(exception, "Error while processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogTrace(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[])">
+            <summary>
+            Formats and writes a trace log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogTrace("Processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogInformation(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[])">
+            <summary>
+            Formats and writes an informational log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="eventId">The event id associated with the log.</param>
+            <param name="exception">The exception to log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogInformation(0, exception, "Error while processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogInformation(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[])">
+            <summary>
+            Formats and writes an informational log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="eventId">The event id associated with the log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogInformation(0, "Processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogInformation(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[])">
+            <summary>
+            Formats and writes an informational log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="exception">The exception to log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogInformation(exception, "Error while processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogInformation(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[])">
+            <summary>
+            Formats and writes an informational log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogInformation("Processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogWarning(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[])">
+            <summary>
+            Formats and writes a warning log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="eventId">The event id associated with the log.</param>
+            <param name="exception">The exception to log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogWarning(0, exception, "Error while processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogWarning(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[])">
+            <summary>
+            Formats and writes a warning log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="eventId">The event id associated with the log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogWarning(0, "Processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogWarning(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[])">
+            <summary>
+            Formats and writes a warning log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="exception">The exception to log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogWarning(exception, "Error while processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogWarning(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[])">
+            <summary>
+            Formats and writes a warning log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogWarning("Processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogError(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[])">
+            <summary>
+            Formats and writes an error log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="eventId">The event id associated with the log.</param>
+            <param name="exception">The exception to log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogError(0, exception, "Error while processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogError(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[])">
+            <summary>
+            Formats and writes an error log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="eventId">The event id associated with the log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogError(0, "Processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogError(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[])">
+            <summary>
+            Formats and writes an error log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="exception">The exception to log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogError(exception, "Error while processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogError(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[])">
+            <summary>
+            Formats and writes an error log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogError("Processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogCritical(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[])">
+            <summary>
+            Formats and writes a critical log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="eventId">The event id associated with the log.</param>
+            <param name="exception">The exception to log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogCritical(0, exception, "Error while processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogCritical(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.EventId,System.String,System.Object[])">
+            <summary>
+            Formats and writes a critical log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="eventId">The event id associated with the log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogCritical(0, "Processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogCritical(Microsoft.Extensions.Logging.ILogger,System.Exception,System.String,System.Object[])">
+            <summary>
+            Formats and writes a critical log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="exception">The exception to log.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogCritical(exception, "Error while processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.LogCritical(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[])">
+            <summary>
+            Formats and writes a critical log message.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="message">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <example>logger.LogCritical("Processing request from {Address}", address)</example>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.Log(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.LogLevel,System.String,System.Object[])">
+            <summary>
+            Formats and writes a log message at the specified log level.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="logLevel">Entry will be written on this level.</param>
+            <param name="message">Format string of the log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.Log(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,System.String,System.Object[])">
+            <summary>
+            Formats and writes a log message at the specified log level.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="logLevel">Entry will be written on this level.</param>
+            <param name="eventId">The event id associated with the log.</param>
+            <param name="message">Format string of the log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.Log(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.LogLevel,System.Exception,System.String,System.Object[])">
+            <summary>
+            Formats and writes a log message at the specified log level.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="logLevel">Entry will be written on this level.</param>
+            <param name="exception">The exception to log.</param>
+            <param name="message">Format string of the log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.Log(Microsoft.Extensions.Logging.ILogger,Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,System.Exception,System.String,System.Object[])">
+            <summary>
+            Formats and writes a log message at the specified log level.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to write to.</param>
+            <param name="logLevel">Entry will be written on this level.</param>
+            <param name="eventId">The event id associated with the log.</param>
+            <param name="exception">The exception to log.</param>
+            <param name="message">Format string of the log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExtensions.BeginScope(Microsoft.Extensions.Logging.ILogger,System.String,System.Object[])">
+            <summary>
+            Formats the message and creates a scope.
+            </summary>
+            <param name="logger">The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> to create the scope in.</param>
+            <param name="messageFormat">Format string of the log message in message template format. Example: <code>"User {User} logged in from {Address}"</code></param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <returns>A disposable scope object. Can be null.</returns>
+            <example>
+            using(logger.BeginScope("Processing request from {Address}", address))
+            {
+            }
+            </example>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.LoggerExternalScopeProvider">
+            <summary>
+            Default implementation of <see cref="T:Microsoft.Extensions.Logging.IExternalScopeProvider"/>
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExternalScopeProvider.#ctor">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerExternalScopeProvider"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExternalScopeProvider.ForEachScope``1(System.Action{System.Object,``0},``0)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerExternalScopeProvider.Push(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.LoggerFactoryExtensions">
+            <summary>
+            ILoggerFactory extension methods for common scenarios.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerFactoryExtensions.CreateLogger``1(Microsoft.Extensions.Logging.ILoggerFactory)">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instance using the full name of the given type.
+            </summary>
+            <param name="factory">The factory.</param>
+            <typeparam name="T">The type.</typeparam>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> that was created.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerFactoryExtensions.CreateLogger(Microsoft.Extensions.Logging.ILoggerFactory,System.Type)">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instance using the full name of the given <paramref name="type"/>.
+            </summary>
+            <param name="factory">The factory.</param>
+            <param name="type">The type.</param>
+            <return>The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> that was created.</return>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.LoggerMessage">
+            <summary>
+            Creates delegates which can be later cached to log messages in a performant way.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerMessage.DefineScope(System.String)">
+            <summary>
+            Creates a delegate which can be invoked to create a log scope.
+            </summary>
+            <param name="formatString">The named format string</param>
+            <returns>A delegate which when invoked creates a log scope.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerMessage.DefineScope``1(System.String)">
+            <summary>
+            Creates a delegate which can be invoked to create a log scope.
+            </summary>
+            <typeparam name="T1">The type of the first parameter passed to the named format string.</typeparam>
+            <param name="formatString">The named format string</param>
+            <returns>A delegate which when invoked creates a log scope.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerMessage.DefineScope``2(System.String)">
+            <summary>
+            Creates a delegate which can be invoked to create a log scope.
+            </summary>
+            <typeparam name="T1">The type of the first parameter passed to the named format string.</typeparam>
+            <typeparam name="T2">The type of the second parameter passed to the named format string.</typeparam>
+            <param name="formatString">The named format string</param>
+            <returns>A delegate which when invoked creates a log scope.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerMessage.DefineScope``3(System.String)">
+            <summary>
+            Creates a delegate which can be invoked to create a log scope.
+            </summary>
+            <typeparam name="T1">The type of the first parameter passed to the named format string.</typeparam>
+            <typeparam name="T2">The type of the second parameter passed to the named format string.</typeparam>
+            <typeparam name="T3">The type of the third parameter passed to the named format string.</typeparam>
+            <param name="formatString">The named format string</param>
+            <returns>A delegate which when invoked creates a log scope.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerMessage.Define(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,System.String)">
+            <summary>
+            Creates a delegate which can be invoked for logging a message.
+            </summary>
+            <param name="logLevel">The <see cref="T:Microsoft.Extensions.Logging.LogLevel"/></param>
+            <param name="eventId">The event id</param>
+            <param name="formatString">The named format string</param>
+            <returns>A delegate which when invoked creates a log message.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerMessage.Define``1(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,System.String)">
+            <summary>
+            Creates a delegate which can be invoked for logging a message.
+            </summary>
+            <typeparam name="T1">The type of the first parameter passed to the named format string.</typeparam>
+            <param name="logLevel">The <see cref="T:Microsoft.Extensions.Logging.LogLevel"/></param>
+            <param name="eventId">The event id</param>
+            <param name="formatString">The named format string</param>
+            <returns>A delegate which when invoked creates a log message.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerMessage.Define``2(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,System.String)">
+            <summary>
+            Creates a delegate which can be invoked for logging a message.
+            </summary>
+            <typeparam name="T1">The type of the first parameter passed to the named format string.</typeparam>
+            <typeparam name="T2">The type of the second parameter passed to the named format string.</typeparam>
+            <param name="logLevel">The <see cref="T:Microsoft.Extensions.Logging.LogLevel"/></param>
+            <param name="eventId">The event id</param>
+            <param name="formatString">The named format string</param>
+            <returns>A delegate which when invoked creates a log message.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerMessage.Define``3(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,System.String)">
+            <summary>
+            Creates a delegate which can be invoked for logging a message.
+            </summary>
+            <typeparam name="T1">The type of the first parameter passed to the named format string.</typeparam>
+            <typeparam name="T2">The type of the second parameter passed to the named format string.</typeparam>
+            <typeparam name="T3">The type of the third parameter passed to the named format string.</typeparam>
+            <param name="logLevel">The <see cref="T:Microsoft.Extensions.Logging.LogLevel"/></param>
+            <param name="eventId">The event id</param>
+            <param name="formatString">The named format string</param>
+            <returns>A delegate which when invoked creates a log message.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerMessage.Define``4(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,System.String)">
+            <summary>
+            Creates a delegate which can be invoked for logging a message.
+            </summary>
+            <typeparam name="T1">The type of the first parameter passed to the named format string.</typeparam>
+            <typeparam name="T2">The type of the second parameter passed to the named format string.</typeparam>
+            <typeparam name="T3">The type of the third parameter passed to the named format string.</typeparam>
+            <typeparam name="T4">The type of the fourth parameter passed to the named format string.</typeparam>
+            <param name="logLevel">The <see cref="T:Microsoft.Extensions.Logging.LogLevel"/></param>
+            <param name="eventId">The event id</param>
+            <param name="formatString">The named format string</param>
+            <returns>A delegate which when invoked creates a log message.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerMessage.Define``5(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,System.String)">
+            <summary>
+            Creates a delegate which can be invoked for logging a message.
+            </summary>
+            <typeparam name="T1">The type of the first parameter passed to the named format string.</typeparam>
+            <typeparam name="T2">The type of the second parameter passed to the named format string.</typeparam>
+            <typeparam name="T3">The type of the third parameter passed to the named format string.</typeparam>
+            <typeparam name="T4">The type of the fourth parameter passed to the named format string.</typeparam>
+            <typeparam name="T5">The type of the fifth parameter passed to the named format string.</typeparam>
+            <param name="logLevel">The <see cref="T:Microsoft.Extensions.Logging.LogLevel"/></param>
+            <param name="eventId">The event id</param>
+            <param name="formatString">The named format string</param>
+            <returns>A delegate which when invoked creates a log message.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerMessage.Define``6(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,System.String)">
+            <summary>
+            Creates a delegate which can be invoked for logging a message.
+            </summary>
+            <typeparam name="T1">The type of the first parameter passed to the named format string.</typeparam>
+            <typeparam name="T2">The type of the second parameter passed to the named format string.</typeparam>
+            <typeparam name="T3">The type of the third parameter passed to the named format string.</typeparam>
+            <typeparam name="T4">The type of the fourth parameter passed to the named format string.</typeparam>
+            <typeparam name="T5">The type of the fifth parameter passed to the named format string.</typeparam>
+            <typeparam name="T6">The type of the sixth parameter passed to the named format string.</typeparam>
+            <param name="logLevel">The <see cref="T:Microsoft.Extensions.Logging.LogLevel"/></param>
+            <param name="eventId">The event id</param>
+            <param name="formatString">The named format string</param>
+            <returns>A delegate which when invoked creates a log message.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.Logger`1">
+            <summary>
+            Delegates to a new <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instance using the full name of the given type, created by the
+            provided <see cref="T:Microsoft.Extensions.Logging.ILoggerFactory"/>.
+            </summary>
+            <typeparam name="T">The type.</typeparam>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Logger`1.#ctor(Microsoft.Extensions.Logging.ILoggerFactory)">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Logging.Logger`1"/>.
+            </summary>
+            <param name="factory">The factory.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Logger`1.Microsoft#Extensions#Logging#ILogger#BeginScope``1(``0)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Logger`1.Microsoft#Extensions#Logging#ILogger#IsEnabled(Microsoft.Extensions.Logging.LogLevel)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Logger`1.Microsoft#Extensions#Logging#ILogger#Log``1(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,``0,System.Exception,System.Func{``0,System.Exception,System.String})">
+            <inheritdoc />
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.LogLevel">
+            <summary>
+            Defines logging severity levels.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Logging.LogLevel.Trace">
+            <summary>
+            Logs that contain the most detailed messages. These messages may contain sensitive application data.
+            These messages are disabled by default and should never be enabled in a production environment.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Logging.LogLevel.Debug">
+            <summary>
+            Logs that are used for interactive investigation during development.  These logs should primarily contain
+            information useful for debugging and have no long-term value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Logging.LogLevel.Information">
+            <summary>
+            Logs that track the general flow of the application. These logs should have long-term value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Logging.LogLevel.Warning">
+            <summary>
+            Logs that highlight an abnormal or unexpected event in the application flow, but do not otherwise cause the
+            application execution to stop.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Logging.LogLevel.Error">
+            <summary>
+            Logs that highlight when the current flow of execution is stopped due to a failure. These should indicate a
+            failure in the current activity, not an application-wide failure.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Logging.LogLevel.Critical">
+            <summary>
+            Logs that describe an unrecoverable application or system crash, or a catastrophic failure that requires
+            immediate attention.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Logging.LogLevel.None">
+            <summary>
+            Not used for writing log messages. Specifies that a logging category should not write any messages.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.LogValuesFormatter">
+            <summary>
+            Formatter to convert the named format items like {NamedformatItem} to <see cref="M:string.Format"/> format.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.Abstractions.NullLogger">
+            <summary>
+            Minimalistic logger that does nothing.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.Abstractions.NullLogger.Instance">
+            <summary>
+            Returns the shared instance of <see cref="T:Microsoft.Extensions.Logging.Abstractions.NullLogger"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Abstractions.NullLogger.BeginScope``1(``0)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Abstractions.NullLogger.IsEnabled(Microsoft.Extensions.Logging.LogLevel)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Abstractions.NullLogger.Log``1(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,``0,System.Exception,System.Func{``0,System.Exception,System.String})">
+            <inheritdoc />
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.Abstractions.NullLoggerFactory">
+            <summary>
+            An <see cref="T:Microsoft.Extensions.Logging.ILoggerFactory"/> used to create instance of
+            <see cref="T:Microsoft.Extensions.Logging.Abstractions.NullLogger"/> that logs nothing.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Abstractions.NullLoggerFactory.#ctor">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Logging.Abstractions.NullLoggerFactory"/> instance.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Logging.Abstractions.NullLoggerFactory.Instance">
+            <summary>
+            Returns the shared instance of <see cref="T:Microsoft.Extensions.Logging.Abstractions.NullLoggerFactory"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Abstractions.NullLoggerFactory.CreateLogger(System.String)">
+            <inheritdoc />
+            <remarks>
+            This returns a <see cref="T:Microsoft.Extensions.Logging.Abstractions.NullLogger"/> instance which logs nothing.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Abstractions.NullLoggerFactory.AddProvider(Microsoft.Extensions.Logging.ILoggerProvider)">
+            <inheritdoc />
+            <remarks>
+            This method ignores the parameter and does nothing.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Abstractions.NullLoggerFactory.Dispose">
+            <inheritdoc />
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.Abstractions.NullLoggerProvider">
+            <summary>
+            Provider for the <see cref="T:Microsoft.Extensions.Logging.Abstractions.NullLogger"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.Abstractions.NullLoggerProvider.Instance">
+            <summary>
+            Returns an instance of <see cref="T:Microsoft.Extensions.Logging.Abstractions.NullLoggerProvider"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Abstractions.NullLoggerProvider.CreateLogger(System.String)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Abstractions.NullLoggerProvider.Dispose">
+            <inheritdoc />
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.Abstractions.NullLogger`1">
+            <summary>
+            Minimalistic logger that does nothing.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Logging.Abstractions.NullLogger`1.Instance">
+            <summary>
+            Returns an instance of <see cref="T:Microsoft.Extensions.Logging.Abstractions.NullLogger`1"/>.
+            </summary>
+            <returns>An instance of <see cref="T:Microsoft.Extensions.Logging.Abstractions.NullLogger`1"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Abstractions.NullLogger`1.BeginScope``1(``0)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Abstractions.NullLogger`1.Log``1(Microsoft.Extensions.Logging.LogLevel,Microsoft.Extensions.Logging.EventId,``0,System.Exception,System.Func{``0,System.Exception,System.String})">
+            <inheritdoc />
+            <remarks>
+            This method ignores the parameters and does nothing.
+            </remarks>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Abstractions.NullLogger`1.IsEnabled(Microsoft.Extensions.Logging.LogLevel)">
+            <inheritdoc />
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.Abstractions.Resource.UnexpectedNumberOfNamedParameters">
+            <summary>The format string '{0}' does not have the expected number of named parameters. Expected {1} parameter(s) but found {2} parameter(s).</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.Abstractions.Resource.FormatUnexpectedNumberOfNamedParameters(System.Object,System.Object,System.Object)">
+            <summary>The format string '{0}' does not have the expected number of named parameters. Expected {1} parameter(s) but found {2} parameter(s).</summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.NullExternalScopeProvider">
+            <summary>
+            Scope provider that does nothing.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.NullExternalScopeProvider.Instance">
+            <summary>
+            Returns a cached instance of <see cref="T:Microsoft.Extensions.Logging.NullExternalScopeProvider"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.NullExternalScopeProvider.Microsoft#Extensions#Logging#IExternalScopeProvider#ForEachScope``1(System.Action{System.Object,``0},``0)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.NullExternalScopeProvider.Microsoft#Extensions#Logging#IExternalScopeProvider#Push(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.NullScope">
+            <summary>
+            An empty scope without any logic
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.NullScope.Dispose">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Internal.TypeNameHelper.GetTypeDisplayName(System.Type,System.Boolean,System.Boolean,System.Boolean,System.Char)">
+            <summary>
+            Pretty print a type name.
+            </summary>
+            <param name="type">The <see cref="T:System.Type"/>.</param>
+            <param name="fullName"><c>true</c> to print a fully qualified name.</param>
+            <param name="includeGenericParameterNames"><c>true</c> to include generic parameter names.</param>
+            <param name="includeGenericParameters"><c>true</c> to include generic parameters.</param>
+            <param name="nestedTypeDelimiter">Character to use as a delimiter in nested type names</param>
+            <returns>The pretty printed type name.</returns>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.Extensions.Logging.dll


+ 392 - 0
Work29/bin/Debug/Microsoft.Extensions.Logging.xml

@@ -0,0 +1,392 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Extensions.Logging</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions">
+            <summary>
+            Extension methods for setting up logging services in an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func{System.String,System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
+            <summary>
+            Adds a log filter to the factory.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="filter">The filter to be added.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func{System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
+            <summary>
+            Adds a log filter to the factory.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="categoryLevelFilter">The filter to be added.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func{System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
+            <summary>
+            Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="categoryLevelFilter">The filter to be added.</param>
+            <typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
+            <summary>
+            Adds a log filter to the factory.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="levelFilter">The filter to be added.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.ILoggingBuilder,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
+            <summary>
+            Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="levelFilter">The filter to be added.</param>
+            <typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel)">
+            <summary>
+            Adds a log filter to the factory.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="category">The category to filter.</param>
+            <param name="level">The level to filter.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,Microsoft.Extensions.Logging.LogLevel)">
+            <summary>
+            Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="category">The category to filter.</param>
+            <param name="level">The level to filter.</param>
+            <typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
+            <summary>
+            Adds a log filter to the factory.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="category">The category to filter.</param>
+            <param name="levelFilter">The filter function to apply.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.ILoggingBuilder,System.String,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
+            <summary>
+            Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="category">The category to filter.</param>
+            <param name="levelFilter">The filter function to apply.</param>
+            <typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func{System.String,System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
+            <summary>
+            Adds a log filter to the factory.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="filter">The filter function to apply.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func{System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
+            <summary>
+            Adds a log filter to the factory.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="categoryLevelFilter">The filter function to apply.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func{System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
+            <summary>
+            Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="categoryLevelFilter">The filter function to apply.</param>
+            <typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
+            <summary>
+            Adds a log filter to the factory.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="levelFilter">The filter function to apply.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.LoggerFilterOptions,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
+            <summary>
+            Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="levelFilter">The filter function to apply.</param>
+            <typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel)">
+            <summary>
+            Adds a log filter to the factory.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="category">The category to filter.</param>
+            <param name="level">The level to filter.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,Microsoft.Extensions.Logging.LogLevel)">
+            <summary>
+            Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="category">The category to filter.</param>
+            <param name="level">The level to filter.</param>
+            <typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
+            <summary>
+            Adds a log filter to the factory.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="category">The category to filter.</param>
+            <param name="levelFilter">The filter function to apply.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.FilterLoggingBuilderExtensions.AddFilter``1(Microsoft.Extensions.Logging.LoggerFilterOptions,System.String,System.Func{Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
+            <summary>
+            Adds a log filter for the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add the filter to.</param>
+            <param name="category">The category to filter.</param>
+            <param name="levelFilter">The filter function to apply.</param>
+            <typeparam name="T">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> which this filter will be added for.</typeparam>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.ILoggingBuilder">
+            <summary>
+            An interface for configuring logging providers.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.ILoggingBuilder.Services">
+            <summary>
+            Gets the <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> where Logging services are configured.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.LoggerFactory">
+            <summary>
+            Produces instances of <see cref="T:Microsoft.Extensions.Logging.ILogger"/> classes based on the given providers.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerFactory.#ctor">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactory"/> instance.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerFactory.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider})">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactory"/> instance.
+            </summary>
+            <param name="providers">The providers to use in producing <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instances.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerFactory.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider},Microsoft.Extensions.Logging.LoggerFilterOptions)">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactory"/> instance.
+            </summary>
+            <param name="providers">The providers to use in producing <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instances.</param>
+            <param name="filterOptions">The filter options to use.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerFactory.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider},Microsoft.Extensions.Options.IOptionsMonitor{Microsoft.Extensions.Logging.LoggerFilterOptions})">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactory"/> instance.
+            </summary>
+            <param name="providers">The providers to use in producing <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instances.</param>
+            <param name="filterOption">The filter option to use.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerFactory.Create(System.Action{Microsoft.Extensions.Logging.ILoggingBuilder})">
+            <summary>
+            Creates new instance of <see cref="T:Microsoft.Extensions.Logging.ILoggerFactory"/> configured using provided <paramref name="configure"/> delegate.
+            </summary>
+            <param name="configure">A delegate to configure the <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/>.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggerFactory"/> that was created.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerFactory.CreateLogger(System.String)">
+            <summary>
+            Creates an <see cref="T:Microsoft.Extensions.Logging.ILogger"/> with the given <paramref name="categoryName"/>.
+            </summary>
+            <param name="categoryName">The category name for messages produced by the logger.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILogger"/> that was created.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerFactory.AddProvider(Microsoft.Extensions.Logging.ILoggerProvider)">
+            <summary>
+            Adds the given provider to those used in creating <see cref="T:Microsoft.Extensions.Logging.ILogger"/> instances.
+            </summary>
+            <param name="provider">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> to add.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerFactory.CheckDisposed">
+            <summary>
+            Check if the factory has been disposed.
+            </summary>
+            <returns>True when <see cref="M:Microsoft.Extensions.Logging.LoggerFactory.Dispose"/> as been called</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerFactory.Dispose">
+            <inheritdoc/>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.LoggerFilterOptions">
+            <summary>
+            The options for a LoggerFilter.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerFilterOptions.#ctor">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.LoggerFilterOptions.CaptureScopes">
+            <summary>
+            Gets or sets value indicating whether logging scopes are being captured. Defaults to <c>true</c>
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.LoggerFilterOptions.MinLevel">
+            <summary>
+            Gets or sets the minimum level of log messages if none of the rules match.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.LoggerFilterOptions.Rules">
+            <summary>
+            Gets the collection of <see cref="T:Microsoft.Extensions.Logging.LoggerFilterRule"/> used for filtering log messages.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.LoggerFilterRule">
+            <summary>
+            Defines a rule used to filter log messages
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerFilterRule.#ctor(System.String,System.String,System.Nullable{Microsoft.Extensions.Logging.LogLevel},System.Func{System.String,System.String,Microsoft.Extensions.Logging.LogLevel,System.Boolean})">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFilterRule"/> instance.
+            </summary>
+            <param name="providerName">The provider name to use in this filter rule.</param>
+            <param name="categoryName">The category name to use in this filter rule.</param>
+            <param name="logLevel">The <see cref="P:Microsoft.Extensions.Logging.LoggerFilterRule.LogLevel"/> to use in this filter rule.</param>
+            <param name="filter">The filter to apply.</param>
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.LoggerFilterRule.ProviderName">
+            <summary>
+            Gets the logger provider type or alias this rule applies to.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.LoggerFilterRule.CategoryName">
+            <summary>
+            Gets the logger category this rule applies to.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.LoggerFilterRule.LogLevel">
+            <summary>
+            Gets the minimum <see cref="P:Microsoft.Extensions.Logging.LoggerFilterRule.LogLevel"/> of messages.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.LoggerFilterRule.Filter">
+            <summary>
+            Gets the filter delegate that would be applied to messages that passed the <see cref="P:Microsoft.Extensions.Logging.LoggerFilterRule.LogLevel"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggerFilterRule.ToString">
+            <inheritdoc/>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.LoggingBuilderExtensions">
+            <summary>
+            Extension methods for setting up logging services in an <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder" />.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.SetMinimumLevel(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.LogLevel)">
+            <summary>
+            Sets a minimum <see cref="T:Microsoft.Extensions.Logging.LogLevel"/> requirement for log messages to be logged.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to set the minimum level on.</param>
+            <param name="level">The <see cref="T:Microsoft.Extensions.Logging.LogLevel"/> to set as the minimum.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.AddProvider(Microsoft.Extensions.Logging.ILoggingBuilder,Microsoft.Extensions.Logging.ILoggerProvider)">
+            <summary>
+            Adds the given <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> to the <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/>
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to add to the <paramref name="provider"/>.</param>
+            <param name="provider">The <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> to add to the <paramref name="builder"/>.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.ClearProviders(Microsoft.Extensions.Logging.ILoggingBuilder)">
+            <summary>
+            Removes all <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>s from <paramref name="builder"/>.
+            </summary>
+            <param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to remove <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/>s from.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.ProviderAliasAttribute">
+            <summary>
+            Defines alias for <see cref="T:Microsoft.Extensions.Logging.ILoggerProvider"/> implementation to be used in filtering rules.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.ProviderAliasAttribute.#ctor(System.String)">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Logging.ProviderAliasAttribute"/> instance.
+            </summary>
+            <param name="alias">The alias to set.</param>
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.ProviderAliasAttribute.Alias">
+            <summary>
+            The alias of the provider.
+            </summary>
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.NullExternalScopeProvider">
+            <summary>
+            Scope provider that does nothing.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Logging.NullExternalScopeProvider.Instance">
+            <summary>
+            Returns a cached instance of <see cref="T:Microsoft.Extensions.Logging.NullExternalScopeProvider"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.NullExternalScopeProvider.Microsoft#Extensions#Logging#IExternalScopeProvider#ForEachScope``1(System.Action{System.Object,``0},``0)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.NullExternalScopeProvider.Microsoft#Extensions#Logging#IExternalScopeProvider#Push(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="T:Microsoft.Extensions.Logging.NullScope">
+            <summary>
+            An empty scope without any logic
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Logging.NullScope.Dispose">
+            <inheritdoc />
+        </member>
+        <member name="T:Microsoft.Extensions.DependencyInjection.LoggingServiceCollectionExtensions">
+            <summary>
+            Extension methods for setting up logging services in an <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.LoggingServiceCollectionExtensions.AddLogging(Microsoft.Extensions.DependencyInjection.IServiceCollection)">
+            <summary>
+            Adds logging services to the specified <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
+            </summary>
+            <param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.DependencyInjection.LoggingServiceCollectionExtensions.AddLogging(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{Microsoft.Extensions.Logging.ILoggingBuilder})">
+            <summary>
+            Adds logging services to the specified <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" />.
+            </summary>
+            <param name="services">The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection" /> to add services to.</param>
+            <param name="configure">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> configuration delegate.</param>
+            <returns>The <see cref="T:Microsoft.Extensions.DependencyInjection.IServiceCollection"/> so that additional calls can be chained.</returns>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.Extensions.Options.dll


文件差异内容过多而无法显示
+ 1820 - 0
Work29/bin/Debug/Microsoft.Extensions.Options.xml


二进制
Work29/bin/Debug/Microsoft.Extensions.Primitives.dll


+ 524 - 0
Work29/bin/Debug/Microsoft.Extensions.Primitives.xml

@@ -0,0 +1,524 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.Extensions.Primitives</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.Extensions.Primitives.CancellationChangeToken">
+            <summary>
+            A <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> implementation using <see cref="T:System.Threading.CancellationToken"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.CancellationChangeToken.#ctor(System.Threading.CancellationToken)">
+            <summary>
+            Initializes a new instance of <see cref="T:Microsoft.Extensions.Primitives.CancellationChangeToken"/>.
+            </summary>
+            <param name="cancellationToken">The <see cref="T:System.Threading.CancellationToken"/>.</param>
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.CancellationChangeToken.ActiveChangeCallbacks">
+            <inheritdoc />
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.CancellationChangeToken.HasChanged">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.CancellationChangeToken.RegisterChangeCallback(System.Action{System.Object},System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="T:Microsoft.Extensions.Primitives.ChangeToken">
+            <summary>
+            Propagates notifications that a change has occurred.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.ChangeToken.OnChange(System.Func{Microsoft.Extensions.Primitives.IChangeToken},System.Action)">
+            <summary>
+            Registers the <paramref name="changeTokenConsumer"/> action to be called whenever the token produced changes.
+            </summary>
+            <param name="changeTokenProducer">Produces the change token.</param>
+            <param name="changeTokenConsumer">Action called when the token changes.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.ChangeToken.OnChange``1(System.Func{Microsoft.Extensions.Primitives.IChangeToken},System.Action{``0},``0)">
+            <summary>
+            Registers the <paramref name="changeTokenConsumer"/> action to be called whenever the token produced changes.
+            </summary>
+            <param name="changeTokenProducer">Produces the change token.</param>
+            <param name="changeTokenConsumer">Action called when the token changes.</param>
+            <param name="state">state for the consumer.</param>
+            <returns></returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Primitives.CompositeChangeToken">
+            <summary>
+            An <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> which represents one or more <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> instances.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.CompositeChangeToken.#ctor(System.Collections.Generic.IReadOnlyList{Microsoft.Extensions.Primitives.IChangeToken})">
+            <summary>
+            Creates a new instance of <see cref="T:Microsoft.Extensions.Primitives.CompositeChangeToken"/>.
+            </summary>
+            <param name="changeTokens">The list of <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> to compose.</param>
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.CompositeChangeToken.ChangeTokens">
+            <summary>
+            Returns the list of <see cref="T:Microsoft.Extensions.Primitives.IChangeToken"/> which compose the current <see cref="T:Microsoft.Extensions.Primitives.CompositeChangeToken"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.CompositeChangeToken.RegisterChangeCallback(System.Action{System.Object},System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.CompositeChangeToken.HasChanged">
+            <inheritdoc />
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.CompositeChangeToken.ActiveChangeCallbacks">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.Extensions.Append(System.Text.StringBuilder,Microsoft.Extensions.Primitives.StringSegment)">
+            <summary>
+            Add the given <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> to the <see cref="T:System.Text.StringBuilder"/>.
+            </summary>
+            <param name="builder">The <see cref="T:System.Text.StringBuilder"/> to add to.</param>
+            <param name="segment">The <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> to add.</param>
+            <returns>The original <see cref="T:System.Text.StringBuilder"/>.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Primitives.IChangeToken">
+            <summary>
+            Propagates notifications that a change has occurred.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.IChangeToken.HasChanged">
+            <summary>
+            Gets a value that indicates if a change has occurred.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.IChangeToken.ActiveChangeCallbacks">
+            <summary>
+            Indicates if this token will pro-actively raise callbacks. If <c>false</c>, the token consumer must
+            poll <see cref="P:Microsoft.Extensions.Primitives.IChangeToken.HasChanged" /> to detect changes.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.IChangeToken.RegisterChangeCallback(System.Action{System.Object},System.Object)">
+            <summary>
+            Registers for a callback that will be invoked when the entry has changed.
+            <see cref="P:Microsoft.Extensions.Primitives.IChangeToken.HasChanged"/> MUST be set before the callback is invoked.
+            </summary>
+            <param name="callback">The <see cref="T:System.Action`1"/> to invoke.</param>
+            <param name="state">State to be passed into the callback.</param>
+            <returns>An <see cref="T:System.IDisposable"/> that is used to unregister the callback.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Primitives.StringSegment">
+            <summary>
+            An optimized representation of a substring.
+            </summary>
+        </member>
+        <member name="F:Microsoft.Extensions.Primitives.StringSegment.Empty">
+            <summary>
+            A <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> for <see cref="F:System.String.Empty"/>.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.#ctor(System.String)">
+            <summary>
+            Initializes an instance of the <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> struct.
+            </summary>
+            <param name="buffer">
+            The original <see cref="T:System.String"/>. The <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> includes the whole <see cref="T:System.String"/>.
+            </param>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.#ctor(System.String,System.Int32,System.Int32)">
+            <summary>
+            Initializes an instance of the <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> struct.
+            </summary>
+            <param name="buffer">The original <see cref="T:System.String"/> used as buffer.</param>
+            <param name="offset">The offset of the segment within the <paramref name="buffer"/>.</param>
+            <param name="length">The length of the segment.</param>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="buffer"/> is <code>null</code>.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="offset"/> or <paramref name="length"/> is less than zero, or <paramref name="offset"/> +
+            <paramref name="length"/> is greater than the number of characters in <paramref name="buffer"/>.
+            </exception>
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.StringSegment.Buffer">
+            <summary>
+            Gets the <see cref="T:System.String"/> buffer for this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.StringSegment.Offset">
+            <summary>
+            Gets the offset within the buffer for this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.StringSegment.Length">
+            <summary>
+            Gets the length of this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.StringSegment.Value">
+            <summary>
+            Gets the value of this segment as a <see cref="T:System.String"/>.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.StringSegment.HasValue">
+            <summary>
+            Gets whether this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> contains a valid value.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.StringSegment.Item(System.Int32)">
+            <summary>
+            Gets the <see cref="T:System.Char"/> at a specified position in the current <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            </summary>
+            <param name="index">The offset into the <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/></param>
+            <returns>The <see cref="T:System.Char"/> at a specified position.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="index"/> is greater than or equal to <see cref="P:Microsoft.Extensions.Primitives.StringSegment.Length"/> or less than zero.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.AsSpan">
+            <summary>
+            Gets a <see cref="T:System.ReadOnlySpan`1"/> from the current <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            </summary>
+            <returns>The <see cref="T:System.ReadOnlySpan`1"/> from this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.AsMemory">
+            <summary>
+            Gets a <see cref="T:System.ReadOnlyMemory`1"/> from the current <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            </summary>
+            <returns>The <see cref="T:System.ReadOnlyMemory`1"/> from this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.Compare(Microsoft.Extensions.Primitives.StringSegment,Microsoft.Extensions.Primitives.StringSegment,System.StringComparison)">
+            <summary>
+            Compares substrings of two specified <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> objects using the specified rules,
+            and returns an integer that indicates their relative position in the sort order.
+            </summary>
+            <param name="a">The first <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> to compare.</param>
+            <param name="b">The second <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> to compare.</param>
+            <param name="comparisonType">One of the enumeration values that specifies the rules for the comparison.</param>
+            <returns>
+            A 32-bit signed integer indicating the lexical relationship between the two comparands.
+            The value is negative if <paramref name="a"/> is less than <paramref name="b"/>, 0 if the two comparands are equal,
+            and positive if <paramref name="a"/> is greater than <paramref name="b"/>.
+            </returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.Equals(System.Object)">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.Equals(Microsoft.Extensions.Primitives.StringSegment)">
+            <summary>
+            Indicates whether the current object is equal to another object of the same type.
+            </summary>
+            <param name="other">An object to compare with this object.</param>
+            <returns><code>true</code> if the current object is equal to the other parameter; otherwise, <code>false</code>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.Equals(Microsoft.Extensions.Primitives.StringSegment,System.StringComparison)">
+            <summary>
+            Indicates whether the current object is equal to another object of the same type.
+            </summary>
+            <param name="other">An object to compare with this object.</param>
+            <param name="comparisonType">One of the enumeration values that specifies the rules to use in the comparison.</param>
+            <returns><code>true</code> if the current object is equal to the other parameter; otherwise, <code>false</code>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.Equals(Microsoft.Extensions.Primitives.StringSegment,Microsoft.Extensions.Primitives.StringSegment,System.StringComparison)">
+            <summary>
+            Determines whether two specified <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> objects have the same value. A parameter specifies the culture, case, and
+            sort rules used in the comparison.
+            </summary>
+            <param name="a">The first <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> to compare.</param>
+            <param name="b">The second <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> to compare.</param>
+            <param name="comparisonType">One of the enumeration values that specifies the rules for the comparison.</param>
+            <returns><code>true</code> if the objects are equal; otherwise, <code>false</code>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.Equals(System.String)">
+            <summary>
+            Checks if the specified <see cref="T:System.String"/> is equal to the current <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            </summary>
+            <param name="text">The <see cref="T:System.String"/> to compare with the current <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.</param>
+            <returns><code>true</code> if the specified <see cref="T:System.String"/> is equal to the current <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>; otherwise, <code>false</code>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.Equals(System.String,System.StringComparison)">
+            <summary>
+            Checks if the specified <see cref="T:System.String"/> is equal to the current <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            </summary>
+            <param name="text">The <see cref="T:System.String"/> to compare with the current <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.</param>
+            <param name="comparisonType">One of the enumeration values that specifies the rules to use in the comparison.</param>
+            <returns><code>true</code> if the specified <see cref="T:System.String"/> is equal to the current <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>; otherwise, <code>false</code>.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="text"/> is <code>null</code>.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.GetHashCode">
+            <inheritdoc />
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.op_Equality(Microsoft.Extensions.Primitives.StringSegment,Microsoft.Extensions.Primitives.StringSegment)">
+            <summary>
+            Checks if two specified <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> have the same value.
+            </summary>
+            <param name="left">The first <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> to compare, or <code>null</code>.</param>
+            <param name="right">The second <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> to compare, or <code>null</code>.</param>
+            <returns><code>true</code> if the value of <paramref name="left"/> is the same as the value of <paramref name="right"/>; otherwise, <code>false</code>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.op_Inequality(Microsoft.Extensions.Primitives.StringSegment,Microsoft.Extensions.Primitives.StringSegment)">
+            <summary>
+            Checks if two specified <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> have different values.
+            </summary>
+            <param name="left">The first <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> to compare, or <code>null</code>.</param>
+            <param name="right">The second <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> to compare, or <code>null</code>.</param>
+            <returns><code>true</code> if the value of <paramref name="left"/> is different from the value of <paramref name="right"/>; otherwise, <code>false</code>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.op_Implicit(System.String)~Microsoft.Extensions.Primitives.StringSegment">
+            <summary>
+            Creates a new <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> from the given <see cref="T:System.String"/>.
+            </summary>
+            <param name="value">The <see cref="T:System.String"/> to convert to a <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/></param>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.op_Implicit(Microsoft.Extensions.Primitives.StringSegment)~System.ReadOnlySpan{System.Char}">
+            <summary>
+            Creates a see <see cref="T:System.ReadOnlySpan`1"/> from the given <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            </summary>
+            <param name="segment">The <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> to convert to a <see cref="T:System.ReadOnlySpan`1"/>.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.op_Implicit(Microsoft.Extensions.Primitives.StringSegment)~System.ReadOnlyMemory{System.Char}">
+            <summary>
+            Creates a see <see cref="T:System.ReadOnlyMemory`1"/> from the given <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            </summary>
+            <param name="segment">The <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> to convert to a <see cref="T:System.ReadOnlyMemory`1"/>.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.StartsWith(System.String,System.StringComparison)">
+            <summary>
+            Checks if the beginning of this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> matches the specified <see cref="T:System.String"/> when compared using the specified <paramref name="comparisonType"/>.
+            </summary>
+            <param name="text">The <see cref="T:System.String"/>to compare.</param>
+            <param name="comparisonType">One of the enumeration values that specifies the rules to use in the comparison.</param>
+            <returns><code>true</code> if <paramref name="text"/> matches the beginning of this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>; otherwise, <code>false</code>.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="text"/> is <code>null</code>.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.EndsWith(System.String,System.StringComparison)">
+            <summary>
+            Checks if the end of this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> matches the specified <see cref="T:System.String"/> when compared using the specified <paramref name="comparisonType"/>.
+            </summary>
+            <param name="text">The <see cref="T:System.String"/>to compare.</param>
+            <param name="comparisonType">One of the enumeration values that specifies the rules to use in the comparison.</param>
+            <returns><code>true</code> if <paramref name="text"/> matches the end of this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>; otherwise, <code>false</code>.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="text"/> is <code>null</code>.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.Substring(System.Int32)">
+            <summary>
+            Retrieves a substring from this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            The substring starts at the position specified by <paramref name="offset"/> and has the remaining length.
+            </summary>
+            <param name="offset">The zero-based starting character position of a substring in this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.</param>
+            <returns>A <see cref="T:System.String"/> that is equivalent to the substring of remaining length that begins at
+            <paramref name="offset"/> in this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/></returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="offset"/> is greater than or equal to <see cref="P:Microsoft.Extensions.Primitives.StringSegment.Length"/> or less than zero.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.Substring(System.Int32,System.Int32)">
+            <summary>
+            Retrieves a substring from this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            The substring starts at the position specified by <paramref name="offset"/> and has the specified <paramref name="length"/>.
+            </summary>
+            <param name="offset">The zero-based starting character position of a substring in this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.</param>
+            <param name="length">The number of characters in the substring.</param>
+            <returns>A <see cref="T:System.String"/> that is equivalent to the substring of length <paramref name="length"/> that begins at
+            <paramref name="offset"/> in this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/></returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="offset"/> or <paramref name="length"/> is less than zero, or <paramref name="offset"/> + <paramref name="length"/> is
+            greater than <see cref="P:Microsoft.Extensions.Primitives.StringSegment.Length"/>.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.Subsegment(System.Int32)">
+            <summary>
+            Retrieves a <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> that represents a substring from this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            The <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> starts at the position specified by <paramref name="offset"/>.
+            </summary>
+            <param name="offset">The zero-based starting character position of a substring in this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.</param>
+            <returns>A <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> that begins at <paramref name="offset"/> in this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>
+            whose length is the remainder.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="offset"/> is greater than or equal to <see cref="P:Microsoft.Extensions.Primitives.StringSegment.Length"/> or less than zero.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.Subsegment(System.Int32,System.Int32)">
+            <summary>
+            Retrieves a <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> that represents a substring from this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            The <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> starts at the position specified by <paramref name="offset"/> and has the specified <paramref name="length"/>.
+            </summary>
+            <param name="offset">The zero-based starting character position of a substring in this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.</param>
+            <param name="length">The number of characters in the substring.</param>
+            <returns>A <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> that is equivalent to the substring of length <paramref name="length"/> that begins at <paramref name="offset"/> in this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/></returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="offset"/> or <paramref name="length"/> is less than zero, or <paramref name="offset"/> + <paramref name="length"/> is
+            greater than <see cref="P:Microsoft.Extensions.Primitives.StringSegment.Length"/>.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.IndexOf(System.Char,System.Int32,System.Int32)">
+            <summary>
+            Gets the zero-based index of the first occurrence of the character <paramref name="c"/> in this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            The search starts at <paramref name="start"/> and examines a specified number of <paramref name="count"/> character positions.
+            </summary>
+            <param name="c">The Unicode character to seek.</param>
+            <param name="start">The zero-based index position at which the search starts. </param>
+            <param name="count">The number of characters to examine.</param>
+            <returns>The zero-based index position of <paramref name="c"/> from the beginning of the <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> if that character is found, or -1 if it is not.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="start"/> or <paramref name="count"/> is less than zero, or <paramref name="start"/> + <paramref name="count"/> is
+            greater than <see cref="P:Microsoft.Extensions.Primitives.StringSegment.Length"/>.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.IndexOf(System.Char,System.Int32)">
+            <summary>
+            Gets the zero-based index of the first occurrence of the character <paramref name="c"/> in this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            The search starts at <paramref name="start"/>.
+            </summary>
+            <param name="c">The Unicode character to seek.</param>
+            <param name="start">The zero-based index position at which the search starts. </param>
+            <returns>The zero-based index position of <paramref name="c"/> from the beginning of the <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> if that character is found, or -1 if it is not.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="start"/> is greater than or equal to <see cref="P:Microsoft.Extensions.Primitives.StringSegment.Length"/> or less than zero.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.IndexOf(System.Char)">
+            <summary>
+            Gets the zero-based index of the first occurrence of the character <paramref name="c"/> in this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.
+            </summary>
+            <param name="c">The Unicode character to seek.</param>
+            <returns>The zero-based index position of <paramref name="c"/> from the beginning of the <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> if that character is found, or -1 if it is not.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.IndexOfAny(System.Char[],System.Int32,System.Int32)">
+            <summary>
+            Reports the zero-based index of the first occurrence in this instance of any character in a specified array
+            of Unicode characters. The search starts at a specified character position and examines a specified number
+            of character positions.
+            </summary>
+            <param name="anyOf">A Unicode character array containing one or more characters to seek.</param>
+            <param name="startIndex">The search starting position.</param>
+            <param name="count">The number of character positions to examine.</param>
+            <returns>The zero-based index position of the first occurrence in this instance where any character in <paramref name="anyOf"/>
+            was found; -1 if no character in <paramref name="anyOf"/> was found.</returns>
+            <exception cref="T:System.ArgumentNullException">
+            <paramref name="anyOf"/> is <code>null</code>.
+            </exception>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="startIndex"/> or <paramref name="count"/> is less than zero, or <paramref name="startIndex"/> + <paramref name="count"/> is
+            greater than <see cref="P:Microsoft.Extensions.Primitives.StringSegment.Length"/>.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.IndexOfAny(System.Char[],System.Int32)">
+            <summary>
+            Reports the zero-based index of the first occurrence in this instance of any character in a specified array
+            of Unicode characters. The search starts at a specified character position.
+            </summary>
+            <param name="anyOf">A Unicode character array containing one or more characters to seek.</param>
+            <param name="startIndex">The search starting position.</param>
+            <returns>The zero-based index position of the first occurrence in this instance where any character in <paramref name="anyOf"/>
+            was found; -1 if no character in <paramref name="anyOf"/> was found.</returns>
+            <exception cref="T:System.ArgumentOutOfRangeException">
+            <paramref name="startIndex"/> is greater than or equal to <see cref="P:Microsoft.Extensions.Primitives.StringSegment.Length"/> or less than zero.
+            </exception>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.IndexOfAny(System.Char[])">
+            <summary>
+            Reports the zero-based index of the first occurrence in this instance of any character in a specified array
+            of Unicode characters.
+            </summary>
+            <param name="anyOf">A Unicode character array containing one or more characters to seek.</param>
+            <returns>The zero-based index position of the first occurrence in this instance where any character in <paramref name="anyOf"/>
+            was found; -1 if no character in <paramref name="anyOf"/> was found.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.LastIndexOf(System.Char)">
+            <summary>
+            Reports the zero-based index position of the last occurrence of a specified Unicode character within this instance.
+            </summary>
+            <param name="value">The Unicode character to seek.</param>
+            <returns>The zero-based index position of value if that character is found, or -1 if it is not.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.Trim">
+            <summary>
+            Removes all leading and trailing whitespaces.
+            </summary>
+            <returns>The trimmed <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.TrimStart">
+            <summary>
+            Removes all leading whitespaces.
+            </summary>
+            <returns>The trimmed <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.TrimEnd">
+            <summary>
+            Removes all trailing whitespaces.
+            </summary>
+            <returns>The trimmed <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.Split(System.Char[])">
+            <summary>
+            Splits a string into <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>s that are based on the characters in an array.
+            </summary>
+            <param name="chars">A character array that delimits the substrings in this string, an empty array that
+            contains no delimiters, or null.</param>
+            <returns>An <see cref="T:Microsoft.Extensions.Primitives.StringTokenizer"/> whose elements contain the <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>s from this instance
+            that are delimited by one or more characters in <paramref name="chars"/>.</returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.IsNullOrEmpty(Microsoft.Extensions.Primitives.StringSegment)">
+            <summary>
+            Indicates whether the specified <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> is null or an Empty string.
+            </summary>
+            <param name="value">The <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> to test.</param>
+            <returns></returns>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringSegment.ToString">
+            <summary>
+            Returns the <see cref="T:System.String"/> represented by this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> or <code>String.Empty</code> if the <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> does not contain a value.
+            </summary>
+            <returns>The <see cref="T:System.String"/> represented by this <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> or <code>String.Empty</code> if the <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> does not contain a value.</returns>
+        </member>
+        <member name="T:Microsoft.Extensions.Primitives.StringTokenizer">
+            <summary>
+            Tokenizes a <see cref="T:System.String"/> into <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/>s.
+            </summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringTokenizer.#ctor(System.String,System.Char[])">
+            <summary>
+            Initializes a new instance of <see cref="T:Microsoft.Extensions.Primitives.StringTokenizer"/>.
+            </summary>
+            <param name="value">The <see cref="T:System.String"/> to tokenize.</param>
+            <param name="separators">The characters to tokenize by.</param>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.StringTokenizer.#ctor(Microsoft.Extensions.Primitives.StringSegment,System.Char[])">
+            <summary>
+            Initializes a new instance of <see cref="T:Microsoft.Extensions.Primitives.StringTokenizer"/>.
+            </summary>
+            <param name="value">The <see cref="T:Microsoft.Extensions.Primitives.StringSegment"/> to tokenize.</param>
+            <param name="separators">The characters to tokenize by.</param>
+        </member>
+        <member name="T:Microsoft.Extensions.Primitives.StringValues">
+            <summary>
+            Represents zero/null, one, or many strings in an efficient way.
+            </summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.Resources.Argument_InvalidOffsetLength">
+            <summary>Offset and length are out of bounds for the string or length is greater than the number of characters from index to the end of the string.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.Resources.Argument_InvalidOffsetLengthStringSegment">
+            <summary>Offset and length are out of bounds for this StringSegment or length is greater than the number of characters to the end of this StringSegment.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.Resources.Capacity_CannotChangeAfterWriteStarted">
+            <summary>Cannot change capacity after write started.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.Resources.Capacity_NotEnough">
+            <summary>Not enough capacity to write '{0}' characters, only '{1}' left.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.Resources.FormatCapacity_NotEnough(System.Object,System.Object)">
+            <summary>Not enough capacity to write '{0}' characters, only '{1}' left.</summary>
+        </member>
+        <member name="P:Microsoft.Extensions.Primitives.Resources.Capacity_NotUsedEntirely">
+            <summary>Entire reserved capacity was not used. Capacity: '{0}', written '{1}'.</summary>
+        </member>
+        <member name="M:Microsoft.Extensions.Primitives.Resources.FormatCapacity_NotUsedEntirely(System.Object,System.Object)">
+            <summary>Entire reserved capacity was not used. Capacity: '{0}', written '{1}'.</summary>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.Identity.Client.dll


文件差异内容过多而无法显示
+ 17434 - 0
Work29/bin/Debug/Microsoft.Identity.Client.xml


二进制
Work29/bin/Debug/Microsoft.IdentityModel.JsonWebTokens.dll


+ 847 - 0
Work29/bin/Debug/Microsoft.IdentityModel.JsonWebTokens.xml

@@ -0,0 +1,847 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.IdentityModel.JsonWebTokens</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.IdentityModel.JsonWebTokens.JsonClaimValueTypes">
+            <summary>
+            Constants for Json Web tokens.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JsonClaimValueTypes.Json">
+            <summary>
+            A URI that represents the JSON XML data type.
+            </summary>
+            <remarks>When mapping json to .Net Claim(s), if the value was not a string (or an enumeration of strings), the ClaimValue will serialized using the current JSON serializer, a property will be added with the .Net type and the ClaimTypeValue will be set to 'JsonClaimValueType'.</remarks>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JsonClaimValueTypes.JsonArray">
+            <summary>
+            A URI that represents the JSON array XML data type.
+            </summary>
+            <remarks>When mapping json to .Net Claim(s), if the value was not a string (or an enumeration of strings), the ClaimValue will serialized using the current JSON serializer, a property will be added with the .Net type and the ClaimTypeValue will be set to 'JsonClaimValueType'.</remarks>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JsonClaimValueTypes.JsonNull">
+            <summary>
+            A URI that represents the JSON null data type
+            </summary>
+            <remarks>When mapping json to .Net Claim(s), we use empty string to represent the claim value and set the ClaimValueType to JsonNull</remarks>
+        </member>
+        <member name="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken">
+            <summary>
+            A <see cref="T:Microsoft.IdentityModel.Tokens.SecurityToken"/> designed for representing a JSON Web Token (JWT). 
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/> from a string in JWS or JWE Compact serialized format.
+            </summary>
+            <param name="jwtEncodedString">A JSON Web Token that has been serialized in JWS or JWE Compact serialized format.</param>
+            <exception cref="T:System.ArgumentNullException">'jwtEncodedString' is null or empty.</exception>
+            <exception cref="T:System.ArgumentException">'jwtEncodedString' is not in JWS or JWE Compact serialization format.</exception>
+            <remarks>
+            The contents of the returned <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/> have not been validated, the JSON Web Token is simply decoded. Validation can be accomplished using the validation methods in <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler"/>
+            </remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.#ctor(System.String,System.String)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/> class where the header contains the crypto algorithms applied to the encoded header and payload.
+            </summary>
+            <param name="header">A string containing JSON which represents the cryptographic operations applied to the JWT and optionally any additional properties of the JWT.</param>
+            <param name="payload">A string containing JSON which represents the claims contained in the JWT. Each claim is a JSON object of the form { Name, Value }.</param>
+            <exception cref="T:System.ArgumentNullException">'header' is null.</exception>
+            <exception cref="T:System.ArgumentNullException">'payload' is null.</exception>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Actor">
+            <summary>
+            Gets the 'value' of the 'actort' claim { actort, 'value' }.
+            </summary>
+            <remarks>If the 'actort' claim is not found, an empty string is returned.</remarks> 
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Alg">
+            <summary>
+            Gets the 'value' of the 'alg' claim { alg, 'value' }.
+            </summary>
+            <remarks>If the 'alg' claim is not found, an empty string is returned.</remarks>   
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Audiences">
+            <summary>
+            Gets the list of 'aud' claim { aud, 'value' }.
+            </summary>
+            <remarks>If the 'aud' claim is not found, enumeration will be empty.</remarks>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.AuthenticationTag">
+            <summary>
+            Gets the AuthenticationTag from the original raw data of this instance when it was created.
+            </summary>
+            <remarks>The original JSON Compact serialized format passed into the constructor. <see cref="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.#ctor(System.String)"/></remarks>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Ciphertext">
+            <summary>
+            Gets the Ciphertext from the original raw data of this instance when it was created.
+            </summary>
+            <remarks>The original JSON Compact serialized format passed into the constructor. <see cref="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.#ctor(System.String)"/></remarks>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Claims">
+            <summary>
+            Gets a <see cref="T:System.Collections.Generic.IEnumerable`1"/><see cref="T:System.Security.Claims.Claim"/> for each JSON { name, value }.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Cty">
+            <summary>
+            Gets the 'value' of the 'cty' claim { cty, 'value' }.
+            </summary>
+            <remarks>If the 'cty' claim is not found, an empty string is returned.</remarks>   
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Enc">
+            <summary>
+            Gets the 'value' of the 'enc' claim { enc, 'value' }.
+            </summary>
+            <remarks>If the 'enc' value is not found, an empty string is returned.</remarks>   
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.EncryptedKey">
+            <summary>
+            Gets the EncryptedKey from the original raw data of this instance when it was created.
+            </summary>
+            <remarks>The original JSON Compact serialized format passed into the constructor. <see cref="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.#ctor(System.String)"/></remarks>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Header">
+            <summary>
+            Represents the cryptographic operations applied to the JWT and optionally any additional properties of the JWT. 
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Id">
+            <summary>
+            Gets the 'value' of the 'jti' claim { jti, ''value' }.
+            </summary>
+            <remarks>If the 'jti' claim is not found, an empty string is returned.</remarks>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.InitializationVector">
+            <summary>
+            Gets the InitializationVector from the original raw data of this instance when it was created.
+            </summary>
+            <remarks>The original JSON Compact serialized format passed into the constructor. <see cref="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.#ctor(System.String)"/></remarks>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.InnerToken">
+            <summary>
+            Gets the <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/> associated with this instance.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.IssuedAt">
+            <summary>
+            Gets the 'value' of the 'iat' claim { iat, 'value' } converted to a <see cref="T:System.DateTime"/> assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
+            </summary>
+            <remarks>If the 'iat' claim is not found, then <see cref="F:System.DateTime.MinValue"/> is returned.</remarks>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Issuer">
+            <summary>
+            Gets the 'value' of the 'iss' claim { iss, 'value' }.
+            </summary>
+            <remarks>If the 'iss' claim is not found, an empty string is returned.</remarks>   
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Kid">
+            <summary>
+            Gets the 'value' of the 'kid' claim { kid, 'value' }.
+            </summary>
+            <remarks>If the 'kid' claim is not found, an empty string is returned.</remarks>   
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Payload">
+            <summary>
+            Represents the JSON payload.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.EncodedHeader">
+            <summary>
+            Gets the EncodedHeader from the original raw data of this instance when it was created.
+            </summary>
+            <remarks>The original JSON Compact serialized format passed into the constructor. <see cref="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.#ctor(System.String)"/></remarks>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.EncodedPayload">
+            <summary>
+            Gets the EncodedPayload from the original raw data of this instance when it was created.
+            </summary>
+            <remarks>The original JSON Compact serialized format passed into the constructor. <see cref="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.#ctor(System.String)"/></remarks>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.EncodedSignature">
+            <summary>
+            Gets the EncodedSignature from the original raw data of this instance when it was created.
+            </summary>
+            <remarks>The original JSON Compact serialized format passed into the constructor. <see cref="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.#ctor(System.String)"/></remarks>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.EncodedToken">
+            <summary>
+            Gets the original raw data of this instance when it was created.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.SecurityKey">
+            <summary>
+            Not implemented.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.SigningKey">
+            <summary>
+            Not implemented.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Subject">
+            <summary>
+            Gets the 'value' of the 'sub' claim { sub, 'value' }.
+            </summary>
+            <remarks>If the 'sub' claim is not found, an empty string is returned.</remarks>   
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Typ">
+            <summary>
+            Gets the 'value' of the 'typ' claim { typ, 'value' }.
+            </summary>
+            <remarks>If the 'typ' claim is not found, an empty string is returned.</remarks>   
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.ValidFrom">
+            <summary>
+            Gets the 'value' of the 'nbf' claim { nbf, 'value' } converted to a <see cref="T:System.DateTime"/> assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
+            </summary>
+            <remarks>If the 'nbf' claim is not found, then <see cref="F:System.DateTime.MinValue"/> is returned.</remarks>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.ValidTo">
+            <summary>
+            Gets the 'value' of the 'exp' claim { exp, 'value' } converted to a <see cref="T:System.DateTime"/> assuming 'value' is seconds since UnixEpoch (UTC 1970-01-01T0:0:0Z).
+            </summary>
+            <remarks>If the 'exp' claim is not found, then <see cref="F:System.DateTime.MinValue"/> is returned.</remarks>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.X5t">
+            <summary>
+            Gets the 'value' of the 'x5t' claim { x5t, 'value' }.
+            </summary>
+            <remarks>If the 'x5t' claim is not found, an empty string is returned.</remarks>   
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Zip">
+            <summary>
+            Gets the 'value' of the 'zip' claim { zip, 'value' }.
+            </summary>
+            <remarks>If the 'zip' claim is not found, an empty string is returned.</remarks>   
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Decode(System.String[],System.String)">
+            <summary>
+            Decodes the string into the header, payload and signature.
+            </summary>
+            <param name="tokenParts">the tokenized string.</param>
+            <param name="rawData">the original token.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.DecodeJwe(System.String[])">
+            <summary>
+            Decodes the payload and signature from the JWE parts.
+            </summary>
+            <param name="tokenParts">Parts of the JWE including the header.</param>
+            <remarks>Assumes Header has already been set.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.DecodeJws(System.String[])">
+            <summary>
+            Decodes the payload and signature from the JWS parts.
+            </summary>
+            <param name="tokenParts">Parts of the JWS including the header.</param>
+            <remarks>Assumes Header has already been set.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.GetClaim(System.String)">
+            <summary>
+            Gets a <see cref="T:System.Security.Claims.Claim"/> representing the { key, 'value' } pair corresponding to the provided <paramref name="key"/>.
+            </summary>
+            <remarks>If the key has no corresponding value, this method will throw.</remarks>   
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.GetPayloadValue``1(System.String)">
+            <summary>
+            Gets the 'value' corresponding to the provided key from the JWT payload { key, 'value' }.
+            </summary>
+            <remarks>If the key has no corresponding value, this method will throw. </remarks>   
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.TryGetClaim(System.String,System.Security.Claims.Claim@)">
+            <summary>
+            Tries to get the <see cref="T:System.Security.Claims.Claim"/> representing the { key, 'value' } pair corresponding to the provided <paramref name="key"/>.
+            </summary>
+            <remarks>If the key has no corresponding value, returns false. Otherwise returns true. </remarks>   
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.TryGetPayloadValue``1(System.String,``0@)">
+            <summary>
+            Tries to get the 'value' corresponding to the provided key from the JWT payload { key, 'value' }.
+            </summary>
+            <remarks>If the key has no corresponding value, returns false. Otherwise returns true. </remarks>   
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.GetHeaderValue``1(System.String)">
+            <summary>
+            Gets the 'value' corresponding to the provided key from the JWT header { key, 'value' }.
+            </summary>
+            <remarks>If the key has no corresponding value, this method will throw. </remarks>   
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.TryGetHeaderValue``1(System.String,``0@)">
+            <summary>
+            Tries to get the value corresponding to the provided key from the JWT header { key, 'value' }.
+            </summary>
+            <remarks>If the key has no corresponding value, returns false. Otherwise returns true. </remarks>   
+        </member>
+        <member name="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler">
+            <summary>
+            A <see cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenHandler"/> designed for creating and validating Json Web Tokens. 
+            See: http://tools.ietf.org/html/rfc7519 and http://www.rfc-editor.org/info/rfc7515.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.TokenType">
+            <summary>
+            Gets the type of the <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/>.
+            </summary>
+            <return>The type of <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/></return>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CanReadToken(System.String)">
+            <summary>
+            Determines if the string is a well formed Json Web Token (JWT).
+            <para>see: http://tools.ietf.org/html/rfc7519 </para>
+            </summary>
+            <param name="token">String that should represent a valid JWT.</param>
+            <remarks>Uses <see cref="M:System.Text.RegularExpressions.Regex.IsMatch(System.String,System.String)"/> matching:
+            <para>JWS: @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$"</para>
+            <para>JWE: (dir): @"^[A-Za-z0-9-_]+\.\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]*$"</para>
+            <para>JWE: (wrappedkey): @"^[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]+\.[A-Za-z0-9-_]$"</para>
+            </remarks>
+            <returns>
+            <para>'false' if the token is null or whitespace.</para>
+            <para>'false' if token.Length is greater than <see cref="P:Microsoft.IdentityModel.Tokens.TokenHandler.MaximumTokenSizeInBytes"/>.</para>
+            <para>'true' if the token is in JSON compact serialization format.</para>
+            </returns>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CanValidateToken">
+            <summary>
+            Returns a value that indicates if this handler can validate a <see cref="T:Microsoft.IdentityModel.Tokens.SecurityToken"/>.
+            </summary>
+            <returns>'true', indicating this instance can validate a <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/>.</returns>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials)">
+            <summary>
+            Creates a JWS (Json Web Signature).
+            </summary>
+            <param name="payload">A string containing JSON which represents the JWT token payload.</param>
+            <param name="signingCredentials">Defines the security key and algorithm that will be used to sign the JWS.</param>
+            <returns>A JWS in Compact Serialization Format.</returns>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(Microsoft.IdentityModel.Tokens.SecurityTokenDescriptor)">
+            <summary>
+            Creates a JWS(Json Web Signature).
+            </summary>
+            <param name="tokenDescriptor">A <see cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenDescriptor"/> that contains details of contents of the token.</param>
+            <returns>A JWS in Compact Serialization Format.</returns>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials,Microsoft.IdentityModel.Tokens.EncryptingCredentials)">
+            <summary>
+            Creates a JWE (Json Web Encryption).
+            </summary>
+            <param name="payload">A string containing JSON which represents the JWT token payload.</param>
+            <param name="signingCredentials">Defines the security key and algorithm that will be used to sign the JWT.</param>
+            <param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the JWT.</param>
+            <returns>A JWE in compact serialization format.</returns>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateToken(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.String)">
+            <summary>
+            Creates a JWE (Json Web Encryption).
+            </summary>
+            <param name="payload">A string containing JSON which represents the JWT token payload.</param>
+            <param name="signingCredentials">Defines the security key and algorithm that will be used to sign the JWT.</param>
+            <param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the JWT.</param>
+            <param name="compressionAlgorithm">Defines the compression algorithm that will be used to compress the JWT token payload.</param>
+            <returns>A JWE in compact serialization format.</returns>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CompressToken(System.String,System.String)">
+            <summary>
+            Compress a JWT token string.
+            </summary>
+            <param name="token"></param>
+            <param name="algorithm"></param>
+            <exception cref="T:System.ArgumentNullException">if 'token' is null.</exception>
+            <exception cref="T:System.ArgumentNullException">if 'algorithm' is null.</exception>
+            <exception cref="T:System.NotSupportedException">if the compression algorithm is not supported.</exception>
+            <returns>Compressed JWT token bytes.</returns>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.CreateClaimsIdentity(Microsoft.IdentityModel.JsonWebTokens.JsonWebToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
+            <summary>
+            Creates a <see cref="T:System.Security.Claims.ClaimsIdentity"/> from a <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/>.
+            </summary>
+            <param name="jwtToken">The <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/> to use as a <see cref="T:System.Security.Claims.Claim"/> source.</param>
+            <param name="validationParameters"> Contains parameters for validating the token.</param>
+            <returns>A <see cref="T:System.Security.Claims.ClaimsIdentity"/> containing the <see cref="P:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken.Claims"/>.</returns>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.DecryptToken(Microsoft.IdentityModel.JsonWebTokens.JsonWebToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
+            <summary>
+            Decrypts a JWE and returns the clear text 
+            </summary>
+            <param name="jwtToken">the JWE that contains the cypher text.</param>
+            <param name="validationParameters">contains crypto material.</param>
+            <returns>the decoded / cleartext contents of the JWE.</returns>
+            <exception cref="T:System.ArgumentNullException">if 'jwtToken' is null.</exception>
+            <exception cref="T:System.ArgumentNullException">if 'validationParameters' is null.</exception>
+            <exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenException">if 'jwtToken.Enc' is null or empty.</exception>
+            <exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenDecompressionFailedException">if decompression failed.</exception>
+            <exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionKeyNotFoundException">if 'jwtToken.Kid' is not null AND decryption fails.</exception>
+            <exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenDecryptionFailedException">if the JWE was not able to be decrypted.</exception>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.EncryptToken(System.String,Microsoft.IdentityModel.Tokens.EncryptingCredentials)">
+            <summary>
+            Encrypts a JWS.
+            </summary>
+            <param name="innerJwt">A 'JSON Web Token' (JWT) in JWS Compact Serialization Format.</param>
+            <param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the <paramref name="innerJwt"/>.</param>
+            <exception cref="T:System.ArgumentNullException">if <paramref name="innerJwt"/> is null or empty.</exception>
+            <exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
+            <exception cref="T:System.ArgumentException">if both <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.CryptoProviderFactory"/> and <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/>.<see cref="T:Microsoft.IdentityModel.Tokens.CryptoProviderFactory"/> are null.</exception>
+            <exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if the CryptoProviderFactory being used does not support the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
+            <exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if unable to create a token encryption provider for the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
+            <exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if encryption fails using the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
+            <exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption).</exception>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.EncryptToken(System.String,Microsoft.IdentityModel.Tokens.EncryptingCredentials,System.String)">
+            <summary>
+            Encrypts a JWS.
+            </summary>
+            <param name="innerJwt">A 'JSON Web Token' (JWT) in JWS Compact Serialization Format.</param>
+            <param name="encryptingCredentials">Defines the security key and algorithm that will be used to encrypt the <paramref name="innerJwt"/>.</param>
+            <param name="algorithm">Defines the compression algorithm that will be used to compress the 'innerJwt'.</param>
+            <exception cref="T:System.ArgumentNullException">if <paramref name="innerJwt"/> is null or empty.</exception>
+            <exception cref="T:System.ArgumentNullException">if <paramref name="encryptingCredentials"/> is null.</exception>
+            <exception cref="T:System.ArgumentNullException">if 'algorithm' is null or empty.</exception>
+            <exception cref="T:System.ArgumentException">if both <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.CryptoProviderFactory"/> and <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/>.<see cref="T:Microsoft.IdentityModel.Tokens.CryptoProviderFactory"/> are null.</exception>
+            <exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if the CryptoProviderFactory being used does not support the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
+            <exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if unable to create a token encryption provider for the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
+            <exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenCompressionFailedException">if compression using 'algorithm' fails.</exception>
+            <exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if encryption fails using the <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Enc"/> (algorithm), <see cref="P:Microsoft.IdentityModel.Tokens.EncryptingCredentials.Key"/> pair.</exception>
+            <exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenEncryptionFailedException">if not using one of the supported content encryption key (CEK) algorithms: 128, 384 or 512 AesCbcHmac (this applies in the case of key wrap only, not direct encryption).</exception>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ResolveIssuerSigningKey(Microsoft.IdentityModel.JsonWebTokens.JsonWebToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
+            <summary>
+            Returns a <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use when validating the signature of a token.
+            </summary>
+            <param name="jwtToken">The <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/> that is being validated.</param>
+            <param name="validationParameters">A <see cref="T:Microsoft.IdentityModel.Tokens.TokenValidationParameters"/>  required for validation.</param>
+            <returns>Returns a <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use for signature validation.</returns>
+            <remarks>If key fails to resolve, then null is returned</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ResolveTokenDecryptionKey(System.String,Microsoft.IdentityModel.JsonWebTokens.JsonWebToken,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
+            <summary>
+            Returns a <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use when decrypting a JWE.
+            </summary>
+            <param name="token">The <see cref="T:System.String"/> the token that is being decrypted.</param>
+            <param name="jwtToken">The <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/> that is being decrypted.</param>
+            <param name="validationParameters">A <see cref="T:Microsoft.IdentityModel.Tokens.TokenValidationParameters"/>  required for validation.</param>
+            <returns>Returns a <see cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use for signature validation.</returns>
+            <remarks>If key fails to resolve, then null is returned</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ReadJsonWebToken(System.String)">
+            <summary>
+            Converts a string into an instance of <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/>.
+            </summary>
+            <param name="token">A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format.</param>
+            <returns>A <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/></returns>
+            <exception cref="T:System.ArgumentNullException">'token' is null or empty.</exception>
+            <exception cref="T:System.ArgumentException">'token.Length' is greater than <see cref="P:Microsoft.IdentityModel.Tokens.TokenHandler.MaximumTokenSizeInBytes"/>.</exception>
+            <remarks><para>If the 'token' is in JWE Compact Serialization format, only the protected header will be deserialized.</para>
+            This method is unable to decrypt the payload. Use <see cref="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ValidateToken(System.String,Microsoft.IdentityModel.Tokens.TokenValidationParameters)"/>to obtain the payload.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ReadToken(System.String)">
+            <summary>
+            Converts a string into an instance of <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/>.
+            </summary>
+            <param name="token">A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format.</param>
+            <returns>A <see cref="T:Microsoft.IdentityModel.JsonWebTokens.JsonWebToken"/></returns>
+            <exception cref="T:System.ArgumentNullException">'token' is null or empty.</exception>
+            <exception cref="T:System.ArgumentException">'token.Length' is greater than <see cref="P:Microsoft.IdentityModel.Tokens.TokenHandler.MaximumTokenSizeInBytes"/>.</exception>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ValidateToken(System.String,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
+            <summary>
+            Validates a JWS or a JWE.
+            </summary>
+            <param name="token">A 'JSON Web Token' (JWT) in JWS or JWE Compact Serialization Format.</param>
+            <param name="validationParameters">A <see cref="T:Microsoft.IdentityModel.Tokens.TokenValidationParameters"/>  required for validation.</param>
+            <returns>A <see cref="T:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult"/></returns>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ValidateSignature(System.String,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
+            <summary>
+            Validates the JWT signature.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JsonWebTokenHandler.ValidateSignature(System.Byte[],System.Byte[],Microsoft.IdentityModel.Tokens.SecurityKey,System.String,Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
+            <summary>
+            Obtains a <see cref="T:Microsoft.IdentityModel.Tokens.SignatureProvider"/> and validates the signature.
+            </summary>
+            <param name="encodedBytes">Bytes to validate.</param>
+            <param name="signature">Signature to compare against.</param>
+            <param name="key"><See cref="T:Microsoft.IdentityModel.Tokens.SecurityKey"/> to use.</param>
+            <param name="algorithm">Crypto algorithm to use.</param>
+            <param name="validationParameters">Priority will be given to <see cref="P:Microsoft.IdentityModel.Tokens.TokenValidationParameters.CryptoProviderFactory"/> over <see cref="P:Microsoft.IdentityModel.Tokens.SecurityKey.CryptoProviderFactory"/>.</param>
+            <returns>'true' if signature is valid.</returns>
+        </member>
+        <member name="T:Microsoft.IdentityModel.JsonWebTokens.JwtConstants">
+            <summary>
+            Constants for Json Web Tokens.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtConstants.HeaderType">
+            <summary>
+            Short header type.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtConstants.HeaderTypeAlt">
+            <summary>
+            Long header type.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtConstants.TokenType">
+            <summary>
+            Short token type.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtConstants.TokenTypeAlt">
+            <summary>
+            Long token type.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtConstants.JsonCompactSerializationRegex">
+            <summary>
+            JWS - Token format: 'header.payload.signature'. Signature is optional, but '.' is required.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtConstants.JweCompactSerializationRegex">
+            <summary>
+            JWE - Token format: 'protectedheader.encryptedkey.iv.cyphertext.authenticationtag'.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtConstants.JweSegmentCount">
+            <summary>
+            The number of parts in a JWE token.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtConstants.JwsSegmentCount">
+            <summary>
+            The number of parts in a JWS token.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtConstants.MaxJwtSegmentCount">
+            <summary>
+            The maximum number of parts in a JWT.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtConstants.DirectKeyUseAlg">
+            <summary>
+            JWE header alg indicating a shared symmetric key is directly used as CEK.
+            </summary>
+        </member>
+        <member name="T:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames">
+            <summary>
+            List of header parameter names see: http://tools.ietf.org/html/rfc7519#section-5.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Alg">
+            <summary>
+            see:https://tools.ietf.org/html/rfc7515#section-4.1.1
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Cty">
+            <summary>
+            see:https://tools.ietf.org/html/rfc7515#section-4.1.10
+            also:https://tools.ietf.org/html/rfc7519#section-5.2
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Enc">
+            <summary>
+            see:https://tools.ietf.org/html/rfc7516#section-4.1.2
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.IV">
+            <summary>
+            see:https://tools.ietf.org/html/rfc7518#section-4.7.1.1
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Jku">
+            <summary>
+            see:https://tools.ietf.org/html/rfc7515#section-4.1.2
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Jwk">
+            <summary>
+            see:https://tools.ietf.org/html/rfc7515#section-4.1.3
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Kid">
+            <summary>
+            see:https://tools.ietf.org/html/rfc7515#section-4.1.4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Typ">
+            <summary>
+            see:https://tools.ietf.org/html/rfc7515#section-4.1.9
+            also:https://tools.ietf.org/html/rfc7519#section-5.1
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.X5c">
+            <summary>
+            see:https://tools.ietf.org/html/rfc7515#section-4.1.6
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.X5t">
+            <summary>
+            see:https://tools.ietf.org/html/rfc7515#page-12
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.X5u">
+            <summary>
+            see:https://tools.ietf.org/html/rfc7515#section-4.1.5
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtHeaderParameterNames.Zip">
+            <summary>
+            see:https://tools.ietf.org/html/rfc7516#section-4.1.3
+            </summary>
+        </member>
+        <member name="T:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames">
+            <summary>
+            List of registered claims from different sources
+            http://tools.ietf.org/html/rfc7519#section-4
+            http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Actort">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Acr">
+            <summary>
+            http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Amr">
+            <summary>
+            http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Aud">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.AuthTime">
+            <summary>
+            http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Azp">
+            <summary>
+            http://openid.net/specs/openid-connect-core-1_0.html#IDToken
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Birthdate">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.CHash">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.AtHash">
+            <summary>
+            http://openid.net/specs/openid-connect-core-1_0.html#CodeIDToken
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Email">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Exp">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Gender">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.FamilyName">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.GivenName">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Iat">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Iss">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Jti">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.NameId">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Nonce">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Nbf">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Prn">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Sid">
+            <summary>
+            http://openid.net/specs/openid-connect-frontchannel-1_0.html#OPLogout
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Sub">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Typ">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.UniqueName">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtRegisteredClaimNames.Website">
+            <summary>
+            http://tools.ietf.org/html/rfc7519#section-4
+            </summary>
+        </member>
+        <member name="T:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities">
+            <summary>
+            A class which contains useful methods for processing JWT tokens.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.RegexJws">
+            <summary>
+            Regex that is used to figure out if a token is in JWS format.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.RegexJwe">
+            <summary>
+            Regex that is used to figure out if a token is in JWE format.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.CreateEncodedSignature(System.String,Microsoft.IdentityModel.Tokens.SigningCredentials)">
+            <summary>
+            Produces a signature over the 'input'.
+            </summary>
+            <param name="input">String to be signed</param>
+            <param name="signingCredentials">The <see cref="T:Microsoft.IdentityModel.Tokens.SigningCredentials"/> that contain crypto specs used to sign the token.</param>
+            <returns>The bse64urlendcoded signature over the bytes obtained from UTF8Encoding.GetBytes( 'input' ).</returns>
+            <exception cref="T:System.ArgumentNullException">'input' or 'signingCredentials' is null.</exception>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.DecompressToken(System.Byte[],System.String)">
+            <summary>
+            Decompress JWT token bytes.
+            </summary>
+            <param name="tokenBytes"></param>
+            <param name="algorithm"></param>
+            <exception cref="T:System.ArgumentNullException">if <paramref name="tokenBytes"/> is null.</exception>
+            <exception cref="T:System.ArgumentNullException">if <paramref name="algorithm"/> is null.</exception>
+            <exception cref="T:System.NotSupportedException">if the decompression <paramref name="algorithm"/> is not supported.</exception>
+            <exception cref="T:Microsoft.IdentityModel.Tokens.SecurityTokenDecompressionFailedException">if decompression using <paramref name="algorithm"/> fails.</exception>
+            <returns>Decompressed JWT token</returns>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.FindKeyMatch(System.String,System.String,Microsoft.IdentityModel.Tokens.SecurityKey,System.Collections.Generic.IEnumerable{Microsoft.IdentityModel.Tokens.SecurityKey})">
+            <summary>
+            Has extra code for X509SecurityKey keys where the kid or x5t match in a case insensitive manner.
+            </summary>
+            <param name="kid"></param>
+            <param name="x5t"></param>
+            <param name="securityKey"></param>
+            <param name="keys"></param>
+            <returns>a key if found, null otherwise.</returns>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.GenerateKeyBytes(System.Int32)">
+            <summary>
+            Generates key bytes.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.GetAllDecryptionKeys(Microsoft.IdentityModel.Tokens.TokenValidationParameters)">
+            <summary>
+            Gets all decryption keys.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.JsonWebTokens.JwtTokenUtilities.GetDateTime(System.String,Newtonsoft.Json.Linq.JObject)">
+            <summary>
+            Gets the DateTime using the number of seconds from 1970-01-01T0:0:0Z (UTC)
+            </summary>
+            <param name="key">Claim in the payload that should map to an integer, float, or string.</param>
+            <param name="payload">The payload that contains the desired claim value.</param>
+            <remarks>If the claim is not found, the function returns: DateTime.MinValue
+            </remarks>
+            <exception cref="T:System.FormatException">If the value of the claim cannot be parsed into a long.</exception>
+            <returns>The DateTime representation of a claim.</returns>
+        </member>
+        <member name="T:Microsoft.IdentityModel.JsonWebTokens.LogMessages">
+            <summary>
+            Log messages and codes
+            </summary>
+        </member>
+        <member name="T:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult">
+            <summary>
+            Contains artifacts obtained when a SecurityToken is validated.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult.ClaimsIdentity">
+            <summary>
+            The <see cref="P:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult.ClaimsIdentity"/> created from the validated security token.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult.Exception">
+            <summary>
+            Gets or sets the <see cref="P:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult.Exception"/> that occurred during validation.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult.Issuer">
+            <summary>
+            Gets or sets the issuer that was found in the token.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult.IsValid">
+            <summary>
+            True if the token was successfully validated, false otherwise.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult.SecurityToken">
+            <summary>
+            Gets or sets the <see cref="P:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult.SecurityToken"/> that was validated.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult.TokenContext">
+            <summary>
+            Gets or sets the <see cref="P:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult.TokenContext"/> that contains call information.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult.TokenType">
+            <summary>
+            Gets or sets the token type of the <see cref="P:Microsoft.IdentityModel.JsonWebTokens.TokenValidationResult.SecurityToken"/> that was validated.
+            </summary>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.IdentityModel.Logging.dll


+ 398 - 0
Work29/bin/Debug/Microsoft.IdentityModel.Logging.xml

@@ -0,0 +1,398 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.IdentityModel.Logging</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.IdentityModel.Logging.IdentityModelEventSource">
+            <summary>
+            Event source based logger to log different events.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.Logging.IdentityModelEventSource.Logger">
+            <summary>
+            Static logger that is exposed externally. An external application or framework can hook up a listener to this event source to log data in a custom way.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.Logging.IdentityModelEventSource.ShowPII">
+            <summary>
+            Flag which indicates whether or not PII is shown in logs. False by default.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.Logging.IdentityModelEventSource.HiddenPIIString">
+            <summary>
+            String that is used in place of any arguments to log messages if the 'ShowPII' flag is set to false.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.Logging.IdentityModelEventSource.HeaderWritten">
+            <summary>
+            Indicates whether or the log message header (contains library version, date/time, and PII debugging information) has been written.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.Logging.IdentityModelEventSource._versionLogMessage">
+            <summary>
+            The log message that indicates the current library version.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.Logging.IdentityModelEventSource._dateLogMessage">
+            <summary>
+            The log message that indicates the date.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.Logging.IdentityModelEventSource._piiOffLogMessage">
+            <summary>
+            The log message that is shown when PII is off.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.Logging.IdentityModelEventSource._piiOnLogMessage">
+            <summary>
+            The log message that is shown when PII is off.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.IdentityModelEventSource.WriteAlways(System.String)">
+            <summary>
+            Writes an event log by using the provided string argument and current UTC time.
+            No level filtering is done on the event.
+            </summary>
+            <param name="message">The log message.</param>
+            <remarks>No level filtering.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.IdentityModelEventSource.WriteAlways(System.String,System.Object[])">
+            <summary>
+            Writes an event log by using the provided string argument, current UTC time and the provided arguments list.
+            </summary>
+            <param name="message">The log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.IdentityModelEventSource.WriteVerbose(System.String)">
+            <summary>
+            Writes a verbose event log by using the provided string argument and current UTC time.
+            </summary>
+            <param name="message">The log message.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.IdentityModelEventSource.WriteVerbose(System.String,System.Object[])">
+            <summary>
+            Writes a verbose event log by using the provided string argument, current UTC time and the provided arguments list.
+            </summary>
+            <param name="message">The log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.IdentityModelEventSource.WriteInformation(System.String)">
+            <summary>
+            Writes an information event log by using the provided string argument and current UTC time.
+            </summary>
+            <param name="message">The log message.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.IdentityModelEventSource.WriteInformation(System.String,System.Object[])">
+            <summary>
+            Writes an information event log by using the provided string argument, current UTC time and the provided arguments list.
+            </summary>
+            <param name="message">The log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.IdentityModelEventSource.WriteWarning(System.String)">
+            <summary>
+            Writes a warning event log by using the provided string argument and current UTC time.
+            </summary>
+            <param name="message">The log message.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.IdentityModelEventSource.WriteWarning(System.String,System.Object[])">
+            <summary>
+            Writes a warning event log by using the provided string argument, current UTC time and the provided arguments list.
+            </summary>
+            <param name="message">The log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.IdentityModelEventSource.WriteError(System.String)">
+            <summary>
+            Writes an error event log by using the provided string argument and current UTC time.
+            </summary>
+            <param name="message">The log message.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.IdentityModelEventSource.WriteError(System.String,System.Object[])">
+            <summary>
+            Writes an error event log by using the provided string argument, current UTC time and the provided arguments list.
+            </summary>
+            <param name="message">The log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.IdentityModelEventSource.WriteCritical(System.String)">
+            <summary>
+            Writes a critical event log by using the provided string argument and current UTC time.
+            </summary>
+            <param name="message">The log message.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.IdentityModelEventSource.WriteCritical(System.String,System.Object[])">
+            <summary>
+            Writes a critical event log by using the provided string argument, current UTC time and the provided arguments list.
+            </summary>
+            <param name="message">The log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.IdentityModelEventSource.Write(System.Diagnostics.Tracing.EventLevel,System.Exception,System.String)">
+            <summary>
+            Writes an exception log by using the provided event identifer, exception argument, string argument and current UTC time.
+            </summary>
+            <param name="level"><see cref="T:System.Diagnostics.Tracing.EventLevel"/></param>
+            <param name="innerException"><see cref="T:System.Exception"/></param>
+            <param name="message">The log message.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.IdentityModelEventSource.Write(System.Diagnostics.Tracing.EventLevel,System.Exception,System.String,System.Object[])">
+            <summary>
+            Writes an exception log by using the provided event identifer, exception argument, string argument, arguments list and current UTC time.
+            </summary>
+            <param name="level"><see cref="T:System.Diagnostics.Tracing.EventLevel"/></param>
+            <param name="innerException"><see cref="T:System.Exception"/></param>
+            <param name="message">The log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="P:Microsoft.IdentityModel.Logging.IdentityModelEventSource.LogLevel">
+            <summary>
+            Minimum log level to log events. Default is Warning.
+            </summary>
+        </member>
+        <member name="T:Microsoft.IdentityModel.Logging.LogHelper">
+            <summary>
+            Helper class for logging.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogArgumentNullException(System.String)">
+            <summary>
+            Logs an exception using the event source logger and returns new <see cref="T:System.ArgumentNullException"/> exception.
+            </summary>
+            <param name="argument">argument that is null or empty.</param>
+            <remarks>EventLevel is set to Error.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogException``1(System.String)">
+            <summary>
+            Logs an exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="message">message to log.</param>
+            <remarks>EventLevel is set to Error.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogArgumentException``1(System.String,System.String)">
+            <summary>
+            Logs an argument exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="argumentName">Identifies the argument whose value generated the ArgumentException.</param>
+            <param name="message">message to log.</param>
+            <remarks>EventLevel is set to Error.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogException``1(System.String,System.Object[])">
+            <summary>
+            Logs an exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="format">Format string of the log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <remarks>EventLevel is set to Error.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogArgumentException``1(System.String,System.String,System.Object[])">
+            <summary>
+            Logs an argument exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="argumentName">Identifies the argument whose value generated the ArgumentException.</param>
+            <param name="format">Format string of the log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <remarks>EventLevel is set to Error.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogException``1(System.Exception,System.String)">
+            <summary>
+            Logs an exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="innerException">the inner <see cref="T:System.Exception"/> to be added to the outer exception.</param>
+            <param name="message">message to log.</param>
+            <remarks>EventLevel is set to Error.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogArgumentException``1(System.String,System.Exception,System.String)">
+            <summary>
+            Logs an argument exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="argumentName">Identifies the argument whose value generated the ArgumentException.</param>
+            <param name="innerException">the inner <see cref="T:System.Exception"/> to be added to the outer exception.</param>
+            <param name="message">message to log.</param>
+            <remarks>EventLevel is set to Error.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogException``1(System.Exception,System.String,System.Object[])">
+            <summary>
+            Logs an exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="innerException">the inner <see cref="T:System.Exception"/> to be added to the outer exception.</param>
+            <param name="format">Format string of the log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <remarks>EventLevel is set to Error.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogArgumentException``1(System.String,System.Exception,System.String,System.Object[])">
+            <summary>
+            Logs an argument exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="argumentName">Identifies the argument whose value generated the ArgumentException.</param>
+            <param name="innerException">the inner <see cref="T:System.Exception"/> to be added to the outer exception.</param>
+            <param name="format">Format string of the log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+            <remarks>EventLevel is set to Error.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogException``1(System.Diagnostics.Tracing.EventLevel,System.String)">
+            <summary>
+            Logs an exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="eventLevel">Identifies the level of an event to be logged.</param>
+            <param name="message">message to log.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogArgumentException``1(System.Diagnostics.Tracing.EventLevel,System.String,System.String)">
+            <summary>
+            Logs an argument exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="eventLevel">Identifies the level of an event to be logged.</param>
+            <param name="argumentName">Identifies the argument whose value generated the ArgumentException.</param>
+            <param name="message">message to log.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogException``1(System.Diagnostics.Tracing.EventLevel,System.String,System.Object[])">
+            <summary>
+            Logs an exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="eventLevel">Identifies the level of an event to be logged.</param>
+            <param name="format">Format string of the log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogArgumentException``1(System.Diagnostics.Tracing.EventLevel,System.String,System.String,System.Object[])">
+            <summary>
+            Logs an argument exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="eventLevel">Identifies the level of an event to be logged.</param>
+            <param name="argumentName">Identifies the argument whose value generated the ArgumentException.</param>
+            <param name="format">Format string of the log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogException``1(System.Diagnostics.Tracing.EventLevel,System.Exception,System.String)">
+            <summary>
+            Logs an exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="eventLevel">Identifies the level of an event to be logged.</param>
+            <param name="innerException">the inner <see cref="T:System.Exception"/> to be added to the outer exception.</param>
+            <param name="message">message to log.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogArgumentException``1(System.Diagnostics.Tracing.EventLevel,System.String,System.Exception,System.String)">
+            <summary>
+            Logs an argument exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="eventLevel">Identifies the level of an event to be logged.</param>
+            <param name="argumentName">Identifies the argument whose value generated the ArgumentException.</param>
+            <param name="innerException">the inner <see cref="T:System.Exception"/> to be added to the outer exception.</param>
+            <param name="message">message to log.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogException``1(System.Diagnostics.Tracing.EventLevel,System.Exception,System.String,System.Object[])">
+            <summary>
+            Logs an exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="eventLevel">Identifies the level of an event to be logged.</param>
+            <param name="innerException">the inner <see cref="T:System.Exception"/> to be added to the outer exception.</param>
+            <param name="format">Format string of the log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogArgumentException``1(System.Diagnostics.Tracing.EventLevel,System.String,System.Exception,System.String,System.Object[])">
+            <summary>
+            Logs an argument exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="eventLevel">Identifies the level of an event to be logged.</param>
+            <param name="argumentName">Identifies the argument whose value generated the ArgumentException.</param>
+            <param name="innerException">the inner <see cref="T:System.Exception"/> to be added to the outer exception.</param>
+            <param name="format">Format string of the log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogExceptionMessage(System.Exception)">
+            <summary>
+            Logs an exception using the event source logger.
+            </summary>
+            <param name="exception">The exception to log.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogExceptionMessage(System.Diagnostics.Tracing.EventLevel,System.Exception)">
+            <summary>
+            Logs an exception using the event source logger.
+            </summary>
+            <param name="eventLevel">Identifies the level of an event to be logged.</param>
+            <param name="exception">The exception to log.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogInformation(System.String,System.Object[])">
+            <summary>
+            Logs an information event.
+            </summary>
+            <param name="message">The log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogVerbose(System.String,System.Object[])">
+            <summary>
+            Logs a verbose event.
+            </summary>
+            <param name="message">The log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogWarning(System.String,System.Object[])">
+            <summary>
+            Logs a warning event.
+            </summary>
+            <param name="message">The log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.LogExceptionImpl``1(System.Diagnostics.Tracing.EventLevel,System.String,System.Exception,System.String,System.Object[])">
+            <summary>
+            Logs an exception using the event source logger and returns new typed exception.
+            </summary>
+            <param name="eventLevel">Identifies the level of an event to be logged.</param>
+            <param name="argumentName">Identifies the argument whose value generated the ArgumentException.</param>
+            <param name="innerException">the inner <see cref="T:System.Exception"/> to be added to the outer exception.</param>
+            <param name="format">Format string of the log message.</param>
+            <param name="args">An object array that contains zero or more objects to format.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.LogHelper.FormatInvariant(System.String,System.Object[])">
+            <summary>
+            Formats the string using InvariantCulture
+            </summary>
+            <param name="format">Format string.</param>
+            <param name="args">Format arguments.</param>
+            <returns>Formatted string.</returns>
+        </member>
+        <member name="T:Microsoft.IdentityModel.Logging.LogMessages">
+            <summary>
+            Log messages and codes for Microsoft.IdentityModel.Logging
+            </summary>
+        </member>
+        <member name="T:Microsoft.IdentityModel.Logging.TextWriterEventListener">
+            <summary>
+            Event listener that writes logs to a file or a fileStream provided by user.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.Logging.TextWriterEventListener.DefaultLogFileName">
+            <summary>
+            Name of the default log file, excluding its path.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.TextWriterEventListener.#ctor">
+            <summary>
+            Initializes a new instance of <see cref="T:Microsoft.IdentityModel.Logging.TextWriterEventListener"/> that writes logs to text file.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.TextWriterEventListener.#ctor(System.String)">
+            <summary>
+            Initializes a new instance of <see cref="T:Microsoft.IdentityModel.Logging.TextWriterEventListener"/> that writes logs to text file.
+            </summary>
+            <param name="filePath">location of the file where log messages will be written.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.TextWriterEventListener.#ctor(System.IO.StreamWriter)">
+            <summary>
+            Initializes a new instance of <see cref="T:Microsoft.IdentityModel.Logging.TextWriterEventListener"/> that writes logs to text file.
+            </summary>
+            <param name="streamWriter">StreamWriter where logs will be written.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.TextWriterEventListener.OnEventWritten(System.Diagnostics.Tracing.EventWrittenEventArgs)">
+            <summary>
+            Called whenever an event has been written by an event source for which the event listener has enabled events.
+            </summary>
+            <param name="eventData"><see cref="T:System.Diagnostics.Tracing.EventWrittenEventArgs"/></param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Logging.TextWriterEventListener.Dispose">
+            <summary>
+            Releases all resources used by the current instance of the <see cref="T:Microsoft.IdentityModel.Logging.TextWriterEventListener"/> class.
+            </summary>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.IdentityModel.Protocols.OpenIdConnect.dll


文件差异内容过多而无法显示
+ 1315 - 0
Work29/bin/Debug/Microsoft.IdentityModel.Protocols.OpenIdConnect.xml


二进制
Work29/bin/Debug/Microsoft.IdentityModel.Protocols.dll


+ 315 - 0
Work29/bin/Debug/Microsoft.IdentityModel.Protocols.xml

@@ -0,0 +1,315 @@
+<?xml version="1.0"?>
+<doc>
+    <assembly>
+        <name>Microsoft.IdentityModel.Protocols</name>
+    </assembly>
+    <members>
+        <member name="T:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage">
+            <summary>
+            base class for authentication protocol messages.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage.#ctor">
+            <summary>
+            Initializes a default instance of the <see cref="T:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage"/> class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage.BuildFormPost">
+            <summary>
+            Builds a form post using the current IssuerAddress and the parameters that have been set.
+            </summary>
+            <returns>html with head set to 'Title', body containing a hiden from with action = IssuerAddress.</returns>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage.BuildRedirectUrl">
+            <summary>
+            Builds a Url using the current IssuerAddress and the parameters that have been set.
+            </summary>
+            <returns>UrlEncoded string.</returns>
+            <remarks>Each parameter &lt;Key, Value&gt; is first transformed using <see cref="M:System.Uri.EscapeDataString(System.String)"/>.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage.GetParameter(System.String)">
+            <summary>
+            Returns a parameter.
+            </summary>
+            <param name="parameter">The parameter name.</param>
+            <returns>The value of the parameter or null if the parameter does not exists.</returns>
+            <exception cref="T:System.ArgumentNullException">If parameter is null</exception>
+        </member>
+        <member name="P:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage.IssuerAddress">
+            <summary>
+            Gets or sets the issuer address.
+            </summary>
+            <exception cref="T:System.ArgumentNullException">If the 'value' is null.</exception>
+        </member>
+        <member name="P:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage.Parameters">
+            <summary>
+            Gets the message parameters as a Dictionary.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage.PostTitle">
+            <summary>
+            Gets or sets the title used when constructing the post string.
+            </summary>
+            <exception cref="T:System.ArgumentNullException">If the 'value' is null.</exception>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage.RemoveParameter(System.String)">
+            <summary>
+            Removes a parameter.
+            </summary>
+            <param name="parameter">The parameter name.</param>
+            <exception cref="T:System.ArgumentNullException">If 'parameter' is null or empty.</exception>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage.SetParameter(System.String,System.String)">
+            <summary>
+            Sets a parameter to the Parameters Dictionary.
+            </summary>
+            <param name="parameter">The parameter name.</param>
+            <param name="value">The value to be assigned to parameter.</param>
+            <exception cref="T:System.ArgumentNullException">If 'parameterName' is null or empty.</exception>
+            <remarks>If null is passed as value and the parameter exists, that parameter is removed.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage.SetParameters(System.Collections.Specialized.NameValueCollection)">
+            <summary>
+            Sets a collection parameters.
+            </summary>
+            <param name="nameValueCollection"></param>
+        </member>
+        <member name="P:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage.Script">
+            <summary>
+            Gets the script used when constructing the post string.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage.ScriptButtonText">
+            <summary>
+            Gets or sets the script button text used when constructing the post string.
+            </summary>
+            <exception cref="T:System.ArgumentNullException">If the 'value' is null.</exception>
+        </member>
+        <member name="P:Microsoft.IdentityModel.Protocols.AuthenticationProtocolMessage.ScriptDisabledText">
+            <summary>
+            Gets or sets the text used when constructing the post string that will be displayed to used if script is disabled.
+            </summary>
+            <exception cref="T:System.ArgumentNullException">If the 'value' is null.</exception>
+        </member>
+        <member name="T:Microsoft.IdentityModel.Protocols.ConfigurationManager`1">
+            <summary>
+            Manages the retrieval of Configuration data.
+            </summary>
+            <typeparam name="T">The type of <see cref="T:Microsoft.IdentityModel.Protocols.IDocumentRetriever"/>.</typeparam>
+        </member>
+        <member name="F:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.DefaultAutomaticRefreshInterval">
+            <summary>
+            1 day is the default time interval that afterwards, <see cref="M:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.GetConfigurationAsync"/> will obtain new configuration.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.DefaultRefreshInterval">
+            <summary>
+            30 seconds is the default time interval that must pass for <see cref="M:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.RequestRefresh"/> to obtain a new configuration.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.MinimumAutomaticRefreshInterval">
+            <summary>
+            5 minutes is the minimum value for automatic refresh. <see cref="P:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.AutomaticRefreshInterval"/> can not be set less than this value.
+            </summary>
+        </member>
+        <member name="F:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.MinimumRefreshInterval">
+            <summary>
+            1 second is the minimum time interval that must pass for <see cref="M:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.RequestRefresh"/> to obtain new configuration.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.#cctor">
+            <summary>
+            Static initializer for a new object. Static initializers run before the first instance of the type is created.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.#ctor(System.String,Microsoft.IdentityModel.Protocols.IConfigurationRetriever{`0})">
+            <summary>
+            Instantiaties a new <see cref="T:Microsoft.IdentityModel.Protocols.ConfigurationManager`1"/> that manages automatic and controls refreshing on configuration data.
+            </summary>
+            <param name="metadataAddress">The address to obtain configuration.</param>
+            <param name="configRetriever">The <see cref="T:Microsoft.IdentityModel.Protocols.IConfigurationRetriever`1"/></param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.#ctor(System.String,Microsoft.IdentityModel.Protocols.IConfigurationRetriever{`0},System.Net.Http.HttpClient)">
+            <summary>
+            Instantiaties a new <see cref="T:Microsoft.IdentityModel.Protocols.ConfigurationManager`1"/> that manages automatic and controls refreshing on configuration data.
+            </summary>
+            <param name="metadataAddress">The address to obtain configuration.</param>
+            <param name="configRetriever">The <see cref="T:Microsoft.IdentityModel.Protocols.IConfigurationRetriever`1"/></param>
+            <param name="httpClient">The client to use when obtaining configuration.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.#ctor(System.String,Microsoft.IdentityModel.Protocols.IConfigurationRetriever{`0},Microsoft.IdentityModel.Protocols.IDocumentRetriever)">
+            <summary>
+            Instantiaties a new <see cref="T:Microsoft.IdentityModel.Protocols.ConfigurationManager`1"/> that manages automatic and controls refreshing on configuration data.
+            </summary>
+            <param name="metadataAddress">The address to obtain configuration.</param>
+            <param name="configRetriever">The <see cref="T:Microsoft.IdentityModel.Protocols.IConfigurationRetriever`1"/></param>
+            <param name="docRetriever">The <see cref="T:Microsoft.IdentityModel.Protocols.IDocumentRetriever"/> that reaches out to obtain the configuration.</param>
+            <exception cref="T:System.ArgumentNullException">If 'metadataAddress' is null or empty.</exception>
+            <exception cref="T:System.ArgumentNullException">If 'configRetriever' is null.</exception>
+            <exception cref="T:System.ArgumentNullException">If 'docRetriever' is null.</exception>
+        </member>
+        <member name="P:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.AutomaticRefreshInterval">
+            <summary>
+            Gets or sets the <see cref="T:System.TimeSpan"/> that controls how often an automatic metadata refresh should occur.
+            </summary>
+        </member>
+        <member name="P:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.RefreshInterval">
+            <summary>
+            The minimum time between retrievals, in the event that a retrieval failed, or that a refresh was explicitly requested.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.GetConfigurationAsync">
+            <summary>
+            Obtains an updated version of Configuration.
+            </summary>
+            <returns>Configuration of type T.</returns>
+            <remarks>If the time since the last call is less than <see cref="P:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.AutomaticRefreshInterval"/> then <see cref="M:Microsoft.IdentityModel.Protocols.IConfigurationRetriever`1.GetConfigurationAsync(System.String,Microsoft.IdentityModel.Protocols.IDocumentRetriever,System.Threading.CancellationToken)"/> is not called and the current Configuration is returned.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.GetConfigurationAsync(System.Threading.CancellationToken)">
+            <summary>
+            Obtains an updated version of Configuration.
+            </summary>
+            <param name="cancel">CancellationToken</param>
+            <returns>Configuration of type T.</returns>
+            <remarks>If the time since the last call is less than <see cref="P:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.AutomaticRefreshInterval"/> then <see cref="M:Microsoft.IdentityModel.Protocols.IConfigurationRetriever`1.GetConfigurationAsync(System.String,Microsoft.IdentityModel.Protocols.IDocumentRetriever,System.Threading.CancellationToken)"/> is not called and the current Configuration is returned.</remarks>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.RequestRefresh">
+            <summary>
+            Requests that then next call to <see cref="M:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.GetConfigurationAsync"/> obtain new configuration.
+            <para>If the last refresh was greater than <see cref="P:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.RefreshInterval"/> then the next call to <see cref="M:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.GetConfigurationAsync"/> will retrieve new configuration.</para>
+            <para>If <see cref="P:Microsoft.IdentityModel.Protocols.ConfigurationManager`1.RefreshInterval"/> == <see cref="F:System.TimeSpan.MaxValue"/> then this method does nothing.</para>
+            </summary>
+        </member>
+        <member name="T:Microsoft.IdentityModel.Protocols.FileDocumentRetriever">
+            <summary>
+            Reads a local file from the disk.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.FileDocumentRetriever.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.IdentityModel.Protocols.FileDocumentRetriever"/> class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.FileDocumentRetriever.GetDocumentAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Reads a document using <see cref="T:System.IO.FileStream"/>.
+            </summary>
+            <param name="address">Fully qualified path to a file.</param>
+            <param name="cancel"><see cref="T:System.Threading.CancellationToken"/> not used.</param>
+            <returns>UTF8 decoding of bytes in the file.</returns>
+            <exception cref="T:System.ArgumentNullException">If address is null or whitespace.</exception>
+            <exception cref="T:System.IO.IOException">with inner expection containing the original exception.</exception>
+        </member>
+        <member name="T:Microsoft.IdentityModel.Protocols.HttpDocumentRetriever">
+            <summary>
+            Retrieves metadata information using HttpClient.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.#ctor">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.IdentityModel.Protocols.HttpDocumentRetriever"/> class.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.#ctor(System.Net.Http.HttpClient)">
+            <summary>
+            Initializes a new instance of the <see cref="T:Microsoft.IdentityModel.Protocols.HttpDocumentRetriever"/> class with a specified httpClient.
+            </summary>
+            <param name="httpClient"><see cref="T:System.Net.Http.HttpClient"/></param>
+            <exception cref="T:System.ArgumentNullException">'httpClient' is null.</exception>
+        </member>
+        <member name="P:Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.RequireHttps">
+            <summary>
+            Requires Https secure channel for sending requests.. This is turned ON by default for security reasons. It is RECOMMENDED that you do not allow retrieval from http addresses by default.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.HttpDocumentRetriever.GetDocumentAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Returns a task which contains a string converted from remote document when completed, by using the provided address.
+            </summary>
+            <param name="address">Location of document</param>
+            <param name="cancel">A cancellation token that can be used by other objects or threads to receive notice of cancellation. <see cref="T:System.Threading.CancellationToken"/></param>
+            <returns>Document as a string</returns>
+        </member>
+        <member name="T:Microsoft.IdentityModel.Protocols.IConfigurationManager`1">
+            <summary>
+            Interface that defines a model for retrieving configuration data.
+            </summary>
+            <typeparam name="T">The type of <see cref="T:Microsoft.IdentityModel.Protocols.IDocumentRetriever"/>.</typeparam>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.IConfigurationManager`1.GetConfigurationAsync(System.Threading.CancellationToken)">
+            <summary>
+            Retrieve the current configuration, refreshing and/or caching as needed.
+            This method will throw if the configuration cannot be retrieved, instead of returning null.
+            </summary>
+            <param name="cancel"><see cref="T:System.Threading.CancellationToken"/></param>
+            <returns><see cref="T:System.Threading.Tasks.Task`1"/></returns>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.IConfigurationManager`1.RequestRefresh">
+            <summary>
+            Indicate that the configuration may be stale (as indicated by failing to process incoming tokens).
+            </summary>
+        </member>
+        <member name="T:Microsoft.IdentityModel.Protocols.IConfigurationRetriever`1">
+            <summary>
+            Interface that defines methods to retrieve configuration.
+            </summary>
+            <typeparam name="T">The type of the configuration metadata.</typeparam>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.IConfigurationRetriever`1.GetConfigurationAsync(System.String,Microsoft.IdentityModel.Protocols.IDocumentRetriever,System.Threading.CancellationToken)">
+            <summary>
+            Retrieves a populated configuration given an address and an <see cref="T:Microsoft.IdentityModel.Protocols.IDocumentRetriever"/>.
+            </summary>
+            <param name="address">Address of the discovery document.</param>
+            <param name="retriever">The <see cref="T:Microsoft.IdentityModel.Protocols.IDocumentRetriever"/> to use to read the discovery document.</param>
+            <param name="cancel">A cancellation token that can be used by other objects or threads to receive notice of cancellation. <see cref="T:System.Threading.CancellationToken"/>.</param>
+        </member>
+        <member name="T:Microsoft.IdentityModel.Protocols.IDocumentRetriever">
+            <summary>
+            Interface that defines a document retriever that returns the document as a string.
+            </summary>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.IDocumentRetriever.GetDocumentAsync(System.String,System.Threading.CancellationToken)">
+            <summary>
+            Obtains a document from an address.
+            </summary>
+            <param name="address">location of document.</param>
+            <param name="cancel"><see cref="T:System.Threading.CancellationToken"/>.</param>
+            <returns>document as a string.</returns>
+        </member>
+        <member name="T:Microsoft.IdentityModel.Protocols.StaticConfigurationManager`1">
+            <summary>
+            This type is for users that want a fixed and static Configuration.
+            In this case, the configuration is obtained and passed to the constructor.
+            </summary>
+            <typeparam name="T">must be a class.</typeparam>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.StaticConfigurationManager`1.#ctor(`0)">
+            <summary>
+            Initializes an new instance of <see cref="T:Microsoft.IdentityModel.Protocols.StaticConfigurationManager`1"/> with a Configuration instance.
+            </summary>
+            <param name="configuration">Configuration of type OpenIdConnectConfiguration or OpenIdConnectConfiguration.</param>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.StaticConfigurationManager`1.GetConfigurationAsync(System.Threading.CancellationToken)">
+            <summary>
+            Obtains an updated version of Configuration.
+            </summary>
+            <param name="cancel"><see cref="T:System.Threading.CancellationToken"/>.</param>
+            <returns>Configuration of type T.</returns>
+        </member>
+        <member name="M:Microsoft.IdentityModel.Protocols.StaticConfigurationManager`1.RequestRefresh">
+            <summary>
+            For the this type, this is a no-op
+            </summary>
+        </member>
+        <member name="T:Microsoft.IdentityModel.Protocols.LogMessages">
+            <summary>
+            Log messages and codes
+            </summary>
+        </member>
+        <member name="T:Microsoft.IdentityModel.Protocols.X509CertificateValidationMode">
+            <summary>
+            Represents X509Certificate validation mode.
+            </summary>
+        </member>
+    </members>
+</doc>

二进制
Work29/bin/Debug/Microsoft.IdentityModel.Tokens.dll


文件差异内容过多而无法显示
+ 3510 - 0
Work29/bin/Debug/Microsoft.IdentityModel.Tokens.xml


二进制
Work29/bin/Debug/Microsoft.Xaml.Behaviors.dll


二进制
Work29/bin/Debug/Microsoft.Xaml.Behaviors.pdb


文件差异内容过多而无法显示
+ 2388 - 0
Work29/bin/Debug/Microsoft.Xaml.Behaviors.xml


二进制
Work29/bin/Debug/Newtonsoft.Json.dll


文件差异内容过多而无法显示
+ 10752 - 0
Work29/bin/Debug/Newtonsoft.Json.xml


二进制
Work29/bin/Debug/System.Buffers.dll


文件差异内容过多而无法显示
+ 38 - 0
Work29/bin/Debug/System.Buffers.xml


二进制
Work29/bin/Debug/System.Collections.Immutable.dll


+ 0 - 0
Work29/bin/Debug/System.Collections.Immutable.xml


部分文件因为文件数量过多而无法显示