rewriting pdf converter to native usage

This commit is contained in:
tomse
2025-09-07 20:25:09 +02:00
parent 02fca61e80
commit 2ae7112dc1
510 changed files with 226213 additions and 50 deletions

View File

@@ -1,7 +1,7 @@
<?xml version="1.0" encoding="utf-8" ?>
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<configSections>
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" >
<sectionGroup name="userSettings" type="System.Configuration.UserSettingsGroup, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089">
<section name="MakeManual.Properties.Settings" type="System.Configuration.ClientSettingsSection, System, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" allowExeDefinition="MachineToLocalUser" requirePermission="false" />
</sectionGroup>
</configSections>
@@ -45,4 +45,24 @@
</setting>
</MakeManual.Properties.Settings>
</userSettings>
<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-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.DependencyInjection.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.2" newVersion="8.0.0.2" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="System.Security.Cryptography.Pkcs" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.1" newVersion="8.0.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Microsoft.Extensions.Logging.Abstractions" publicKeyToken="adb9793829ddae60" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-8.0.0.2" newVersion="8.0.0.2" />
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>

View File

@@ -1,5 +1,10 @@
using ImageMagick;
using BitMiracle.LibTiff.Classic;
using ImageMagick;
using Microsoft.WindowsAPICodePack.Dialogs;
using PdfSharp.Drawing;
using PdfSharp.Pdf;
using PdfSharp.Pdf.IO;
using RCEU_PDFWorkflowManager;
using System;
using System.Collections.Generic;
using System.Diagnostics;
@@ -12,6 +17,9 @@ using System.Security.Cryptography;
using System.Threading;
using System.Threading.Tasks;
using System.Windows.Forms;
using Tesseract;
using ImageFormat = System.Drawing.Imaging.ImageFormat;
namespace PDFWorkflowManager
{
@@ -539,7 +547,6 @@ namespace PDFWorkflowManager
}
catch
{
}
try
@@ -679,6 +686,7 @@ namespace PDFWorkflowManager
}
catch (Exception ex)
{
MessageBox.Show("Error converting to JPEG: " + ex.Message, "Conversion Error", MessageBoxButtons.OK, MessageBoxIcon.Error);
}
}
@@ -696,28 +704,28 @@ namespace PDFWorkflowManager
private async Task convertToPdf(string[] strFiles, string outputDir, string selectedLanguage)
{
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.UseShellExecute = false;
startInfo.RedirectStandardOutput = true;
startInfo.CreateNoWindow = true;
string outputPdf = Path.Combine(outputDir, "FinalDocument.pdf");
// TODO make this configurable
startInfo.FileName = Properties.Settings.Default.TesserAct;
string outputFile = "";
toolStripProgressBar1.Maximum = strFiles.Count();
toolStripProgressBar1.Value = 0;
toolStripStatusLabel1.Text = "Converting files to pdf.";
Task convertpdf = Task.Run(() =>
// Count total pages for progress bar
int totalPages = 0;
foreach (var tiffFile in strFiles)
{
Parallel.ForEach(strFiles, inputFile =>
using (var image = BitMiracle.LibTiff.Classic.Tiff.Open(tiffFile, "r"))
{
if (image != null)
totalPages += image.NumberOfDirectories();
}
}
toolStripProgressBar1.Maximum = totalPages;
toolStripProgressBar1.Value = 0;
toolStripStatusLabel1.Text = "Converting files to PDF...";
var converter = new TiffToPdfConverter();
await Task.Run(() =>
{
converter.ConvertTiffToPdfA(strFiles, Path.Combine(outputDir, "FinalDocument.pdf"), selectedLanguage, () =>
{
outputFile = Path.GetFileNameWithoutExtension(inputFile);
startInfo.Arguments = "\"" + inputFile + "\"" + " " + "\"" + Path.Combine(outputDir, outputFile) + "\"" + " -l " + selectedLanguage + " pdf txt";
using (var process = Process.Start(startInfo))
{
process.WaitForExit();
}
if (toolStripProgressBar1.Control.InvokeRequired)
{
toolStripProgressBar1.Control.Invoke((MethodInvoker)delegate
@@ -731,45 +739,110 @@ namespace PDFWorkflowManager
}
});
});
toolStripStatusLabel1.Text = "Conversion complete!";
await Task.WhenAll(convertpdf);
}
Thread.Sleep(1000);
// Parallel doesn't always return full result, we pick up the missing and process them again single threaded
/*
if (Directory.GetFiles(sourceDir, "*." + strExtension).Length != outFiles.Length)
private void ConvertTiffToPdfAWithOcr(string[] tiffFiles, string outputPdfPath, string ocrLanguage)
{
PdfDocument pdf = new PdfDocument();
pdf.Info.Title = "Converted TIFF to PDF/A";
pdf.Info.Creator = "RCEU_PDFWorkflowManager";
foreach (var tiffFile in tiffFiles)
{
string[] arrayInFiles = new string[inFiles.Length];
string[] arrayOutFiles = new string[outFiles.Length];
for (int i = 0; i < inFiles.Length; i++)
using (Tiff image = Tiff.Open(tiffFile, "r"))
{
arrayInFiles[i] = Path.GetFileNameWithoutExtension(inFiles[i]);
}
for (int i = 0; i < outFiles.Length; i++)
{
arrayOutFiles[i] = Path.GetFileNameWithoutExtension(outFiles[i]);
}
string[] difference = arrayInFiles.Except(arrayOutFiles).ToArray();
foreach (string item in difference)
{
startInfo.Arguments = "\"" + Path.Combine(sourceDir, item + "." + strExtension) + "\"" + " " + "\"" + Path.Combine(outputDir, item) + "\"" + " -l " + selectedLanguage + " pdf txt";
using (var process = Process.Start(startInfo))
int pageCount = image.NumberOfDirectories();
for (int page = 0; page < pageCount; page++)
{
process.WaitForExit();
image.SetDirectory((short)page);
int width = image.GetField(TiffTag.IMAGEWIDTH)[0].ToInt();
int height = image.GetField(TiffTag.IMAGELENGTH)[0].ToInt();
int[] raster = new int[height * width]; // 32-bit pixels
image.ReadRGBAImage(width, height, raster);
using (var bmp = new System.Drawing.Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb))
{
var bmpData = bmp.LockBits(
new System.Drawing.Rectangle(0, 0, width, height),
System.Drawing.Imaging.ImageLockMode.WriteOnly,
bmp.PixelFormat);
System.Runtime.InteropServices.Marshal.Copy(raster, 0, bmpData.Scan0, raster.Length);
bmp.UnlockBits(bmpData);
PdfPage pagePdf = pdf.AddPage();
pagePdf.Width = XUnit.FromPoint(width);
pagePdf.Height = XUnit.FromPoint(height);
using (XGraphics gfx = XGraphics.FromPdfPage(pagePdf))
{
// Save Bitmap to a temporary PNG
string tempPath = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".png");
bmp.Save(tempPath, System.Drawing.Imaging.ImageFormat.Png);
// Load PNG into XImage
using (XImage img = XImage.FromFile(tempPath))
{
gfx.DrawImage(img, 0, 0, width, height);
}
// Delete temporary file
File.Delete(tempPath);
}
// Perform OCR to extract text
string extractedText = PerformOcr(bmp, ocrLanguage);
// Overlay OCR text onto the PDF page
OverlayTextOntoPdfPage(pdf, pagePdf, extractedText);
}
}
}
}
if (Directory.GetFiles(sourceDir, "*." + strExtension).Length != Directory.GetFiles(outputDir, "*.pdf").Length)
pdf.Save(outputPdfPath);
}
private void MergePdfs(string[] pdfFiles, string outputPdfPath)
{
PdfDocument outputPdf = new PdfDocument();
foreach (var pdfFile in pdfFiles)
{
PdfDocument inputPdf = PdfReader.Open(pdfFile, PdfDocumentOpenMode.Import);
foreach (PdfPage page in inputPdf.Pages)
{
MessageBox.Show("Not all files were converted to PDF");
outputPdf.AddPage(page);
}
}
*/
outputPdf.Save(outputPdfPath);
}
private string PerformOcr(System.Drawing.Bitmap image, string language)
{
using (var engine = new TesseractEngine(@"./tessdata", language, EngineMode.Default))
{
using (var page = engine.Process(image))
{
return page.GetText();
}
}
}
private void OverlayTextOntoPdfPage(PdfDocument pdf, PdfPage page, string text)
{
// Implement text overlay logic here
}
private async Task prepConvertToTempOutdir(string[] strFiles)
{
try

View File

@@ -74,6 +74,9 @@
<ApplicationIcon>chicken_lips.ico</ApplicationIcon>
</PropertyGroup>
<ItemGroup>
<Reference Include="BitMiracle.LibTiff.NET, Version=2.4.660.0, Culture=neutral, PublicKeyToken=53879b3e20e7a7d6, processorArchitecture=MSIL">
<HintPath>..\packages\BitMiracle.LibTiff.NET.2.4.660\lib\netstandard2.0\BitMiracle.LibTiff.NET.dll</HintPath>
</Reference>
<Reference Include="Magick.NET-Q8-AnyCPU, Version=14.8.0.0, Culture=neutral, PublicKeyToken=2004825badfa91ec, processorArchitecture=MSIL">
<HintPath>..\packages\Magick.NET-Q8-AnyCPU.14.8.0\lib\netstandard20\Magick.NET-Q8-AnyCPU.dll</HintPath>
</Reference>
@@ -83,16 +86,79 @@
<Reference Include="Magick.NET.SystemDrawing, Version=8.0.0.0, Culture=neutral, PublicKeyToken=2004825badfa91ec, processorArchitecture=MSIL">
<HintPath>..\packages\Magick.NET.SystemDrawing.8.0.8\lib\net462\Magick.NET.SystemDrawing.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Bcl.AsyncInterfaces, Version=8.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Bcl.AsyncInterfaces.8.0.0\lib\net462\Microsoft.Bcl.AsyncInterfaces.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.DependencyInjection, Version=8.0.0.1, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.8.0.1\lib\net462\Microsoft.Extensions.DependencyInjection.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.DependencyInjection.Abstractions, Version=8.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.DependencyInjection.Abstractions.8.0.2\lib\net462\Microsoft.Extensions.DependencyInjection.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging, Version=8.0.0.1, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.8.0.1\lib\net462\Microsoft.Extensions.Logging.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Logging.Abstractions, Version=8.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Logging.Abstractions.8.0.2\lib\net462\Microsoft.Extensions.Logging.Abstractions.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Options, Version=8.0.0.2, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Options.8.0.2\lib\net462\Microsoft.Extensions.Options.dll</HintPath>
</Reference>
<Reference Include="Microsoft.Extensions.Primitives, Version=8.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60, processorArchitecture=MSIL">
<HintPath>..\packages\Microsoft.Extensions.Primitives.8.0.0\lib\net462\Microsoft.Extensions.Primitives.dll</HintPath>
</Reference>
<Reference Include="Microsoft.WindowsAPICodePack, Version=1.1.2.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\WindowsAPICodePack-Core.1.1.2\lib\Microsoft.WindowsAPICodePack.dll</HintPath>
</Reference>
<Reference Include="Microsoft.WindowsAPICodePack.Shell, Version=1.1.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\WindowsAPICodePack-Shell.1.1.1\lib\Microsoft.WindowsAPICodePack.Shell.dll</HintPath>
</Reference>
<Reference Include="PdfSharp, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp.6.2.1\lib\netstandard2.0\PdfSharp.dll</HintPath>
</Reference>
<Reference Include="PdfSharp.BarCodes, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp.6.2.1\lib\netstandard2.0\PdfSharp.BarCodes.dll</HintPath>
</Reference>
<Reference Include="PdfSharp.Charting, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp.6.2.1\lib\netstandard2.0\PdfSharp.Charting.dll</HintPath>
</Reference>
<Reference Include="PdfSharp.Quality, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp.6.2.1\lib\netstandard2.0\PdfSharp.Quality.dll</HintPath>
</Reference>
<Reference Include="PdfSharp.Snippets, Version=6.2.1.0, Culture=neutral, PublicKeyToken=f94615aa0424f9eb, processorArchitecture=MSIL">
<HintPath>..\packages\PDFsharp.6.2.1\lib\netstandard2.0\PdfSharp.Snippets.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.ComponentModel.DataAnnotations" />
<Reference Include="System.Configuration.Install" />
<Reference Include="System.Core" />
<Reference Include="System.Diagnostics.DiagnosticSource, Version=8.0.0.1, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Diagnostics.DiagnosticSource.8.0.1\lib\net462\System.Diagnostics.DiagnosticSource.dll</HintPath>
</Reference>
<Reference Include="System.Management" />
<Reference Include="System.Memory, Version=4.0.1.2, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.Memory.4.5.5\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=6.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Runtime.CompilerServices.Unsafe.6.0.0\lib\net461\System.Runtime.CompilerServices.Unsafe.dll</HintPath>
</Reference>
<Reference Include="System.Security" />
<Reference Include="System.Security.Cryptography.Pkcs, Version=8.0.0.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
<HintPath>..\packages\System.Security.Cryptography.Pkcs.8.0.1\lib\net462\System.Security.Cryptography.Pkcs.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.ValueTuple, Version=4.0.3.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51, processorArchitecture=MSIL">
<HintPath>..\packages\System.ValueTuple.4.5.0\lib\net47\System.ValueTuple.dll</HintPath>
</Reference>
<Reference Include="System.Xml.Linq" />
<Reference Include="System.Data.DataSetExtensions" />
<Reference Include="Microsoft.CSharp" />
@@ -102,6 +168,9 @@
<Reference Include="System.Net.Http" />
<Reference Include="System.Windows.Forms" />
<Reference Include="System.Xml" />
<Reference Include="Tesseract, Version=5.2.0.0, Culture=neutral, processorArchitecture=MSIL">
<HintPath>..\packages\Tesseract.5.2.0\lib\net47\Tesseract.dll</HintPath>
</Reference>
</ItemGroup>
<ItemGroup>
<Compile Include="ImageService.cs" />
@@ -128,6 +197,7 @@
<Compile Include="SettingsForm.Designer.cs">
<DependentUpon>SettingsForm.cs</DependentUpon>
</Compile>
<Compile Include="TiffToPdfConverter.cs" />
<EmbeddedResource Include="LanguagesForm.resx">
<DependentUpon>LanguagesForm.cs</DependentUpon>
</EmbeddedResource>
@@ -190,6 +260,8 @@
</PropertyGroup>
<Error Condition="!Exists('..\packages\Magick.NET-Q8-AnyCPU.14.8.0\build\netstandard20\Magick.NET-Q8-AnyCPU.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Magick.NET-Q8-AnyCPU.14.8.0\build\netstandard20\Magick.NET-Q8-AnyCPU.targets'))" />
<Error Condition="!Exists('..\packages\wix.3.14.1\build\wix.props')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\wix.3.14.1\build\wix.props'))" />
<Error Condition="!Exists('..\packages\Tesseract.5.2.0\build\Tesseract.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\Tesseract.5.2.0\build\Tesseract.targets'))" />
</Target>
<Import Project="..\packages\Magick.NET-Q8-AnyCPU.14.8.0\build\netstandard20\Magick.NET-Q8-AnyCPU.targets" Condition="Exists('..\packages\Magick.NET-Q8-AnyCPU.14.8.0\build\netstandard20\Magick.NET-Q8-AnyCPU.targets')" />
<Import Project="..\packages\Tesseract.5.2.0\build\Tesseract.targets" Condition="Exists('..\packages\Tesseract.5.2.0\build\Tesseract.targets')" />
</Project>

View File

@@ -0,0 +1,147 @@
using System;
using System.IO;
using System.Drawing;
using BitMiracle.LibTiff.Classic;
using PdfSharp.Pdf;
using PdfSharp.Drawing;
using Tesseract;
using System.Windows.Forms;
using System.Linq;
namespace RCEU_PDFWorkflowManager
{
public class TiffToPdfConverter
{
public void ConvertTiffToPdfAWithOcr(
string workOutDir,
string outputPdfPath,
string ocrLanguage,
ToolStripProgressBar progressBar,
ToolStripStatusLabel statusLabel)
{
string[] tiffFiles = Directory.GetFiles(workOutDir, "*.tif");
// Count total pages for progress bar
int totalPages = tiffFiles.Sum(file => Tiff.Open(file, "r")?.NumberOfDirectories() ?? 0);
progressBar.Maximum = totalPages;
progressBar.Value = 0;
statusLabel.Text = "Converting TIFFs to PDF...";
PdfDocument pdf = new PdfDocument();
pdf.Info.Title = "Converted TIFF to PDF/A";
pdf.Info.Creator = "RCEU_PDFWorkflowManager";
foreach (var tiffFile in tiffFiles)
{
using (Tiff image = Tiff.Open(tiffFile, "r"))
{
if (image == null) continue;
int pageCount = image.NumberOfDirectories();
for (int pageIndex = 0; pageIndex < pageCount; pageIndex++)
{
image.SetDirectory((short)pageIndex);
int width = image.GetField(TiffTag.IMAGEWIDTH)[0].ToInt();
int height = image.GetField(TiffTag.IMAGELENGTH)[0].ToInt();
int[] raster = new int[width * height];
image.ReadRGBAImage(width, height, raster);
using (var bmp = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb))
{
var bmpData = bmp.LockBits(
new Rectangle(0, 0, width, height),
System.Drawing.Imaging.ImageLockMode.WriteOnly,
bmp.PixelFormat);
System.Runtime.InteropServices.Marshal.Copy(raster, 0, bmpData.Scan0, raster.Length);
bmp.UnlockBits(bmpData);
PdfPage pagePdf = pdf.AddPage();
pagePdf.Width = XUnit.FromPoint(width);
pagePdf.Height = XUnit.FromPoint(height);
using (XGraphics gfx = XGraphics.FromPdfPage(pagePdf))
{
// Save temp PNG
string tempPath = Path.Combine(Path.GetTempPath(), Guid.NewGuid() + ".png");
bmp.Save(tempPath, System.Drawing.Imaging.ImageFormat.Png);
using (XImage ximg = XImage.FromFile(tempPath))
{
gfx.DrawImage(ximg, 0, 0, width, height);
}
File.Delete(tempPath);
}
// OCR and overlay text
string extractedText = PerformOcr(tiffFile, pageIndex, ocrLanguage);
OverlayTextOntoPdfPage(pdf, pagePdf, extractedText);
// Update progress bar safely
if (progressBar.InvokeRequired)
{
progressBar.Invoke((MethodInvoker)delegate
{
progressBar.Value++;
});
}
else
{
progressBar.Value++;
}
}
}
}
}
pdf.Save(outputPdfPath);
statusLabel.Text = "Conversion complete!";
}
// OCR method
private string PerformOcr(string tiffFile, int pageIndex, string language)
{
using (Tiff tiff = Tiff.Open(tiffFile, "r"))
{
tiff.SetDirectory((short)pageIndex);
int width = tiff.GetField(TiffTag.IMAGEWIDTH)[0].ToInt();
int height = tiff.GetField(TiffTag.IMAGELENGTH)[0].ToInt();
int[] raster = new int[width * height];
tiff.ReadRGBAImage(width, height, raster);
using (Bitmap bmp = new Bitmap(width, height, System.Drawing.Imaging.PixelFormat.Format32bppArgb))
{
for (int y = 0; y < height; y++)
for (int x = 0; x < width; x++)
{
int rgba = raster[y * width + x];
int r = rgba & 0xFF;
int g = (rgba >> 8) & 0xFF;
int b = (rgba >> 16) & 0xFF;
bmp.SetPixel(x, height - y - 1, Color.FromArgb(255, r, g, b));
}
using (var engine = new TesseractEngine(@"./tessdata", language, EngineMode.Default))
using (var page = engine.Process(bmp))
{
return page.GetText();
}
}
}
}
// Overlay OCR text (invisible but searchable)
private void OverlayTextOntoPdfPage(PdfDocument pdf, PdfPage page, string text)
{
using (XGraphics gfx = XGraphics.FromPdfPage(page, XGraphicsPdfPageOptions.Prepend))
{
XFont font = new XFont("Arial", 10); // regular font
gfx.DrawString(text, font, XBrushes.Transparent, new XRect(0, 0, page.Width, page.Height));
}
}
}
}

View File

@@ -1,8 +1,26 @@
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="BitMiracle.LibTiff.NET" version="2.4.660" targetFramework="net472" />
<package id="Magick.NET.Core" version="14.8.0" targetFramework="net472" />
<package id="Magick.NET.SystemDrawing" version="8.0.8" targetFramework="net472" />
<package id="Magick.NET-Q8-AnyCPU" version="14.8.0" targetFramework="net472" />
<package id="Microsoft.Bcl.AsyncInterfaces" version="8.0.0" targetFramework="net472" />
<package id="Microsoft.Extensions.DependencyInjection" version="8.0.1" targetFramework="net472" />
<package id="Microsoft.Extensions.DependencyInjection.Abstractions" version="8.0.2" targetFramework="net472" />
<package id="Microsoft.Extensions.Logging" version="8.0.1" targetFramework="net472" />
<package id="Microsoft.Extensions.Logging.Abstractions" version="8.0.2" targetFramework="net472" />
<package id="Microsoft.Extensions.Options" version="8.0.2" targetFramework="net472" />
<package id="Microsoft.Extensions.Primitives" version="8.0.0" targetFramework="net472" />
<package id="PDFsharp" version="6.2.1" targetFramework="net472" />
<package id="System.Buffers" version="4.5.1" targetFramework="net472" />
<package id="System.Diagnostics.DiagnosticSource" version="8.0.1" targetFramework="net472" />
<package id="System.Memory" version="4.5.5" targetFramework="net472" />
<package id="System.Numerics.Vectors" version="4.5.0" targetFramework="net472" />
<package id="System.Runtime.CompilerServices.Unsafe" version="6.0.0" targetFramework="net472" />
<package id="System.Security.Cryptography.Pkcs" version="8.0.1" targetFramework="net472" />
<package id="System.Threading.Tasks.Extensions" version="4.5.4" targetFramework="net472" />
<package id="System.ValueTuple" version="4.5.0" targetFramework="net472" />
<package id="Tesseract" version="5.2.0" targetFramework="net472" />
<package id="WindowsAPICodePack-Core" version="1.1.2" targetFramework="net472" />
<package id="WindowsAPICodePack-Shell" version="1.1.1" targetFramework="net472" />
<package id="wix" version="3.14.1" targetFramework="net472" />

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@@ -0,0 +1,23 @@
The MIT License (MIT)
Copyright (c) .NET Foundation and Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,64 @@
## About
As of C# 8, the C# language has support for producing and consuming asynchronous iterators. The library types in support of those features are available in .NET Core 3.0 and newer as well as in .NET Standard 2.1. This library provides the necessary definitions of those types to support these language features on .NET Framework and on .NET Standard 2.0. This library is not necessary nor recommended when targeting versions of .NET that include the relevant support.
## Key Features
<!-- The key features of this package -->
* Enables the use of C# async iterators on older .NET platforms
## How to Use
<!-- A compelling example on how to use this package with code, as well as any specific guidelines for when to use the package -->
```C#
using System;
using System.Collections.Generic;
using System.Threading.Tasks;
internal static class Program
{
private static async Task Main()
{
Console.WriteLine("Starting...");
await foreach (var value in GetValuesAsync())
{
Console.WriteLine(value);
}
Console.WriteLine("Finished!");
static async IAsyncEnumerable<int> GetValuesAsync()
{
for (int i = 0; i < 10; i++)
{
await Task.Delay(TimeSpan.FromSeconds(1));
yield return i;
}
}
}
}
```
## Main Types
<!-- The main types provided in this library -->
The main types provided by this library are:
* `IAsyncEnumerable<T>`
* `IAsyncEnumerator<T>`
* `IAsyncDisposable<T>`
## Additional Documentation
<!-- Links to further documentation. Remove conceptual documentation if not available for the library. -->
* [C# Feature Specification](https://learn.microsoft.com/dotnet/csharp/language-reference/proposals/csharp-8.0/async-streams)
* [Walkthrough article](https://learn.microsoft.com/archive/msdn-magazine/2019/november/csharp-iterating-with-async-enumerables-in-csharp-8)
## Feedback & Contributing
<!-- How to provide feedback on this package and contribute to it -->
Microsoft.Bcl.AsyncInterfaces is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,6 @@
<Project InitialTargets="NETStandardCompatError_Microsoft_Bcl_AsyncInterfaces_net462">
<Target Name="NETStandardCompatError_Microsoft_Bcl_AsyncInterfaces_net462"
Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
<Warning Text="Microsoft.Bcl.AsyncInterfaces 8.0.0 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net462 or later. You may also set &lt;SuppressTfmSupportBuildWarnings&gt;true&lt;/SuppressTfmSupportBuildWarnings&gt; in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
</Target>
</Project>

View File

@@ -0,0 +1,417 @@
<?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="M:System.Runtime.CompilerServices.ConfiguredAsyncDisposable.DisposeAsync">
<summary>Asynchronously releases the unmanaged resources used by the <see cref="T:System.Runtime.CompilerServices.ConfiguredAsyncDisposable" />.</summary>
<returns>A task that represents the asynchronous dispose operation.</returns>
</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="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.GetAsyncEnumerator">
<summary>Returns an enumerator that iterates asynchronously through collections that enables cancelable iteration and configured awaits.</summary>
<returns>An enumerator for the <see cref="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1" /> class.</returns>
</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.Runtime.CompilerServices.EnumeratorCancellationAttribute">
<summary>Allows users of async-enumerable methods to mark the parameter that should receive the cancellation token value from <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)" />.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.EnumeratorCancellationAttribute.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Runtime.CompilerServices.EnumeratorCancellationAttribute" /> class.</summary>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</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>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,417 @@
<?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="M:System.Runtime.CompilerServices.ConfiguredAsyncDisposable.DisposeAsync">
<summary>Asynchronously releases the unmanaged resources used by the <see cref="T:System.Runtime.CompilerServices.ConfiguredAsyncDisposable" />.</summary>
<returns>A task that represents the asynchronous dispose operation.</returns>
</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="M:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1.GetAsyncEnumerator">
<summary>Returns an enumerator that iterates asynchronously through collections that enables cancelable iteration and configured awaits.</summary>
<returns>An enumerator for the <see cref="T:System.Runtime.CompilerServices.ConfiguredCancelableAsyncEnumerable`1" /> class.</returns>
</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.Runtime.CompilerServices.EnumeratorCancellationAttribute">
<summary>Allows users of async-enumerable methods to mark the parameter that should receive the cancellation token value from <see cref="M:System.Collections.Generic.IAsyncEnumerable`1.GetAsyncEnumerator(System.Threading.CancellationToken)" />.</summary>
</member>
<member name="M:System.Runtime.CompilerServices.EnumeratorCancellationAttribute.#ctor">
<summary>Initializes a new instance of the <see cref="T:System.Runtime.CompilerServices.EnumeratorCancellationAttribute" /> class.</summary>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</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>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,124 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Bcl.AsyncInterfaces</name>
</assembly>
<members>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
</members>
</doc>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@@ -0,0 +1,23 @@
The MIT License (MIT)
Copyright (c) .NET Foundation and Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,50 @@
## About
Supports the dependency injection (DI) software design pattern which is a technique for achieving Inversion of Control (IoC) between classes and their dependencies.
## Key Features
Provides an implementation of the DI interfaces found in the `Microsoft.Extensions.DependencyInjection.Abstractions` package.
## How to Use
```cs
ServiceCollection services = new ();
services.AddSingleton<IMessageWriter, MessageWriter>();
using ServiceProvider provider = services.BuildServiceProvider();
// The code below, following the IoC pattern, is typically only aware of the IMessageWriter interface, not the implementation.
IMessageWriter messageWriter = provider.GetService<IMessageWriter>()!;
messageWriter.Write("Hello");
public interface IMessageWriter
{
void Write(string message);
}
internal class MessageWriter : IMessageWriter
{
public void Write(string message)
{
Console.WriteLine($"MessageWriter.Write(message: \"{message}\")");
}
}
```
## Main Types
The main types provided by this library are:
* `Microsoft.Extensions.DependencyInjection.DefaultServiceProviderFactory`
* `Microsoft.Extensions.DependencyInjection.ServiceCollectionContainerBuilderExtensions`
* `Microsoft.Extensions.DependencyInjection.ServiceProvider`
## Additional Documentation
* [Conceptual documentation](https://learn.microsoft.com/dotnet/core/extensions/dependency-injection)
* API documentation
- [DefaultServiceProviderFactory](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.defaultserviceproviderfactory)
- [ServiceCollectionContainerBuilderExtensions](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicecollectioncontainerbuilderextensions)
- [ServiceProvider](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.serviceprovider)
## Related Packages
- `Microsoft.Extensions.DependencyInjection.Abstractions`
- `Microsoft.Extensions.Hosting`
- `Microsoft.Extensions.Options`
## Feedback & Contributing
Microsoft.Extensions.DependencyInjection is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).

View File

@@ -0,0 +1,6 @@
<Project InitialTargets="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_net462">
<Target Name="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_net462"
Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
<Warning Text="Microsoft.Extensions.DependencyInjection 8.0.1 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net462 or later. You may also set &lt;SuppressTfmSupportBuildWarnings&gt;true&lt;/SuppressTfmSupportBuildWarnings&gt; in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
</Target>
</Project>

View File

@@ -0,0 +1,6 @@
<Project InitialTargets="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_net6_0">
<Target Name="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_net6_0"
Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
<Warning Text="Microsoft.Extensions.DependencyInjection 8.0.1 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net6.0 or later. You may also set &lt;SuppressTfmSupportBuildWarnings&gt;true&lt;/SuppressTfmSupportBuildWarnings&gt; in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
</Target>
</Project>

View File

@@ -0,0 +1,666 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Extensions.DependencyInjection</name>
</assembly>
<members>
<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>
<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>
</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.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="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.ValidateTrimmingAnnotations(System.Type,System.Type[],System.Type,System.Type[])">
<summary>
Validates that two generic type definitions have compatible trimming annotations on their generic arguments.
</summary>
<remarks>
When open generic types are used in DI, there is an error when the concrete implementation type
has [DynamicallyAccessedMembers] attributes on a generic argument type, but the interface/service type
doesn't have matching annotations. The problem is that the trimmer doesn't see the members that need to
be preserved on the type being passed to the generic argument. But when the interface/service type also has
the annotations, the trimmer will see which members need to be preserved on the closed generic argument type.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],System.Boolean)">
<returns>Not <b>null</b> if <b>throwIfCallSiteNotFound</b> is true</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.VerifyOpenGenericAotCompatibility(System.Type,System.Type[])">
<summary>
Verifies none of the generic type arguments are ValueTypes.
</summary>
<remarks>
NativeAOT apps are not guaranteed that the native code for the closed generic of ValueType
has been generated. To catch these problems early, this verification is enabled at development-time
to inform the developer early that this scenario will not work once AOT'd.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.KeysMatch(System.Object,System.Object)">
<summary>
Returns true if both keys are null or equals, or if key1 is KeyedService.AnyKey and key2 is not null
</summary>
</member>
<member name="P:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.ServiceIdentifier">
<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 <c>IEnumerable&lt;Type&gt;</c> 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="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.Equals(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey)">
<summary>Indicates whether the current instance is equal to another instance of the same type.</summary>
<param name="other">An instance to compare with this instance.</param>
<returns>true if the current instance is equal to the other instance; otherwise, false.</returns>
</member>
<member name="T:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite">
<summary>
Summary description for ServiceCallSite
</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.GetKeyedService(System.Type,System.Object)">
<summary>
Gets the service object of the specified type with the specified key.
</summary>
<param name="serviceType">The type of the service to get.</param>
<param name="serviceKey">The key of the service to get.</param>
<returns>The keyed service.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.GetRequiredKeyedService(System.Type,System.Object)">
<summary>
Gets the service object of the specified type. Will throw if the service not found.
</summary>
<param name="serviceType">The type of the service to get.</param>
<param name="serviceKey">The key of the service to get.</param>
<returns>The keyed service.</returns>
<exception cref="T:System.InvalidOperationException"></exception>
</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 <c>BuildServiceProvider</c> call; otherwise <c>false</c>. Defaults to <c>false</c>.
NOTE: this check doesn't verify open generics services.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute">
<summary>
Indicates that certain members on a specified <see cref="T:System.Type"/> are accessed dynamically,
for example through <see cref="N:System.Reflection"/>.
</summary>
<remarks>
This allows tools to understand which members are being accessed during the execution
of a program.
This attribute is valid on members whose type is <see cref="T:System.Type"/> or <see cref="T:System.String"/>.
When this attribute is applied to a location of type <see cref="T:System.String"/>, the assumption is
that the string represents a fully qualified type name.
When this attribute is applied to a class, interface, or struct, the members specified
can be accessed dynamically on <see cref="T:System.Type"/> instances returned from calling
<see cref="M:System.Object.GetType"/> on instances of that class, interface, or struct.
If the attribute is applied to a method it's treated as a special case and it implies
the attribute should be applied to the "this" parameter of the method. As such the attribute
should only be used on instance methods of types assignable to System.Type (or string, but no methods
will use it there).
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute"/> class
with the specified member types.
</summary>
<param name="memberTypes">The types of members dynamically accessed.</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.MemberTypes">
<summary>
Gets the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes"/> which specifies the type
of members dynamically accessed.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes">
<summary>
Specifies the types of members that are dynamically accessed.
This enumeration has a <see cref="T:System.FlagsAttribute"/> attribute that allows a
bitwise combination of its member values.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.None">
<summary>
Specifies no members.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor">
<summary>
Specifies the default, parameterless public constructor.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors">
<summary>
Specifies all public constructors.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors">
<summary>
Specifies all non-public constructors.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods">
<summary>
Specifies all public methods.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods">
<summary>
Specifies all non-public methods.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicFields">
<summary>
Specifies all public fields.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFields">
<summary>
Specifies all non-public fields.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes">
<summary>
Specifies all public nested types.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes">
<summary>
Specifies all non-public nested types.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties">
<summary>
Specifies all public properties.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties">
<summary>
Specifies all non-public properties.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicEvents">
<summary>
Specifies all public events.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicEvents">
<summary>
Specifies all non-public events.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces">
<summary>
Specifies all interfaces implemented by the type.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All">
<summary>
Specifies all members.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute">
<summary>
Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
single code artifact.
</summary>
<remarks>
<see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> is different than
<see cref="T:System.Diagnostics.CodeAnalysis.SuppressMessageAttribute"/> in that it doesn't have a
<see cref="T:System.Diagnostics.ConditionalAttribute"/>. So it is always preserved in the compiled assembly.
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.#ctor(System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/>
class, specifying the category of the tool and the identifier for an analysis rule.
</summary>
<param name="category">The category for the attribute.</param>
<param name="checkId">The identifier of the analysis rule the attribute applies to.</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category">
<summary>
Gets the category identifying the classification of the attribute.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> property describes the tool or tool analysis category
for which a message suppression attribute applies.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId">
<summary>
Gets the identifier of the analysis tool rule to be suppressed.
</summary>
<remarks>
Concatenated together, the <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> and <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId"/>
properties form a unique check identifier.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Scope">
<summary>
Gets or sets the scope of the code that is relevant for the attribute.
</summary>
<remarks>
The Scope property is an optional argument that specifies the metadata scope for which
the attribute is relevant.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target">
<summary>
Gets or sets a fully qualified path that represents the target of the attribute.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target"/> property is an optional argument identifying the analysis target
of the attribute. An example value is "System.IO.Stream.ctor():System.Void".
Because it is fully qualified, it can be long, particularly for targets such as parameters.
The analysis tool user interface should be capable of automatically formatting the parameter.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId">
<summary>
Gets or sets an optional argument expanding on exclusion criteria.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId"/> property is an optional argument that specifies additional
exclusion where the literal metadata target is not sufficiently precise. For example,
the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> cannot be applied within a method,
and it may be desirable to suppress a violation against a statement in the method that will
give a rule violation, but not against all statements in the method.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Justification">
<summary>
Gets or sets the justification for suppressing the code analysis message.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute">
<summary>
Indicates that the specified method requires the ability to generate new code at runtime,
for example through <see cref="N:System.Reflection"/>.
</summary>
<remarks>
This allows tools to understand which methods are unsafe to call when compiling ahead of time.
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute"/> class
with the specified message.
</summary>
<param name="message">
A message that contains information about the usage of dynamic code.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Message">
<summary>
Gets a message that contains information about the usage of dynamic code.
</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Url">
<summary>
Gets or sets an optional URL that contains more information about the method,
why it requires dynamic code, and what options a consumer has to deal with it.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="P:System.SR.AmbiguousConstructorException">
<summary>Unable to activate type '{0}'. The following constructors are ambiguous:</summary>
</member>
<member name="P:System.SR.CannotResolveService">
<summary>Unable to resolve service for type '{0}' while attempting to activate '{1}'.</summary>
</member>
<member name="P:System.SR.CircularDependencyException">
<summary>A circular dependency was detected for the service of type '{0}'.</summary>
</member>
<member name="P:System.SR.UnableToActivateTypeException">
<summary>No constructor for type '{0}' can be instantiated using services from the service container and default values.</summary>
</member>
<member name="P:System.SR.OpenGenericServiceRequiresOpenGenericImplementation">
<summary>Open generic service type '{0}' requires registering an open generic implementation type.</summary>
</member>
<member name="P:System.SR.ArityOfOpenGenericServiceNotEqualArityOfOpenGenericImplementation">
<summary>Arity of open generic service type '{0}' does not equal arity of open generic implementation type '{1}'.</summary>
</member>
<member name="P:System.SR.TypeCannotBeActivated">
<summary>Cannot instantiate implementation type '{0}' for service type '{1}'.</summary>
</member>
<member name="P:System.SR.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="P:System.SR.ScopedInSingletonException">
<summary>Cannot consume {2} service '{0}' from {3} '{1}'.</summary>
</member>
<member name="P:System.SR.ScopedResolvedFromRootException">
<summary>Cannot resolve '{0}' from root provider because it requires {2} service '{1}'.</summary>
</member>
<member name="P:System.SR.DirectScopedResolvedFromRootException">
<summary>Cannot resolve {1} service '{0}' from root provider.</summary>
</member>
<member name="P:System.SR.ConstantCantBeConvertedToServiceType">
<summary>Constant value of type '{0}' can't be converted to service type '{1}'</summary>
</member>
<member name="P:System.SR.ImplementationTypeCantBeConvertedToServiceType">
<summary>Implementation type '{0}' can't be converted to service type '{1}'</summary>
</member>
<member name="P:System.SR.AsyncDisposableServiceDispose">
<summary>'{0}' type only implements IAsyncDisposable. Use DisposeAsync to dispose the container.</summary>
</member>
<member name="P:System.SR.GetCaptureDisposableNotSupported">
<summary>GetCaptureDisposable call is supported only for main scope</summary>
</member>
<member name="P:System.SR.InvalidServiceDescriptor">
<summary>Invalid service descriptor</summary>
</member>
<member name="P:System.SR.ServiceDescriptorNotExist">
<summary>Requested service descriptor doesn't exist.</summary>
</member>
<member name="P:System.SR.CallSiteTypeNotSupported">
<summary>Call site type {0} is not supported</summary>
</member>
<member name="P:System.SR.TrimmingAnnotationsDoNotMatch">
<summary>Generic implementation type '{0}' has a DynamicallyAccessedMembers attribute applied to a generic argument type, but the service type '{1}' doesn't have a matching DynamicallyAccessedMembers attribute on its generic argument type.</summary>
</member>
<member name="P:System.SR.TrimmingAnnotationsDoNotMatch_NewConstraint">
<summary>Generic implementation type '{0}' has a DefaultConstructorConstraint ('new()' constraint), but the generic service type '{1}' doesn't.</summary>
</member>
<member name="P:System.SR.AotCannotCreateEnumerableValueType">
<summary>Unable to create an Enumerable service of type '{0}' because it is a ValueType. Native code to support creating Enumerable services might not be available with native AOT.</summary>
</member>
<member name="P:System.SR.AotCannotCreateGenericValueType">
<summary>Unable to create a generic service for type '{0}' because '{1}' is a ValueType. Native code to support creating generic services might not be available with native AOT.</summary>
</member>
<member name="P:System.SR.NoServiceRegistered">
<summary>No service for type '{0}' has been registered.</summary>
</member>
<member name="P:System.SR.InvalidServiceKeyType">
<summary>The type of the key used for lookup doesn't match the type in the constructor parameter with the ServiceKey attribute.</summary>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,358 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Extensions.DependencyInjection</name>
</assembly>
<members>
<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>
<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>
</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.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="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.ValidateTrimmingAnnotations(System.Type,System.Type[],System.Type,System.Type[])">
<summary>
Validates that two generic type definitions have compatible trimming annotations on their generic arguments.
</summary>
<remarks>
When open generic types are used in DI, there is an error when the concrete implementation type
has [DynamicallyAccessedMembers] attributes on a generic argument type, but the interface/service type
doesn't have matching annotations. The problem is that the trimmer doesn't see the members that need to
be preserved on the type being passed to the generic argument. But when the interface/service type also has
the annotations, the trimmer will see which members need to be preserved on the closed generic argument type.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],System.Boolean)">
<returns>Not <b>null</b> if <b>throwIfCallSiteNotFound</b> is true</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.VerifyOpenGenericAotCompatibility(System.Type,System.Type[])">
<summary>
Verifies none of the generic type arguments are ValueTypes.
</summary>
<remarks>
NativeAOT apps are not guaranteed that the native code for the closed generic of ValueType
has been generated. To catch these problems early, this verification is enabled at development-time
to inform the developer early that this scenario will not work once AOT'd.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.KeysMatch(System.Object,System.Object)">
<summary>
Returns true if both keys are null or equals, or if key1 is KeyedService.AnyKey and key2 is not null
</summary>
</member>
<member name="P:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.ServiceIdentifier">
<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 <c>IEnumerable&lt;Type&gt;</c> 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="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.Equals(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey)">
<summary>Indicates whether the current instance is equal to another instance of the same type.</summary>
<param name="other">An instance to compare with this instance.</param>
<returns>true if the current instance is equal to the other instance; otherwise, false.</returns>
</member>
<member name="T:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite">
<summary>
Summary description for ServiceCallSite
</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.GetKeyedService(System.Type,System.Object)">
<summary>
Gets the service object of the specified type with the specified key.
</summary>
<param name="serviceType">The type of the service to get.</param>
<param name="serviceKey">The key of the service to get.</param>
<returns>The keyed service.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.GetRequiredKeyedService(System.Type,System.Object)">
<summary>
Gets the service object of the specified type. Will throw if the service not found.
</summary>
<param name="serviceType">The type of the service to get.</param>
<param name="serviceKey">The key of the service to get.</param>
<returns>The keyed service.</returns>
<exception cref="T:System.InvalidOperationException"></exception>
</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 <c>BuildServiceProvider</c> call; otherwise <c>false</c>. Defaults to <c>false</c>.
NOTE: this check doesn't verify open generics services.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute">
<summary>
Indicates that the specified method requires the ability to generate new code at runtime,
for example through <see cref="N:System.Reflection"/>.
</summary>
<remarks>
This allows tools to understand which methods are unsafe to call when compiling ahead of time.
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute"/> class
with the specified message.
</summary>
<param name="message">
A message that contains information about the usage of dynamic code.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Message">
<summary>
Gets a message that contains information about the usage of dynamic code.
</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Url">
<summary>
Gets or sets an optional URL that contains more information about the method,
why it requires dynamic code, and what options a consumer has to deal with it.
</summary>
</member>
<member name="P:System.SR.AmbiguousConstructorException">
<summary>Unable to activate type '{0}'. The following constructors are ambiguous:</summary>
</member>
<member name="P:System.SR.CannotResolveService">
<summary>Unable to resolve service for type '{0}' while attempting to activate '{1}'.</summary>
</member>
<member name="P:System.SR.CircularDependencyException">
<summary>A circular dependency was detected for the service of type '{0}'.</summary>
</member>
<member name="P:System.SR.UnableToActivateTypeException">
<summary>No constructor for type '{0}' can be instantiated using services from the service container and default values.</summary>
</member>
<member name="P:System.SR.OpenGenericServiceRequiresOpenGenericImplementation">
<summary>Open generic service type '{0}' requires registering an open generic implementation type.</summary>
</member>
<member name="P:System.SR.ArityOfOpenGenericServiceNotEqualArityOfOpenGenericImplementation">
<summary>Arity of open generic service type '{0}' does not equal arity of open generic implementation type '{1}'.</summary>
</member>
<member name="P:System.SR.TypeCannotBeActivated">
<summary>Cannot instantiate implementation type '{0}' for service type '{1}'.</summary>
</member>
<member name="P:System.SR.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="P:System.SR.ScopedInSingletonException">
<summary>Cannot consume {2} service '{0}' from {3} '{1}'.</summary>
</member>
<member name="P:System.SR.ScopedResolvedFromRootException">
<summary>Cannot resolve '{0}' from root provider because it requires {2} service '{1}'.</summary>
</member>
<member name="P:System.SR.DirectScopedResolvedFromRootException">
<summary>Cannot resolve {1} service '{0}' from root provider.</summary>
</member>
<member name="P:System.SR.ConstantCantBeConvertedToServiceType">
<summary>Constant value of type '{0}' can't be converted to service type '{1}'</summary>
</member>
<member name="P:System.SR.ImplementationTypeCantBeConvertedToServiceType">
<summary>Implementation type '{0}' can't be converted to service type '{1}'</summary>
</member>
<member name="P:System.SR.AsyncDisposableServiceDispose">
<summary>'{0}' type only implements IAsyncDisposable. Use DisposeAsync to dispose the container.</summary>
</member>
<member name="P:System.SR.GetCaptureDisposableNotSupported">
<summary>GetCaptureDisposable call is supported only for main scope</summary>
</member>
<member name="P:System.SR.InvalidServiceDescriptor">
<summary>Invalid service descriptor</summary>
</member>
<member name="P:System.SR.ServiceDescriptorNotExist">
<summary>Requested service descriptor doesn't exist.</summary>
</member>
<member name="P:System.SR.CallSiteTypeNotSupported">
<summary>Call site type {0} is not supported</summary>
</member>
<member name="P:System.SR.TrimmingAnnotationsDoNotMatch">
<summary>Generic implementation type '{0}' has a DynamicallyAccessedMembers attribute applied to a generic argument type, but the service type '{1}' doesn't have a matching DynamicallyAccessedMembers attribute on its generic argument type.</summary>
</member>
<member name="P:System.SR.TrimmingAnnotationsDoNotMatch_NewConstraint">
<summary>Generic implementation type '{0}' has a DefaultConstructorConstraint ('new()' constraint), but the generic service type '{1}' doesn't.</summary>
</member>
<member name="P:System.SR.AotCannotCreateEnumerableValueType">
<summary>Unable to create an Enumerable service of type '{0}' because it is a ValueType. Native code to support creating Enumerable services might not be available with native AOT.</summary>
</member>
<member name="P:System.SR.AotCannotCreateGenericValueType">
<summary>Unable to create a generic service for type '{0}' because '{1}' is a ValueType. Native code to support creating generic services might not be available with native AOT.</summary>
</member>
<member name="P:System.SR.NoServiceRegistered">
<summary>No service for type '{0}' has been registered.</summary>
</member>
<member name="P:System.SR.InvalidServiceKeyType">
<summary>The type of the key used for lookup doesn't match the type in the constructor parameter with the ServiceKey attribute.</summary>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,258 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Extensions.DependencyInjection</name>
</assembly>
<members>
<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>
<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>
</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.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="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.ValidateTrimmingAnnotations(System.Type,System.Type[],System.Type,System.Type[])">
<summary>
Validates that two generic type definitions have compatible trimming annotations on their generic arguments.
</summary>
<remarks>
When open generic types are used in DI, there is an error when the concrete implementation type
has [DynamicallyAccessedMembers] attributes on a generic argument type, but the interface/service type
doesn't have matching annotations. The problem is that the trimmer doesn't see the members that need to
be preserved on the type being passed to the generic argument. But when the interface/service type also has
the annotations, the trimmer will see which members need to be preserved on the closed generic argument type.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],System.Boolean)">
<returns>Not <b>null</b> if <b>throwIfCallSiteNotFound</b> is true</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.VerifyOpenGenericAotCompatibility(System.Type,System.Type[])">
<summary>
Verifies none of the generic type arguments are ValueTypes.
</summary>
<remarks>
NativeAOT apps are not guaranteed that the native code for the closed generic of ValueType
has been generated. To catch these problems early, this verification is enabled at development-time
to inform the developer early that this scenario will not work once AOT'd.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.KeysMatch(System.Object,System.Object)">
<summary>
Returns true if both keys are null or equals, or if key1 is KeyedService.AnyKey and key2 is not null
</summary>
</member>
<member name="P:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.ServiceIdentifier">
<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 <c>IEnumerable&lt;Type&gt;</c> 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="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.Equals(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey)">
<summary>Indicates whether the current instance is equal to another instance of the same type.</summary>
<param name="other">An instance to compare with this instance.</param>
<returns>true if the current instance is equal to the other instance; otherwise, false.</returns>
</member>
<member name="T:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite">
<summary>
Summary description for ServiceCallSite
</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.GetKeyedService(System.Type,System.Object)">
<summary>
Gets the service object of the specified type with the specified key.
</summary>
<param name="serviceType">The type of the service to get.</param>
<param name="serviceKey">The key of the service to get.</param>
<returns>The keyed service.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.GetRequiredKeyedService(System.Type,System.Object)">
<summary>
Gets the service object of the specified type. Will throw if the service not found.
</summary>
<param name="serviceType">The type of the service to get.</param>
<param name="serviceKey">The key of the service to get.</param>
<returns>The keyed service.</returns>
<exception cref="T:System.InvalidOperationException"></exception>
</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 <c>BuildServiceProvider</c> call; otherwise <c>false</c>. Defaults to <c>false</c>.
NOTE: this check doesn't verify open generics services.
</summary>
</member>
<member name="P:System.SR.AmbiguousConstructorException">
<summary>Unable to activate type '{0}'. The following constructors are ambiguous:</summary>
</member>
<member name="P:System.SR.CannotResolveService">
<summary>Unable to resolve service for type '{0}' while attempting to activate '{1}'.</summary>
</member>
<member name="P:System.SR.CircularDependencyException">
<summary>A circular dependency was detected for the service of type '{0}'.</summary>
</member>
<member name="P:System.SR.UnableToActivateTypeException">
<summary>No constructor for type '{0}' can be instantiated using services from the service container and default values.</summary>
</member>
<member name="P:System.SR.OpenGenericServiceRequiresOpenGenericImplementation">
<summary>Open generic service type '{0}' requires registering an open generic implementation type.</summary>
</member>
<member name="P:System.SR.ArityOfOpenGenericServiceNotEqualArityOfOpenGenericImplementation">
<summary>Arity of open generic service type '{0}' does not equal arity of open generic implementation type '{1}'.</summary>
</member>
<member name="P:System.SR.TypeCannotBeActivated">
<summary>Cannot instantiate implementation type '{0}' for service type '{1}'.</summary>
</member>
<member name="P:System.SR.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="P:System.SR.ScopedInSingletonException">
<summary>Cannot consume {2} service '{0}' from {3} '{1}'.</summary>
</member>
<member name="P:System.SR.ScopedResolvedFromRootException">
<summary>Cannot resolve '{0}' from root provider because it requires {2} service '{1}'.</summary>
</member>
<member name="P:System.SR.DirectScopedResolvedFromRootException">
<summary>Cannot resolve {1} service '{0}' from root provider.</summary>
</member>
<member name="P:System.SR.ConstantCantBeConvertedToServiceType">
<summary>Constant value of type '{0}' can't be converted to service type '{1}'</summary>
</member>
<member name="P:System.SR.ImplementationTypeCantBeConvertedToServiceType">
<summary>Implementation type '{0}' can't be converted to service type '{1}'</summary>
</member>
<member name="P:System.SR.AsyncDisposableServiceDispose">
<summary>'{0}' type only implements IAsyncDisposable. Use DisposeAsync to dispose the container.</summary>
</member>
<member name="P:System.SR.GetCaptureDisposableNotSupported">
<summary>GetCaptureDisposable call is supported only for main scope</summary>
</member>
<member name="P:System.SR.InvalidServiceDescriptor">
<summary>Invalid service descriptor</summary>
</member>
<member name="P:System.SR.ServiceDescriptorNotExist">
<summary>Requested service descriptor doesn't exist.</summary>
</member>
<member name="P:System.SR.CallSiteTypeNotSupported">
<summary>Call site type {0} is not supported</summary>
</member>
<member name="P:System.SR.TrimmingAnnotationsDoNotMatch">
<summary>Generic implementation type '{0}' has a DynamicallyAccessedMembers attribute applied to a generic argument type, but the service type '{1}' doesn't have a matching DynamicallyAccessedMembers attribute on its generic argument type.</summary>
</member>
<member name="P:System.SR.TrimmingAnnotationsDoNotMatch_NewConstraint">
<summary>Generic implementation type '{0}' has a DefaultConstructorConstraint ('new()' constraint), but the generic service type '{1}' doesn't.</summary>
</member>
<member name="P:System.SR.AotCannotCreateEnumerableValueType">
<summary>Unable to create an Enumerable service of type '{0}' because it is a ValueType. Native code to support creating Enumerable services might not be available with native AOT.</summary>
</member>
<member name="P:System.SR.AotCannotCreateGenericValueType">
<summary>Unable to create a generic service for type '{0}' because '{1}' is a ValueType. Native code to support creating generic services might not be available with native AOT.</summary>
</member>
<member name="P:System.SR.NoServiceRegistered">
<summary>No service for type '{0}' has been registered.</summary>
</member>
<member name="P:System.SR.InvalidServiceKeyType">
<summary>The type of the key used for lookup doesn't match the type in the constructor parameter with the ServiceKey attribute.</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,258 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Extensions.DependencyInjection</name>
</assembly>
<members>
<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>
<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>
</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.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="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.ValidateTrimmingAnnotations(System.Type,System.Type[],System.Type,System.Type[])">
<summary>
Validates that two generic type definitions have compatible trimming annotations on their generic arguments.
</summary>
<remarks>
When open generic types are used in DI, there is an error when the concrete implementation type
has [DynamicallyAccessedMembers] attributes on a generic argument type, but the interface/service type
doesn't have matching annotations. The problem is that the trimmer doesn't see the members that need to
be preserved on the type being passed to the generic argument. But when the interface/service type also has
the annotations, the trimmer will see which members need to be preserved on the closed generic argument type.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],System.Boolean)">
<returns>Not <b>null</b> if <b>throwIfCallSiteNotFound</b> is true</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.VerifyOpenGenericAotCompatibility(System.Type,System.Type[])">
<summary>
Verifies none of the generic type arguments are ValueTypes.
</summary>
<remarks>
NativeAOT apps are not guaranteed that the native code for the closed generic of ValueType
has been generated. To catch these problems early, this verification is enabled at development-time
to inform the developer early that this scenario will not work once AOT'd.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.KeysMatch(System.Object,System.Object)">
<summary>
Returns true if both keys are null or equals, or if key1 is KeyedService.AnyKey and key2 is not null
</summary>
</member>
<member name="P:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.ServiceIdentifier">
<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 <c>IEnumerable&lt;Type&gt;</c> 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="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.Equals(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey)">
<summary>Indicates whether the current instance is equal to another instance of the same type.</summary>
<param name="other">An instance to compare with this instance.</param>
<returns>true if the current instance is equal to the other instance; otherwise, false.</returns>
</member>
<member name="T:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite">
<summary>
Summary description for ServiceCallSite
</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.GetKeyedService(System.Type,System.Object)">
<summary>
Gets the service object of the specified type with the specified key.
</summary>
<param name="serviceType">The type of the service to get.</param>
<param name="serviceKey">The key of the service to get.</param>
<returns>The keyed service.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.GetRequiredKeyedService(System.Type,System.Object)">
<summary>
Gets the service object of the specified type. Will throw if the service not found.
</summary>
<param name="serviceType">The type of the service to get.</param>
<param name="serviceKey">The key of the service to get.</param>
<returns>The keyed service.</returns>
<exception cref="T:System.InvalidOperationException"></exception>
</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 <c>BuildServiceProvider</c> call; otherwise <c>false</c>. Defaults to <c>false</c>.
NOTE: this check doesn't verify open generics services.
</summary>
</member>
<member name="P:System.SR.AmbiguousConstructorException">
<summary>Unable to activate type '{0}'. The following constructors are ambiguous:</summary>
</member>
<member name="P:System.SR.CannotResolveService">
<summary>Unable to resolve service for type '{0}' while attempting to activate '{1}'.</summary>
</member>
<member name="P:System.SR.CircularDependencyException">
<summary>A circular dependency was detected for the service of type '{0}'.</summary>
</member>
<member name="P:System.SR.UnableToActivateTypeException">
<summary>No constructor for type '{0}' can be instantiated using services from the service container and default values.</summary>
</member>
<member name="P:System.SR.OpenGenericServiceRequiresOpenGenericImplementation">
<summary>Open generic service type '{0}' requires registering an open generic implementation type.</summary>
</member>
<member name="P:System.SR.ArityOfOpenGenericServiceNotEqualArityOfOpenGenericImplementation">
<summary>Arity of open generic service type '{0}' does not equal arity of open generic implementation type '{1}'.</summary>
</member>
<member name="P:System.SR.TypeCannotBeActivated">
<summary>Cannot instantiate implementation type '{0}' for service type '{1}'.</summary>
</member>
<member name="P:System.SR.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="P:System.SR.ScopedInSingletonException">
<summary>Cannot consume {2} service '{0}' from {3} '{1}'.</summary>
</member>
<member name="P:System.SR.ScopedResolvedFromRootException">
<summary>Cannot resolve '{0}' from root provider because it requires {2} service '{1}'.</summary>
</member>
<member name="P:System.SR.DirectScopedResolvedFromRootException">
<summary>Cannot resolve {1} service '{0}' from root provider.</summary>
</member>
<member name="P:System.SR.ConstantCantBeConvertedToServiceType">
<summary>Constant value of type '{0}' can't be converted to service type '{1}'</summary>
</member>
<member name="P:System.SR.ImplementationTypeCantBeConvertedToServiceType">
<summary>Implementation type '{0}' can't be converted to service type '{1}'</summary>
</member>
<member name="P:System.SR.AsyncDisposableServiceDispose">
<summary>'{0}' type only implements IAsyncDisposable. Use DisposeAsync to dispose the container.</summary>
</member>
<member name="P:System.SR.GetCaptureDisposableNotSupported">
<summary>GetCaptureDisposable call is supported only for main scope</summary>
</member>
<member name="P:System.SR.InvalidServiceDescriptor">
<summary>Invalid service descriptor</summary>
</member>
<member name="P:System.SR.ServiceDescriptorNotExist">
<summary>Requested service descriptor doesn't exist.</summary>
</member>
<member name="P:System.SR.CallSiteTypeNotSupported">
<summary>Call site type {0} is not supported</summary>
</member>
<member name="P:System.SR.TrimmingAnnotationsDoNotMatch">
<summary>Generic implementation type '{0}' has a DynamicallyAccessedMembers attribute applied to a generic argument type, but the service type '{1}' doesn't have a matching DynamicallyAccessedMembers attribute on its generic argument type.</summary>
</member>
<member name="P:System.SR.TrimmingAnnotationsDoNotMatch_NewConstraint">
<summary>Generic implementation type '{0}' has a DefaultConstructorConstraint ('new()' constraint), but the generic service type '{1}' doesn't.</summary>
</member>
<member name="P:System.SR.AotCannotCreateEnumerableValueType">
<summary>Unable to create an Enumerable service of type '{0}' because it is a ValueType. Native code to support creating Enumerable services might not be available with native AOT.</summary>
</member>
<member name="P:System.SR.AotCannotCreateGenericValueType">
<summary>Unable to create a generic service for type '{0}' because '{1}' is a ValueType. Native code to support creating generic services might not be available with native AOT.</summary>
</member>
<member name="P:System.SR.NoServiceRegistered">
<summary>No service for type '{0}' has been registered.</summary>
</member>
<member name="P:System.SR.InvalidServiceKeyType">
<summary>The type of the key used for lookup doesn't match the type in the constructor parameter with the ServiceKey attribute.</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,666 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Extensions.DependencyInjection</name>
</assembly>
<members>
<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>
<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>
</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.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="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.ValidateTrimmingAnnotations(System.Type,System.Type[],System.Type,System.Type[])">
<summary>
Validates that two generic type definitions have compatible trimming annotations on their generic arguments.
</summary>
<remarks>
When open generic types are used in DI, there is an error when the concrete implementation type
has [DynamicallyAccessedMembers] attributes on a generic argument type, but the interface/service type
doesn't have matching annotations. The problem is that the trimmer doesn't see the members that need to
be preserved on the type being passed to the generic argument. But when the interface/service type also has
the annotations, the trimmer will see which members need to be preserved on the closed generic argument type.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],System.Boolean)">
<returns>Not <b>null</b> if <b>throwIfCallSiteNotFound</b> is true</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.VerifyOpenGenericAotCompatibility(System.Type,System.Type[])">
<summary>
Verifies none of the generic type arguments are ValueTypes.
</summary>
<remarks>
NativeAOT apps are not guaranteed that the native code for the closed generic of ValueType
has been generated. To catch these problems early, this verification is enabled at development-time
to inform the developer early that this scenario will not work once AOT'd.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.KeysMatch(System.Object,System.Object)">
<summary>
Returns true if both keys are null or equals, or if key1 is KeyedService.AnyKey and key2 is not null
</summary>
</member>
<member name="P:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.ServiceIdentifier">
<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 <c>IEnumerable&lt;Type&gt;</c> 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="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.Equals(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey)">
<summary>Indicates whether the current instance is equal to another instance of the same type.</summary>
<param name="other">An instance to compare with this instance.</param>
<returns>true if the current instance is equal to the other instance; otherwise, false.</returns>
</member>
<member name="T:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite">
<summary>
Summary description for ServiceCallSite
</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.GetKeyedService(System.Type,System.Object)">
<summary>
Gets the service object of the specified type with the specified key.
</summary>
<param name="serviceType">The type of the service to get.</param>
<param name="serviceKey">The key of the service to get.</param>
<returns>The keyed service.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.GetRequiredKeyedService(System.Type,System.Object)">
<summary>
Gets the service object of the specified type. Will throw if the service not found.
</summary>
<param name="serviceType">The type of the service to get.</param>
<param name="serviceKey">The key of the service to get.</param>
<returns>The keyed service.</returns>
<exception cref="T:System.InvalidOperationException"></exception>
</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 <c>BuildServiceProvider</c> call; otherwise <c>false</c>. Defaults to <c>false</c>.
NOTE: this check doesn't verify open generics services.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute">
<summary>
Indicates that certain members on a specified <see cref="T:System.Type"/> are accessed dynamically,
for example through <see cref="N:System.Reflection"/>.
</summary>
<remarks>
This allows tools to understand which members are being accessed during the execution
of a program.
This attribute is valid on members whose type is <see cref="T:System.Type"/> or <see cref="T:System.String"/>.
When this attribute is applied to a location of type <see cref="T:System.String"/>, the assumption is
that the string represents a fully qualified type name.
When this attribute is applied to a class, interface, or struct, the members specified
can be accessed dynamically on <see cref="T:System.Type"/> instances returned from calling
<see cref="M:System.Object.GetType"/> on instances of that class, interface, or struct.
If the attribute is applied to a method it's treated as a special case and it implies
the attribute should be applied to the "this" parameter of the method. As such the attribute
should only be used on instance methods of types assignable to System.Type (or string, but no methods
will use it there).
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute"/> class
with the specified member types.
</summary>
<param name="memberTypes">The types of members dynamically accessed.</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.MemberTypes">
<summary>
Gets the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes"/> which specifies the type
of members dynamically accessed.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes">
<summary>
Specifies the types of members that are dynamically accessed.
This enumeration has a <see cref="T:System.FlagsAttribute"/> attribute that allows a
bitwise combination of its member values.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.None">
<summary>
Specifies no members.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor">
<summary>
Specifies the default, parameterless public constructor.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors">
<summary>
Specifies all public constructors.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors">
<summary>
Specifies all non-public constructors.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods">
<summary>
Specifies all public methods.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods">
<summary>
Specifies all non-public methods.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicFields">
<summary>
Specifies all public fields.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFields">
<summary>
Specifies all non-public fields.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes">
<summary>
Specifies all public nested types.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes">
<summary>
Specifies all non-public nested types.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties">
<summary>
Specifies all public properties.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties">
<summary>
Specifies all non-public properties.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicEvents">
<summary>
Specifies all public events.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicEvents">
<summary>
Specifies all non-public events.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces">
<summary>
Specifies all interfaces implemented by the type.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All">
<summary>
Specifies all members.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute">
<summary>
Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
single code artifact.
</summary>
<remarks>
<see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> is different than
<see cref="T:System.Diagnostics.CodeAnalysis.SuppressMessageAttribute"/> in that it doesn't have a
<see cref="T:System.Diagnostics.ConditionalAttribute"/>. So it is always preserved in the compiled assembly.
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.#ctor(System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/>
class, specifying the category of the tool and the identifier for an analysis rule.
</summary>
<param name="category">The category for the attribute.</param>
<param name="checkId">The identifier of the analysis rule the attribute applies to.</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category">
<summary>
Gets the category identifying the classification of the attribute.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> property describes the tool or tool analysis category
for which a message suppression attribute applies.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId">
<summary>
Gets the identifier of the analysis tool rule to be suppressed.
</summary>
<remarks>
Concatenated together, the <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> and <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId"/>
properties form a unique check identifier.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Scope">
<summary>
Gets or sets the scope of the code that is relevant for the attribute.
</summary>
<remarks>
The Scope property is an optional argument that specifies the metadata scope for which
the attribute is relevant.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target">
<summary>
Gets or sets a fully qualified path that represents the target of the attribute.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target"/> property is an optional argument identifying the analysis target
of the attribute. An example value is "System.IO.Stream.ctor():System.Void".
Because it is fully qualified, it can be long, particularly for targets such as parameters.
The analysis tool user interface should be capable of automatically formatting the parameter.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId">
<summary>
Gets or sets an optional argument expanding on exclusion criteria.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId"/> property is an optional argument that specifies additional
exclusion where the literal metadata target is not sufficiently precise. For example,
the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> cannot be applied within a method,
and it may be desirable to suppress a violation against a statement in the method that will
give a rule violation, but not against all statements in the method.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Justification">
<summary>
Gets or sets the justification for suppressing the code analysis message.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute">
<summary>
Indicates that the specified method requires the ability to generate new code at runtime,
for example through <see cref="N:System.Reflection"/>.
</summary>
<remarks>
This allows tools to understand which methods are unsafe to call when compiling ahead of time.
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute"/> class
with the specified message.
</summary>
<param name="message">
A message that contains information about the usage of dynamic code.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Message">
<summary>
Gets a message that contains information about the usage of dynamic code.
</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Url">
<summary>
Gets or sets an optional URL that contains more information about the method,
why it requires dynamic code, and what options a consumer has to deal with it.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="P:System.SR.AmbiguousConstructorException">
<summary>Unable to activate type '{0}'. The following constructors are ambiguous:</summary>
</member>
<member name="P:System.SR.CannotResolveService">
<summary>Unable to resolve service for type '{0}' while attempting to activate '{1}'.</summary>
</member>
<member name="P:System.SR.CircularDependencyException">
<summary>A circular dependency was detected for the service of type '{0}'.</summary>
</member>
<member name="P:System.SR.UnableToActivateTypeException">
<summary>No constructor for type '{0}' can be instantiated using services from the service container and default values.</summary>
</member>
<member name="P:System.SR.OpenGenericServiceRequiresOpenGenericImplementation">
<summary>Open generic service type '{0}' requires registering an open generic implementation type.</summary>
</member>
<member name="P:System.SR.ArityOfOpenGenericServiceNotEqualArityOfOpenGenericImplementation">
<summary>Arity of open generic service type '{0}' does not equal arity of open generic implementation type '{1}'.</summary>
</member>
<member name="P:System.SR.TypeCannotBeActivated">
<summary>Cannot instantiate implementation type '{0}' for service type '{1}'.</summary>
</member>
<member name="P:System.SR.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="P:System.SR.ScopedInSingletonException">
<summary>Cannot consume {2} service '{0}' from {3} '{1}'.</summary>
</member>
<member name="P:System.SR.ScopedResolvedFromRootException">
<summary>Cannot resolve '{0}' from root provider because it requires {2} service '{1}'.</summary>
</member>
<member name="P:System.SR.DirectScopedResolvedFromRootException">
<summary>Cannot resolve {1} service '{0}' from root provider.</summary>
</member>
<member name="P:System.SR.ConstantCantBeConvertedToServiceType">
<summary>Constant value of type '{0}' can't be converted to service type '{1}'</summary>
</member>
<member name="P:System.SR.ImplementationTypeCantBeConvertedToServiceType">
<summary>Implementation type '{0}' can't be converted to service type '{1}'</summary>
</member>
<member name="P:System.SR.AsyncDisposableServiceDispose">
<summary>'{0}' type only implements IAsyncDisposable. Use DisposeAsync to dispose the container.</summary>
</member>
<member name="P:System.SR.GetCaptureDisposableNotSupported">
<summary>GetCaptureDisposable call is supported only for main scope</summary>
</member>
<member name="P:System.SR.InvalidServiceDescriptor">
<summary>Invalid service descriptor</summary>
</member>
<member name="P:System.SR.ServiceDescriptorNotExist">
<summary>Requested service descriptor doesn't exist.</summary>
</member>
<member name="P:System.SR.CallSiteTypeNotSupported">
<summary>Call site type {0} is not supported</summary>
</member>
<member name="P:System.SR.TrimmingAnnotationsDoNotMatch">
<summary>Generic implementation type '{0}' has a DynamicallyAccessedMembers attribute applied to a generic argument type, but the service type '{1}' doesn't have a matching DynamicallyAccessedMembers attribute on its generic argument type.</summary>
</member>
<member name="P:System.SR.TrimmingAnnotationsDoNotMatch_NewConstraint">
<summary>Generic implementation type '{0}' has a DefaultConstructorConstraint ('new()' constraint), but the generic service type '{1}' doesn't.</summary>
</member>
<member name="P:System.SR.AotCannotCreateEnumerableValueType">
<summary>Unable to create an Enumerable service of type '{0}' because it is a ValueType. Native code to support creating Enumerable services might not be available with native AOT.</summary>
</member>
<member name="P:System.SR.AotCannotCreateGenericValueType">
<summary>Unable to create a generic service for type '{0}' because '{1}' is a ValueType. Native code to support creating generic services might not be available with native AOT.</summary>
</member>
<member name="P:System.SR.NoServiceRegistered">
<summary>No service for type '{0}' has been registered.</summary>
</member>
<member name="P:System.SR.InvalidServiceKeyType">
<summary>The type of the key used for lookup doesn't match the type in the constructor parameter with the ServiceKey attribute.</summary>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,602 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Extensions.DependencyInjection</name>
</assembly>
<members>
<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>
<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>
</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.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="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.ValidateTrimmingAnnotations(System.Type,System.Type[],System.Type,System.Type[])">
<summary>
Validates that two generic type definitions have compatible trimming annotations on their generic arguments.
</summary>
<remarks>
When open generic types are used in DI, there is an error when the concrete implementation type
has [DynamicallyAccessedMembers] attributes on a generic argument type, but the interface/service type
doesn't have matching annotations. The problem is that the trimmer doesn't see the members that need to
be preserved on the type being passed to the generic argument. But when the interface/service type also has
the annotations, the trimmer will see which members need to be preserved on the closed generic argument type.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.CreateArgumentCallSites(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceIdentifier,System.Type,Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteChain,System.Reflection.ParameterInfo[],System.Boolean)">
<returns>Not <b>null</b> if <b>throwIfCallSiteNotFound</b> is true</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.VerifyOpenGenericAotCompatibility(System.Type,System.Type[])">
<summary>
Verifies none of the generic type arguments are ValueTypes.
</summary>
<remarks>
NativeAOT apps are not guaranteed that the native code for the closed generic of ValueType
has been generated. To catch these problems early, this verification is enabled at development-time
to inform the developer early that this scenario will not work once AOT'd.
</remarks>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteFactory.KeysMatch(System.Object,System.Object)">
<summary>
Returns true if both keys are null or equals, or if key1 is KeyedService.AnyKey and key2 is not null
</summary>
</member>
<member name="P:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.ServiceIdentifier">
<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 <c>IEnumerable&lt;Type&gt;</c> 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="M:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey.Equals(Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCacheKey)">
<summary>Indicates whether the current instance is equal to another instance of the same type.</summary>
<param name="other">An instance to compare with this instance.</param>
<returns>true if the current instance is equal to the other instance; otherwise, false.</returns>
</member>
<member name="T:Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceCallSite">
<summary>
Summary description for ServiceCallSite
</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.GetKeyedService(System.Type,System.Object)">
<summary>
Gets the service object of the specified type with the specified key.
</summary>
<param name="serviceType">The type of the service to get.</param>
<param name="serviceKey">The key of the service to get.</param>
<returns>The keyed service.</returns>
</member>
<member name="M:Microsoft.Extensions.DependencyInjection.ServiceProvider.GetRequiredKeyedService(System.Type,System.Object)">
<summary>
Gets the service object of the specified type. Will throw if the service not found.
</summary>
<param name="serviceType">The type of the service to get.</param>
<param name="serviceKey">The key of the service to get.</param>
<returns>The keyed service.</returns>
<exception cref="T:System.InvalidOperationException"></exception>
</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 <c>BuildServiceProvider</c> call; otherwise <c>false</c>. Defaults to <c>false</c>.
NOTE: this check doesn't verify open generics services.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute">
<summary>
Indicates that certain members on a specified <see cref="T:System.Type"/> are accessed dynamically,
for example through <see cref="N:System.Reflection"/>.
</summary>
<remarks>
This allows tools to understand which members are being accessed during the execution
of a program.
This attribute is valid on members whose type is <see cref="T:System.Type"/> or <see cref="T:System.String"/>.
When this attribute is applied to a location of type <see cref="T:System.String"/>, the assumption is
that the string represents a fully qualified type name.
When this attribute is applied to a class, interface, or struct, the members specified
can be accessed dynamically on <see cref="T:System.Type"/> instances returned from calling
<see cref="M:System.Object.GetType"/> on instances of that class, interface, or struct.
If the attribute is applied to a method it's treated as a special case and it implies
the attribute should be applied to the "this" parameter of the method. As such the attribute
should only be used on instance methods of types assignable to System.Type (or string, but no methods
will use it there).
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.#ctor(System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute"/> class
with the specified member types.
</summary>
<param name="memberTypes">The types of members dynamically accessed.</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMembersAttribute.MemberTypes">
<summary>
Gets the <see cref="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes"/> which specifies the type
of members dynamically accessed.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes">
<summary>
Specifies the types of members that are dynamically accessed.
This enumeration has a <see cref="T:System.FlagsAttribute"/> attribute that allows a
bitwise combination of its member values.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.None">
<summary>
Specifies no members.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicParameterlessConstructor">
<summary>
Specifies the default, parameterless public constructor.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicConstructors">
<summary>
Specifies all public constructors.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicConstructors">
<summary>
Specifies all non-public constructors.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicMethods">
<summary>
Specifies all public methods.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicMethods">
<summary>
Specifies all non-public methods.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicFields">
<summary>
Specifies all public fields.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicFields">
<summary>
Specifies all non-public fields.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicNestedTypes">
<summary>
Specifies all public nested types.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicNestedTypes">
<summary>
Specifies all non-public nested types.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicProperties">
<summary>
Specifies all public properties.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicProperties">
<summary>
Specifies all non-public properties.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.PublicEvents">
<summary>
Specifies all public events.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.NonPublicEvents">
<summary>
Specifies all non-public events.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.Interfaces">
<summary>
Specifies all interfaces implemented by the type.
</summary>
</member>
<member name="F:System.Diagnostics.CodeAnalysis.DynamicallyAccessedMemberTypes.All">
<summary>
Specifies all members.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute">
<summary>
Suppresses reporting of a specific rule violation, allowing multiple suppressions on a
single code artifact.
</summary>
<remarks>
<see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> is different than
<see cref="T:System.Diagnostics.CodeAnalysis.SuppressMessageAttribute"/> in that it doesn't have a
<see cref="T:System.Diagnostics.ConditionalAttribute"/>. So it is always preserved in the compiled assembly.
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.#ctor(System.String,System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/>
class, specifying the category of the tool and the identifier for an analysis rule.
</summary>
<param name="category">The category for the attribute.</param>
<param name="checkId">The identifier of the analysis rule the attribute applies to.</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category">
<summary>
Gets the category identifying the classification of the attribute.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> property describes the tool or tool analysis category
for which a message suppression attribute applies.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId">
<summary>
Gets the identifier of the analysis tool rule to be suppressed.
</summary>
<remarks>
Concatenated together, the <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Category"/> and <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.CheckId"/>
properties form a unique check identifier.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Scope">
<summary>
Gets or sets the scope of the code that is relevant for the attribute.
</summary>
<remarks>
The Scope property is an optional argument that specifies the metadata scope for which
the attribute is relevant.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target">
<summary>
Gets or sets a fully qualified path that represents the target of the attribute.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Target"/> property is an optional argument identifying the analysis target
of the attribute. An example value is "System.IO.Stream.ctor():System.Void".
Because it is fully qualified, it can be long, particularly for targets such as parameters.
The analysis tool user interface should be capable of automatically formatting the parameter.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId">
<summary>
Gets or sets an optional argument expanding on exclusion criteria.
</summary>
<remarks>
The <see cref="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.MessageId"/> property is an optional argument that specifies additional
exclusion where the literal metadata target is not sufficiently precise. For example,
the <see cref="T:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute"/> cannot be applied within a method,
and it may be desirable to suppress a violation against a statement in the method that will
give a rule violation, but not against all statements in the method.
</remarks>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.UnconditionalSuppressMessageAttribute.Justification">
<summary>
Gets or sets the justification for suppressing the code analysis message.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute">
<summary>
Indicates that the specified method requires the ability to generate new code at runtime,
for example through <see cref="N:System.Reflection"/>.
</summary>
<remarks>
This allows tools to understand which methods are unsafe to call when compiling ahead of time.
</remarks>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute"/> class
with the specified message.
</summary>
<param name="message">
A message that contains information about the usage of dynamic code.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Message">
<summary>
Gets a message that contains information about the usage of dynamic code.
</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.RequiresDynamicCodeAttribute.Url">
<summary>
Gets or sets an optional URL that contains more information about the method,
why it requires dynamic code, and what options a consumer has to deal with it.
</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="P:System.SR.AmbiguousConstructorException">
<summary>Unable to activate type '{0}'. The following constructors are ambiguous:</summary>
</member>
<member name="P:System.SR.CannotResolveService">
<summary>Unable to resolve service for type '{0}' while attempting to activate '{1}'.</summary>
</member>
<member name="P:System.SR.CircularDependencyException">
<summary>A circular dependency was detected for the service of type '{0}'.</summary>
</member>
<member name="P:System.SR.UnableToActivateTypeException">
<summary>No constructor for type '{0}' can be instantiated using services from the service container and default values.</summary>
</member>
<member name="P:System.SR.OpenGenericServiceRequiresOpenGenericImplementation">
<summary>Open generic service type '{0}' requires registering an open generic implementation type.</summary>
</member>
<member name="P:System.SR.ArityOfOpenGenericServiceNotEqualArityOfOpenGenericImplementation">
<summary>Arity of open generic service type '{0}' does not equal arity of open generic implementation type '{1}'.</summary>
</member>
<member name="P:System.SR.TypeCannotBeActivated">
<summary>Cannot instantiate implementation type '{0}' for service type '{1}'.</summary>
</member>
<member name="P:System.SR.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="P:System.SR.ScopedInSingletonException">
<summary>Cannot consume {2} service '{0}' from {3} '{1}'.</summary>
</member>
<member name="P:System.SR.ScopedResolvedFromRootException">
<summary>Cannot resolve '{0}' from root provider because it requires {2} service '{1}'.</summary>
</member>
<member name="P:System.SR.DirectScopedResolvedFromRootException">
<summary>Cannot resolve {1} service '{0}' from root provider.</summary>
</member>
<member name="P:System.SR.ConstantCantBeConvertedToServiceType">
<summary>Constant value of type '{0}' can't be converted to service type '{1}'</summary>
</member>
<member name="P:System.SR.ImplementationTypeCantBeConvertedToServiceType">
<summary>Implementation type '{0}' can't be converted to service type '{1}'</summary>
</member>
<member name="P:System.SR.AsyncDisposableServiceDispose">
<summary>'{0}' type only implements IAsyncDisposable. Use DisposeAsync to dispose the container.</summary>
</member>
<member name="P:System.SR.GetCaptureDisposableNotSupported">
<summary>GetCaptureDisposable call is supported only for main scope</summary>
</member>
<member name="P:System.SR.InvalidServiceDescriptor">
<summary>Invalid service descriptor</summary>
</member>
<member name="P:System.SR.ServiceDescriptorNotExist">
<summary>Requested service descriptor doesn't exist.</summary>
</member>
<member name="P:System.SR.CallSiteTypeNotSupported">
<summary>Call site type {0} is not supported</summary>
</member>
<member name="P:System.SR.TrimmingAnnotationsDoNotMatch">
<summary>Generic implementation type '{0}' has a DynamicallyAccessedMembers attribute applied to a generic argument type, but the service type '{1}' doesn't have a matching DynamicallyAccessedMembers attribute on its generic argument type.</summary>
</member>
<member name="P:System.SR.TrimmingAnnotationsDoNotMatch_NewConstraint">
<summary>Generic implementation type '{0}' has a DefaultConstructorConstraint ('new()' constraint), but the generic service type '{1}' doesn't.</summary>
</member>
<member name="P:System.SR.AotCannotCreateEnumerableValueType">
<summary>Unable to create an Enumerable service of type '{0}' because it is a ValueType. Native code to support creating Enumerable services might not be available with native AOT.</summary>
</member>
<member name="P:System.SR.AotCannotCreateGenericValueType">
<summary>Unable to create a generic service for type '{0}' because '{1}' is a ValueType. Native code to support creating generic services might not be available with native AOT.</summary>
</member>
<member name="P:System.SR.NoServiceRegistered">
<summary>No service for type '{0}' has been registered.</summary>
</member>
<member name="P:System.SR.InvalidServiceKeyType">
<summary>The type of the key used for lookup doesn't match the type in the constructor parameter with the ServiceKey attribute.</summary>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</summary>
</member>
</members>
</doc>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@@ -0,0 +1,23 @@
The MIT License (MIT)
Copyright (c) .NET Foundation and Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,34 @@
## About
Supports the lower-level abstractions for the dependency injection (DI) software design pattern which is a technique for achieving Inversion of Control (IoC) between classes and their dependencies.
## Key Features
- Interfaces for DI implementations which are provided in other packages including `Microsoft.Extensions.DependencyInjection`.
- An implementation of a service collection, which is used to add services to and later retrieve them either directly or through constructor injection.
- Interfaces, attributes and extensions methods to support various DI concepts including specifying a service's lifetime and supporting keyed services.
## How to Use
This package is typically used with an implementation of the DI abstractions, such as `Microsoft.Extensions.DependencyInjection`.
## Main Types
The main types provided by this library are:
* `Microsoft.Extensions.DependencyInjection.ActivatorUtilities`
* `Microsoft.Extensions.DependencyInjection.IServiceCollection`
* `Microsoft.Extensions.DependencyInjection.ServiceCollection`
* `Microsoft.Extensions.DependencyInjection.ServiceCollectionDescriptorExtensions`
* `Microsoft.Extensions.DependencyInjection.ServiceDescriptor`
* `Microsoft.Extensions.DependencyInjection.IServiceProviderFactory<TContainerBuilder>`
## Additional Documentation
* [Conceptual documentation](https://learn.microsoft.com/dotnet/core/extensions/dependency-injection)
* API documentation
- [ActivatorUtilities](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.defaultserviceproviderfactory)
- [ServiceCollection](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicecollection)
- [ServiceDescriptor](https://learn.microsoft.com/dotnet/api/microsoft.extensions.dependencyinjection.servicedescriptor)
## Related Packages
- `Microsoft.Extensions.DependencyInjection`
- `Microsoft.Extensions.Hosting`
- `Microsoft.Extensions.Options`
## Feedback & Contributing
Microsoft.Extensions.DependencyInjection.Abstractions is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).

View File

@@ -0,0 +1,6 @@
<Project InitialTargets="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_Abstractions_net462">
<Target Name="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_Abstractions_net462"
Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
<Warning Text="Microsoft.Extensions.DependencyInjection.Abstractions 8.0.2 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net462 or later. You may also set &lt;SuppressTfmSupportBuildWarnings&gt;true&lt;/SuppressTfmSupportBuildWarnings&gt; in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
</Target>
</Project>

View File

@@ -0,0 +1,6 @@
<Project InitialTargets="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_Abstractions_net6_0">
<Target Name="NETStandardCompatError_Microsoft_Extensions_DependencyInjection_Abstractions_net6_0"
Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
<Warning Text="Microsoft.Extensions.DependencyInjection.Abstractions 8.0.2 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net6.0 or later. You may also set &lt;SuppressTfmSupportBuildWarnings&gt;true&lt;/SuppressTfmSupportBuildWarnings&gt; in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
</Target>
</Project>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@@ -0,0 +1,23 @@
The MIT License (MIT)
Copyright (c) .NET Foundation and Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,146 @@
## About
<!-- A description of the package and where one can find more documentation -->
`Microsoft.Extensions.Logging` is combined with a core logging abstraction under `Microsoft.Extensions.Logging.Abstractions`. This abstraction is available in our basic built-in implementations like console, event log, and debug (Debug.WriteLine) logging.
## Key Features
<!-- The key features of this package -->
* Provide concrete implementations of ILoggerFactory
* Provide extension methods for service collections, logger builder, and activity tracking
* Provide logging filtering extension methods for logger builder
## How to Use
<!-- A compelling example on how to use this package with code, as well as any specific guidelines for when to use the package -->
Prior to .NET 6, we only had two forms possible for doing logging, using `Microsoft.Extensions.Logging`:
```cs
public class LoggingSample1
{
private ILogger _logger;
public LoggingSample1(ILogger logger)
{
_logger = logger;
}
public void LogMethod(string name)
{
_logger.LogInformation("Hello {name}", name);
}
}
```
Here are some problems with the LoggingSample1 sample using `LogInformation`, `LogWarning`, etc.:
1. We can provide event ID through these APIs, but they are not required today. Which leads to bad usages in real systems that want to react or detect specific event issues being logged.
2. Parameters passed are processed before LogLevel checks; this leads to unnecessary code paths getting triggered even when logging is disabled for a log level.
3. It requires parsing of message string on every use to find templates to substitute.
Because of these problems, the more efficient runtime approach recommended as best practices is to use LoggerMessage.Define APIs instead, illustrated below with LoggingSample2:
```cs
public class LoggingSample2
{
private ILogger _logger;
public LoggingSample2(ILogger logger)
{
_logger = logger;
}
public void LogMethod(string name)
{
Log.LogName(_logger, name);
}
private static class Log
{
private static readonly Action<ILogger, string, Exception> _logName = LoggerMessage.Define<string>(LogLevel.Information, 0, @"Hello {name}");
public static void LogName(ILogger logger, string name)
{
_logName(logger, name, null!);
}
}
}
```
To reach a balance between performance and usability we added the compile-time logging source generator feature in .NET 6, to learn more about it and learn how to use a source generator to create log messages check out [this documentation](https://learn.microsoft.com/dotnet/core/extensions/logger-message-generator).
```csharp
public partial class InstanceLoggingExample
{
private readonly ILogger _logger;
public InstanceLoggingExample(ILogger logger)
{
_logger = logger;
}
[LoggerMessage(
EventId = 0,
Level = LogLevel.Critical,
Message = "Could not open socket to `{hostName}`")]
public partial void CouldNotOpenSocket(string hostName);
}
```
#### Baggage and Tags for `ActivityTrackingOptions`
.NET 5.0 exposed a new feature that allows configuring the logger builder with the `ActivityTrackingOption` to add the tracing context Span Id, Trace Id, Parent Id, Trace state, and Trace flags to the logging scope. The tracing context usually carried in `Activity.Current`.
.NET 6.0 Preview 1 extended this feature to include more tracing context properties which are the Baggage and the Tags:
```cs
var loggerFactory = LoggerFactory.Create(logging =>
{
logging.Configure(options =>
{
options.ActivityTrackingOptions = ActivityTrackingOptions.Tags | ActivityTrackingOptions.Baggage;
}).AddSimpleConsole(options =>
{
options.IncludeScopes = true;
});
});
```
## Main Types
<!-- The main types provided in this library -->
The main types provided by this library are:
* LoggingServiceCollectionExtensions
* LoggerFactory
* LoggerFactoryOptions
* LoggingBuilderExtensions
* ActivityTrackingOptions
* FilterLoggingBuilderExtensions
## Additional Documentation
<!-- Links to further documentation. Remove conceptual documentation if not available for the library. -->
* [Conceptual documentation](https://learn.microsoft.com/dotnet/core/extensions/logging)
* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging)
## Related Packages
<!-- The related packages associated with this package -->
[Microsoft.Extensions.Logging.Abstractions](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Abstractions)
[Microsoft.Extensions.Logging.Console](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Console)
[Microsoft.Extensions.Logging.Debug](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Debug)
[Microsoft.Extensions.Logging.EventSource](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventSource)
[Microsoft.Extensions.Logging.EventLog](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventLog)
[Microsoft.Extensions.Logging.TraceSource](https://www.nuget.org/packages/Microsoft.Extensions.Logging.TraceSource)
## Feedback & Contributing
<!-- How to provide feedback on this package and contribute to it -->
Microsoft.Extensions.Logging is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,6 @@
<Project InitialTargets="NETStandardCompatError_Microsoft_Extensions_Logging_net462">
<Target Name="NETStandardCompatError_Microsoft_Extensions_Logging_net462"
Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
<Warning Text="Microsoft.Extensions.Logging 8.0.1 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net462 or later. You may also set &lt;SuppressTfmSupportBuildWarnings&gt;true&lt;/SuppressTfmSupportBuildWarnings&gt; in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
</Target>
</Project>

View File

@@ -0,0 +1,6 @@
<Project InitialTargets="NETStandardCompatError_Microsoft_Extensions_Logging_net6_0">
<Target Name="NETStandardCompatError_Microsoft_Extensions_Logging_net6_0"
Condition="'$(SuppressTfmSupportBuildWarnings)' == ''">
<Warning Text="Microsoft.Extensions.Logging 8.0.1 doesn't support $(TargetFramework) and has not been tested with it. Consider upgrading your TargetFramework to net6.0 or later. You may also set &lt;SuppressTfmSupportBuildWarnings&gt;true&lt;/SuppressTfmSupportBuildWarnings&gt; in the project file to ignore this warning and attempt to run in this unsupported configuration at your own risk." />
</Target>
</Project>

View File

@@ -0,0 +1,672 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Extensions.Logging</name>
</assembly>
<members>
<member name="T:Microsoft.Extensions.Logging.ActivityTrackingOptions">
<summary>
Flags to indicate which trace context parts should be included with the logging scopes.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.None">
<summary>
None of the trace context part will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.SpanId">
<summary>
Span Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceId">
<summary>
Trace Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.ParentId">
<summary>
Parent Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceState">
<summary>
Trace State will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceFlags">
<summary>
Trace flags will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.Tags">
<summary>
Tags will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.Baggage">
<summary>
Items of baggage will be included in the logging.
</summary>
</member>
<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.LoggerFilterOptions"/> to add the filter to.</param>
<param name="categoryLevelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> to add the filter to.</param>
<param name="levelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.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.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider},Microsoft.Extensions.Options.IOptionsMonitor{Microsoft.Extensions.Logging.LoggerFilterOptions},Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Logging.LoggerFactoryOptions})">
<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>
<param name="options">The <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.</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},Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Logging.LoggerFactoryOptions},Microsoft.Extensions.Logging.IExternalScopeProvider)">
<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>
<param name="options">The <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.</param>
<param name="scopeProvider">The <see cref="T:Microsoft.Extensions.Logging.IExternalScopeProvider"/>.</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.LoggerFactoryOptions">
<summary>
The options for a LoggerFactory.
</summary>
</member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactoryOptions.#ctor">
<summary>
Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/> instance.
</summary>
</member>
<member name="P:Microsoft.Extensions.Logging.LoggerFactoryOptions.ActivityTrackingOptions">
<summary>
Gets or sets <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/> value to indicate which parts of the tracing context information should be included with the logging scopes.
</summary>
</member>
<member name="T:Microsoft.Extensions.Logging.LoggerFactoryScopeProvider">
<summary>
Default implementation of <see cref="T:Microsoft.Extensions.Logging.IExternalScopeProvider"/>
</summary>
</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 the <paramref name="provider"/> to.</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="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.Configure(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action{Microsoft.Extensions.Logging.LoggerFactoryOptions})">
<summary>
Configure the <paramref name="builder"/> with the <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to be configured with <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/></param>
<param name="action">The action used to configure the logger factory</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>
<member name="M:System.ThrowHelper.ThrowIfNull(System.Object,System.String)">
<summary>Throws an <see cref="T:System.ArgumentNullException"/> if <paramref name="argument"/> is null.</summary>
<param name="argument">The reference type argument to validate as non-null.</param>
<param name="paramName">The name of the parameter with which <paramref name="argument"/> corresponds.</param>
</member>
<member name="M:System.ThrowHelper.IfNullOrWhitespace(System.String,System.String)">
<summary>
Throws either an <see cref="T:System.ArgumentNullException"/> or an <see cref="T:System.ArgumentException"/>
if the specified string is <see langword="null"/> or whitespace respectively.
</summary>
<param name="argument">String to be checked for <see langword="null"/> or whitespace.</param>
<param name="paramName">The name of the parameter being checked.</param>
<returns>The original value of <paramref name="argument"/>.</returns>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</summary>
</member>
<member name="P:System.SR.InvalidActivityTrackingOptions">
<summary>{0} is invalid ActivityTrackingOptions value.</summary>
</member>
<member name="P:System.SR.MoreThanOneWildcard">
<summary>Only one wildcard character is allowed in category name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,563 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Extensions.Logging</name>
</assembly>
<members>
<member name="T:Microsoft.Extensions.Logging.ActivityTrackingOptions">
<summary>
Flags to indicate which trace context parts should be included with the logging scopes.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.None">
<summary>
None of the trace context part will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.SpanId">
<summary>
Span Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceId">
<summary>
Trace Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.ParentId">
<summary>
Parent Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceState">
<summary>
Trace State will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceFlags">
<summary>
Trace flags will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.Tags">
<summary>
Tags will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.Baggage">
<summary>
Items of baggage will be included in the logging.
</summary>
</member>
<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.LoggerFilterOptions"/> to add the filter to.</param>
<param name="categoryLevelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> to add the filter to.</param>
<param name="levelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.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.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider},Microsoft.Extensions.Options.IOptionsMonitor{Microsoft.Extensions.Logging.LoggerFilterOptions},Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Logging.LoggerFactoryOptions})">
<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>
<param name="options">The <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.</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},Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Logging.LoggerFactoryOptions},Microsoft.Extensions.Logging.IExternalScopeProvider)">
<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>
<param name="options">The <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.</param>
<param name="scopeProvider">The <see cref="T:Microsoft.Extensions.Logging.IExternalScopeProvider"/>.</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.LoggerFactoryOptions">
<summary>
The options for a LoggerFactory.
</summary>
</member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactoryOptions.#ctor">
<summary>
Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/> instance.
</summary>
</member>
<member name="P:Microsoft.Extensions.Logging.LoggerFactoryOptions.ActivityTrackingOptions">
<summary>
Gets or sets <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/> value to indicate which parts of the tracing context information should be included with the logging scopes.
</summary>
</member>
<member name="T:Microsoft.Extensions.Logging.LoggerFactoryScopeProvider">
<summary>
Default implementation of <see cref="T:Microsoft.Extensions.Logging.IExternalScopeProvider"/>
</summary>
</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 the <paramref name="provider"/> to.</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="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.Configure(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action{Microsoft.Extensions.Logging.LoggerFactoryOptions})">
<summary>
Configure the <paramref name="builder"/> with the <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to be configured with <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/></param>
<param name="action">The action used to configure the logger factory</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>
<member name="M:System.ThrowHelper.ThrowIfNull(System.Object,System.String)">
<summary>Throws an <see cref="T:System.ArgumentNullException"/> if <paramref name="argument"/> is null.</summary>
<param name="argument">The reference type argument to validate as non-null.</param>
<param name="paramName">The name of the parameter with which <paramref name="argument"/> corresponds.</param>
</member>
<member name="M:System.ThrowHelper.IfNullOrWhitespace(System.String,System.String)">
<summary>
Throws either an <see cref="T:System.ArgumentNullException"/> or an <see cref="T:System.ArgumentException"/>
if the specified string is <see langword="null"/> or whitespace respectively.
</summary>
<param name="argument">String to be checked for <see langword="null"/> or whitespace.</param>
<param name="paramName">The name of the parameter being checked.</param>
<returns>The original value of <paramref name="argument"/>.</returns>
</member>
<member name="P:System.SR.InvalidActivityTrackingOptions">
<summary>{0} is invalid ActivityTrackingOptions value.</summary>
</member>
<member name="P:System.SR.MoreThanOneWildcard">
<summary>Only one wildcard character is allowed in category name.</summary>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,492 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Extensions.Logging</name>
</assembly>
<members>
<member name="T:Microsoft.Extensions.Logging.ActivityTrackingOptions">
<summary>
Flags to indicate which trace context parts should be included with the logging scopes.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.None">
<summary>
None of the trace context part will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.SpanId">
<summary>
Span Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceId">
<summary>
Trace Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.ParentId">
<summary>
Parent Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceState">
<summary>
Trace State will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceFlags">
<summary>
Trace flags will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.Tags">
<summary>
Tags will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.Baggage">
<summary>
Items of baggage will be included in the logging.
</summary>
</member>
<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.LoggerFilterOptions"/> to add the filter to.</param>
<param name="categoryLevelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> to add the filter to.</param>
<param name="levelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.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.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider},Microsoft.Extensions.Options.IOptionsMonitor{Microsoft.Extensions.Logging.LoggerFilterOptions},Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Logging.LoggerFactoryOptions})">
<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>
<param name="options">The <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.</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},Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Logging.LoggerFactoryOptions},Microsoft.Extensions.Logging.IExternalScopeProvider)">
<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>
<param name="options">The <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.</param>
<param name="scopeProvider">The <see cref="T:Microsoft.Extensions.Logging.IExternalScopeProvider"/>.</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.LoggerFactoryOptions">
<summary>
The options for a LoggerFactory.
</summary>
</member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactoryOptions.#ctor">
<summary>
Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/> instance.
</summary>
</member>
<member name="P:Microsoft.Extensions.Logging.LoggerFactoryOptions.ActivityTrackingOptions">
<summary>
Gets or sets <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/> value to indicate which parts of the tracing context information should be included with the logging scopes.
</summary>
</member>
<member name="T:Microsoft.Extensions.Logging.LoggerFactoryScopeProvider">
<summary>
Default implementation of <see cref="T:Microsoft.Extensions.Logging.IExternalScopeProvider"/>
</summary>
</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 the <paramref name="provider"/> to.</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="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.Configure(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action{Microsoft.Extensions.Logging.LoggerFactoryOptions})">
<summary>
Configure the <paramref name="builder"/> with the <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to be configured with <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/></param>
<param name="action">The action used to configure the logger factory</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>
<member name="M:System.ThrowHelper.ThrowIfNull(System.Object,System.String)">
<summary>Throws an <see cref="T:System.ArgumentNullException"/> if <paramref name="argument"/> is null.</summary>
<param name="argument">The reference type argument to validate as non-null.</param>
<param name="paramName">The name of the parameter with which <paramref name="argument"/> corresponds.</param>
</member>
<member name="M:System.ThrowHelper.IfNullOrWhitespace(System.String,System.String)">
<summary>
Throws either an <see cref="T:System.ArgumentNullException"/> or an <see cref="T:System.ArgumentException"/>
if the specified string is <see langword="null"/> or whitespace respectively.
</summary>
<param name="argument">String to be checked for <see langword="null"/> or whitespace.</param>
<param name="paramName">The name of the parameter being checked.</param>
<returns>The original value of <paramref name="argument"/>.</returns>
</member>
<member name="P:System.SR.InvalidActivityTrackingOptions">
<summary>{0} is invalid ActivityTrackingOptions value.</summary>
</member>
<member name="P:System.SR.MoreThanOneWildcard">
<summary>Only one wildcard character is allowed in category name.</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,492 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Extensions.Logging</name>
</assembly>
<members>
<member name="T:Microsoft.Extensions.Logging.ActivityTrackingOptions">
<summary>
Flags to indicate which trace context parts should be included with the logging scopes.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.None">
<summary>
None of the trace context part will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.SpanId">
<summary>
Span Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceId">
<summary>
Trace Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.ParentId">
<summary>
Parent Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceState">
<summary>
Trace State will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceFlags">
<summary>
Trace flags will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.Tags">
<summary>
Tags will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.Baggage">
<summary>
Items of baggage will be included in the logging.
</summary>
</member>
<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.LoggerFilterOptions"/> to add the filter to.</param>
<param name="categoryLevelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> to add the filter to.</param>
<param name="levelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.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.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider},Microsoft.Extensions.Options.IOptionsMonitor{Microsoft.Extensions.Logging.LoggerFilterOptions},Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Logging.LoggerFactoryOptions})">
<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>
<param name="options">The <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.</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},Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Logging.LoggerFactoryOptions},Microsoft.Extensions.Logging.IExternalScopeProvider)">
<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>
<param name="options">The <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.</param>
<param name="scopeProvider">The <see cref="T:Microsoft.Extensions.Logging.IExternalScopeProvider"/>.</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.LoggerFactoryOptions">
<summary>
The options for a LoggerFactory.
</summary>
</member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactoryOptions.#ctor">
<summary>
Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/> instance.
</summary>
</member>
<member name="P:Microsoft.Extensions.Logging.LoggerFactoryOptions.ActivityTrackingOptions">
<summary>
Gets or sets <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/> value to indicate which parts of the tracing context information should be included with the logging scopes.
</summary>
</member>
<member name="T:Microsoft.Extensions.Logging.LoggerFactoryScopeProvider">
<summary>
Default implementation of <see cref="T:Microsoft.Extensions.Logging.IExternalScopeProvider"/>
</summary>
</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 the <paramref name="provider"/> to.</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="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.Configure(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action{Microsoft.Extensions.Logging.LoggerFactoryOptions})">
<summary>
Configure the <paramref name="builder"/> with the <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to be configured with <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/></param>
<param name="action">The action used to configure the logger factory</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>
<member name="M:System.ThrowHelper.ThrowIfNull(System.Object,System.String)">
<summary>Throws an <see cref="T:System.ArgumentNullException"/> if <paramref name="argument"/> is null.</summary>
<param name="argument">The reference type argument to validate as non-null.</param>
<param name="paramName">The name of the parameter with which <paramref name="argument"/> corresponds.</param>
</member>
<member name="M:System.ThrowHelper.IfNullOrWhitespace(System.String,System.String)">
<summary>
Throws either an <see cref="T:System.ArgumentNullException"/> or an <see cref="T:System.ArgumentException"/>
if the specified string is <see langword="null"/> or whitespace respectively.
</summary>
<param name="argument">String to be checked for <see langword="null"/> or whitespace.</param>
<param name="paramName">The name of the parameter being checked.</param>
<returns>The original value of <paramref name="argument"/>.</returns>
</member>
<member name="P:System.SR.InvalidActivityTrackingOptions">
<summary>{0} is invalid ActivityTrackingOptions value.</summary>
</member>
<member name="P:System.SR.MoreThanOneWildcard">
<summary>Only one wildcard character is allowed in category name.</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,672 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Extensions.Logging</name>
</assembly>
<members>
<member name="T:Microsoft.Extensions.Logging.ActivityTrackingOptions">
<summary>
Flags to indicate which trace context parts should be included with the logging scopes.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.None">
<summary>
None of the trace context part will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.SpanId">
<summary>
Span Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceId">
<summary>
Trace Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.ParentId">
<summary>
Parent Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceState">
<summary>
Trace State will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceFlags">
<summary>
Trace flags will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.Tags">
<summary>
Tags will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.Baggage">
<summary>
Items of baggage will be included in the logging.
</summary>
</member>
<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.LoggerFilterOptions"/> to add the filter to.</param>
<param name="categoryLevelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> to add the filter to.</param>
<param name="levelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.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.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider},Microsoft.Extensions.Options.IOptionsMonitor{Microsoft.Extensions.Logging.LoggerFilterOptions},Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Logging.LoggerFactoryOptions})">
<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>
<param name="options">The <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.</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},Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Logging.LoggerFactoryOptions},Microsoft.Extensions.Logging.IExternalScopeProvider)">
<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>
<param name="options">The <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.</param>
<param name="scopeProvider">The <see cref="T:Microsoft.Extensions.Logging.IExternalScopeProvider"/>.</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.LoggerFactoryOptions">
<summary>
The options for a LoggerFactory.
</summary>
</member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactoryOptions.#ctor">
<summary>
Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/> instance.
</summary>
</member>
<member name="P:Microsoft.Extensions.Logging.LoggerFactoryOptions.ActivityTrackingOptions">
<summary>
Gets or sets <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/> value to indicate which parts of the tracing context information should be included with the logging scopes.
</summary>
</member>
<member name="T:Microsoft.Extensions.Logging.LoggerFactoryScopeProvider">
<summary>
Default implementation of <see cref="T:Microsoft.Extensions.Logging.IExternalScopeProvider"/>
</summary>
</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 the <paramref name="provider"/> to.</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="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.Configure(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action{Microsoft.Extensions.Logging.LoggerFactoryOptions})">
<summary>
Configure the <paramref name="builder"/> with the <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to be configured with <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/></param>
<param name="action">The action used to configure the logger factory</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>
<member name="M:System.ThrowHelper.ThrowIfNull(System.Object,System.String)">
<summary>Throws an <see cref="T:System.ArgumentNullException"/> if <paramref name="argument"/> is null.</summary>
<param name="argument">The reference type argument to validate as non-null.</param>
<param name="paramName">The name of the parameter with which <paramref name="argument"/> corresponds.</param>
</member>
<member name="M:System.ThrowHelper.IfNullOrWhitespace(System.String,System.String)">
<summary>
Throws either an <see cref="T:System.ArgumentNullException"/> or an <see cref="T:System.ArgumentException"/>
if the specified string is <see langword="null"/> or whitespace respectively.
</summary>
<param name="argument">String to be checked for <see langword="null"/> or whitespace.</param>
<param name="paramName">The name of the parameter being checked.</param>
<returns>The original value of <paramref name="argument"/>.</returns>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</summary>
</member>
<member name="P:System.SR.InvalidActivityTrackingOptions">
<summary>{0} is invalid ActivityTrackingOptions value.</summary>
</member>
<member name="P:System.SR.MoreThanOneWildcard">
<summary>Only one wildcard character is allowed in category name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.AllowNullAttribute">
<summary>Specifies that null is allowed as an input even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DisallowNullAttribute">
<summary>Specifies that null is disallowed as an input even if the corresponding type allows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullAttribute">
<summary>Specifies that an output may be null even if the corresponding type disallows it.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullAttribute">
<summary>Specifies that an output will not be null even if the corresponding type allows it. Specifies that an input argument was not null when the call returns.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue"/>, the parameter may be null even if the corresponding type disallows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter may be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MaybeNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute">
<summary>Specifies that when a method returns <see cref="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue"/>, the parameter will not be null even if the corresponding type allows it.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified return value condition.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute">
<summary>Specifies that the output will be non-null if the named parameter is non-null.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with the associated parameter name.</summary>
<param name="parameterName">
The associated parameter name. The output will be non-null if the argument to the parameter specified is non-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.NotNullIfNotNullAttribute.ParameterName">
<summary>Gets the associated parameter name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnAttribute">
<summary>Applied to a method that will never return under any circumstance.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute">
<summary>Specifies that the method will not return if the associated Boolean parameter is passed the specified value.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.#ctor(System.Boolean)">
<summary>Initializes the attribute with the specified parameter value.</summary>
<param name="parameterValue">
The condition parameter value. Code after the method will be considered unreachable by diagnostics if the argument to
the associated parameter matches this value.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.DoesNotReturnIfAttribute.ParameterValue">
<summary>Gets the condition parameter value.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
</members>
</doc>

View File

@@ -0,0 +1,608 @@
<?xml version="1.0"?>
<doc>
<assembly>
<name>Microsoft.Extensions.Logging</name>
</assembly>
<members>
<member name="T:Microsoft.Extensions.Logging.ActivityTrackingOptions">
<summary>
Flags to indicate which trace context parts should be included with the logging scopes.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.None">
<summary>
None of the trace context part will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.SpanId">
<summary>
Span Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceId">
<summary>
Trace Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.ParentId">
<summary>
Parent Id will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceState">
<summary>
Trace State will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.TraceFlags">
<summary>
Trace flags will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.Tags">
<summary>
Tags will be included in the logging.
</summary>
</member>
<member name="F:Microsoft.Extensions.Logging.ActivityTrackingOptions.Baggage">
<summary>
Items of baggage will be included in the logging.
</summary>
</member>
<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.LoggerFilterOptions"/> to add the filter to.</param>
<param name="categoryLevelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> to add the filter to.</param>
<param name="levelFilter">The filter function to apply.</param>
<returns>The <see cref="T:Microsoft.Extensions.Logging.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.LoggerFilterOptions"/> 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.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.#ctor(System.Collections.Generic.IEnumerable{Microsoft.Extensions.Logging.ILoggerProvider},Microsoft.Extensions.Options.IOptionsMonitor{Microsoft.Extensions.Logging.LoggerFilterOptions},Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Logging.LoggerFactoryOptions})">
<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>
<param name="options">The <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.</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},Microsoft.Extensions.Options.IOptions{Microsoft.Extensions.Logging.LoggerFactoryOptions},Microsoft.Extensions.Logging.IExternalScopeProvider)">
<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>
<param name="options">The <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.</param>
<param name="scopeProvider">The <see cref="T:Microsoft.Extensions.Logging.IExternalScopeProvider"/>.</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.LoggerFactoryOptions">
<summary>
The options for a LoggerFactory.
</summary>
</member>
<member name="M:Microsoft.Extensions.Logging.LoggerFactoryOptions.#ctor">
<summary>
Creates a new <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/> instance.
</summary>
</member>
<member name="P:Microsoft.Extensions.Logging.LoggerFactoryOptions.ActivityTrackingOptions">
<summary>
Gets or sets <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/> value to indicate which parts of the tracing context information should be included with the logging scopes.
</summary>
</member>
<member name="T:Microsoft.Extensions.Logging.LoggerFactoryScopeProvider">
<summary>
Default implementation of <see cref="T:Microsoft.Extensions.Logging.IExternalScopeProvider"/>
</summary>
</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 the <paramref name="provider"/> to.</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="M:Microsoft.Extensions.Logging.LoggingBuilderExtensions.Configure(Microsoft.Extensions.Logging.ILoggingBuilder,System.Action{Microsoft.Extensions.Logging.LoggerFactoryOptions})">
<summary>
Configure the <paramref name="builder"/> with the <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/>.
</summary>
<param name="builder">The <see cref="T:Microsoft.Extensions.Logging.ILoggingBuilder"/> to be configured with <see cref="T:Microsoft.Extensions.Logging.LoggerFactoryOptions"/></param>
<param name="action">The action used to configure the logger factory</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>
<member name="M:System.ThrowHelper.ThrowIfNull(System.Object,System.String)">
<summary>Throws an <see cref="T:System.ArgumentNullException"/> if <paramref name="argument"/> is null.</summary>
<param name="argument">The reference type argument to validate as non-null.</param>
<param name="paramName">The name of the parameter with which <paramref name="argument"/> corresponds.</param>
</member>
<member name="M:System.ThrowHelper.IfNullOrWhitespace(System.String,System.String)">
<summary>
Throws either an <see cref="T:System.ArgumentNullException"/> or an <see cref="T:System.ArgumentException"/>
if the specified string is <see langword="null"/> or whitespace respectively.
</summary>
<param name="argument">String to be checked for <see langword="null"/> or whitespace.</param>
<param name="paramName">The name of the parameter being checked.</param>
<returns>The original value of <paramref name="argument"/>.</returns>
</member>
<member name="T:System.Runtime.InteropServices.LibraryImportAttribute">
<summary>
Attribute used to indicate a source generator should create a function for marshalling
arguments instead of relying on the runtime to generate an equivalent marshalling function at run-time.
</summary>
<remarks>
This attribute is meaningless if the source generator associated with it is not enabled.
The current built-in source generator only supports C# and only supplies an implementation when
applied to static, partial, non-generic methods.
</remarks>
</member>
<member name="M:System.Runtime.InteropServices.LibraryImportAttribute.#ctor(System.String)">
<summary>
Initializes a new instance of the <see cref="T:System.Runtime.InteropServices.LibraryImportAttribute"/>.
</summary>
<param name="libraryName">Name of the library containing the import.</param>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.LibraryName">
<summary>
Gets the name of the library containing the import.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.EntryPoint">
<summary>
Gets or sets the name of the entry point to be called.
</summary>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling">
<summary>
Gets or sets how to marshal string arguments to the method.
</summary>
<remarks>
If this field is set to a value other than <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />,
<see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType" /> must not be specified.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType">
<summary>
Gets or sets the <see cref="T:System.Type"/> used to control how string arguments to the method are marshalled.
</summary>
<remarks>
If this field is specified, <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshalling" /> must not be specified
or must be set to <see cref="F:System.Runtime.InteropServices.StringMarshalling.Custom" />.
</remarks>
</member>
<member name="P:System.Runtime.InteropServices.LibraryImportAttribute.SetLastError">
<summary>
Gets or sets whether the callee sets an error (SetLastError on Windows or errno
on other platforms) before returning from the attributed method.
</summary>
</member>
<member name="T:System.Runtime.InteropServices.StringMarshalling">
<summary>
Specifies how strings should be marshalled for generated p/invokes
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Custom">
<summary>
Indicates the user is suppling a specific marshaller in <see cref="P:System.Runtime.InteropServices.LibraryImportAttribute.StringMarshallingCustomType"/>.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf8">
<summary>
Use the platform-provided UTF-8 marshaller.
</summary>
</member>
<member name="F:System.Runtime.InteropServices.StringMarshalling.Utf16">
<summary>
Use the platform-provided UTF-16 marshaller.
</summary>
</member>
<member name="P:System.SR.InvalidActivityTrackingOptions">
<summary>{0} is invalid ActivityTrackingOptions value.</summary>
</member>
<member name="P:System.SR.MoreThanOneWildcard">
<summary>Only one wildcard character is allowed in category name.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String)">
<summary>Initializes the attribute with a field or property member.</summary>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.#ctor(System.String[])">
<summary>Initializes the attribute with the list of field and property members.</summary>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
<member name="T:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute">
<summary>Specifies that the method or property will ensure that the listed field and property members have not-null values when returning with the specified return value condition.</summary>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String)">
<summary>Initializes the attribute with the specified return value condition and a field or property member.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="member">
The field or property member that is promised to be not-null.
</param>
</member>
<member name="M:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.#ctor(System.Boolean,System.String[])">
<summary>Initializes the attribute with the specified return value condition and list of field and property members.</summary>
<param name="returnValue">
The return value condition. If the method returns this value, the associated parameter will not be null.
</param>
<param name="members">
The list of field and property members that are promised to be not-null.
</param>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.ReturnValue">
<summary>Gets the return value condition.</summary>
</member>
<member name="P:System.Diagnostics.CodeAnalysis.MemberNotNullWhenAttribute.Members">
<summary>Gets field or property member names.</summary>
</member>
</members>
</doc>

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.8 KiB

View File

@@ -0,0 +1,23 @@
The MIT License (MIT)
Copyright (c) .NET Foundation and Contributors
All rights reserved.
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.

View File

@@ -0,0 +1,164 @@
## About
<!-- A description of the package and where one can find more documentation -->
`Microsoft.Extensions.Logging.Abstractions` provides abstractions of logging. Interfaces defined in this package are implemented by classes in [Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging/) and other logging packages.
This package includes a logging source generator that produces highly efficient and optimized code for logging message methods.
## Key Features
<!-- The key features of this package -->
* Define main logging abstraction interfaces like ILogger, ILoggerFactory, ILoggerProvider, etc.
## How to Use
<!-- A compelling example on how to use this package with code, as well as any specific guidelines for when to use the package -->
#### Custom logger provider implementation example
```C#
using Microsoft.Extensions.Logging;
public sealed class ColorConsoleLogger : ILogger
{
private readonly string _name;
private readonly Func<ColorConsoleLoggerConfiguration> _getCurrentConfig;
public ColorConsoleLogger(
string name,
Func<ColorConsoleLoggerConfiguration> getCurrentConfig) =>
(_name, _getCurrentConfig) = (name, getCurrentConfig);
public IDisposable? BeginScope<TState>(TState state) where TState : notnull => default!;
public bool IsEnabled(LogLevel logLevel) =>
_getCurrentConfig().LogLevelToColorMap.ContainsKey(logLevel);
public void Log<TState>(
LogLevel logLevel,
EventId eventId,
TState state,
Exception? exception,
Func<TState, Exception?, string> formatter)
{
if (!IsEnabled(logLevel))
{
return;
}
ColorConsoleLoggerConfiguration config = _getCurrentConfig();
if (config.EventId == 0 || config.EventId == eventId.Id)
{
ConsoleColor originalColor = Console.ForegroundColor;
Console.ForegroundColor = config.LogLevelToColorMap[logLevel];
Console.WriteLine($"[{eventId.Id,2}: {logLevel,-12}]");
Console.ForegroundColor = originalColor;
Console.Write($" {_name} - ");
Console.ForegroundColor = config.LogLevelToColorMap[logLevel];
Console.Write($"{formatter(state, exception)}");
Console.ForegroundColor = originalColor;
Console.WriteLine();
}
}
}
```
#### Create logs
```csharp
// Worker class that uses logger implementation of teh interface ILogger<T>
public sealed class Worker : BackgroundService
{
private readonly ILogger<Worker> _logger;
public Worker(ILogger<Worker> logger) =>
_logger = logger;
protected override async Task ExecuteAsync(CancellationToken stoppingToken)
{
while (!stoppingToken.IsCancellationRequested)
{
_logger.LogInformation("Worker running at: {time}", DateTimeOffset.UtcNow);
await Task.Delay(1_000, stoppingToken);
}
}
}
```
#### Use source generator
```csharp
public static partial class Log
{
[LoggerMessage(
EventId = 0,
Level = LogLevel.Critical,
Message = "Could not open socket to `{hostName}`")]
public static partial void CouldNotOpenSocket(this ILogger logger, string hostName);
}
public partial class InstanceLoggingExample
{
private readonly ILogger _logger;
public InstanceLoggingExample(ILogger logger)
{
_logger = logger;
}
[LoggerMessage(
EventId = 0,
Level = LogLevel.Critical,
Message = "Could not open socket to `{hostName}`")]
public partial void CouldNotOpenSocket(string hostName);
}
```
## Main Types
<!-- The main types provided in this library -->
The main types provided by this library are:
* `Microsoft.Extensions.Logging.ILogger`
* `Microsoft.Extensions.Logging.ILoggerProvider`
* `Microsoft.Extensions.Logging.ILoggerFactory`
* `Microsoft.Extensions.Logging.ILogger<TCategoryName>`
* `Microsoft.Extensions.Logging.LogLevel`
* `Microsoft.Extensions.Logging.Logger<T>`
* `Microsoft.Extensions.Logging.LoggerMessage`
* `Microsoft.Extensions.Logging.Abstractions.NullLogger`
## Additional Documentation
<!-- Links to further documentation. Remove conceptual documentation if not available for the library. -->
* [Conceptual documentation](https://learn.microsoft.com/dotnet/core/extensions/logging)
* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.logging)
## Related Packages
<!-- The related packages associated with this package -->
[Microsoft.Extensions.Logging](https://www.nuget.org/packages/Microsoft.Extensions.Logging)
[Microsoft.Extensions.Logging.Console](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Console)
[Microsoft.Extensions.Logging.Debug](https://www.nuget.org/packages/Microsoft.Extensions.Logging.Debug)
[Microsoft.Extensions.Logging.EventSource](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventSource)
[Microsoft.Extensions.Logging.EventLog](https://www.nuget.org/packages/Microsoft.Extensions.Logging.EventLog)
[Microsoft.Extensions.Logging.TraceSource](https://www.nuget.org/packages/Microsoft.Extensions.Logging.TraceSource)
## Feedback & Contributing
<!-- How to provide feedback on this package and contribute to it -->
Microsoft.Extensions.Logging.Abstractions is released as open source under the [MIT license](https://licenses.nuget.org/MIT). Bug reports and contributions are welcome at [the GitHub repository](https://github.com/dotnet/runtime).

Some files were not shown because too many files have changed in this diff Show More