Skip to content

Commit

Permalink
Merge pull request #92228 from dotnet/PackageReadmesContinued
Browse files Browse the repository at this point in the history
Add package readmes (continued)
  • Loading branch information
ViktorHofer authored Jan 22, 2024
2 parents 41494ba + 2db6a95 commit 5aabefa
Show file tree
Hide file tree
Showing 46 changed files with 2,773 additions and 0 deletions.
39 changes: 39 additions & 0 deletions src/libraries/Microsoft.Bcl.Cryptography/src/PACKAGE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
## About

This library provides some cryptographic types and functionality for .NET Standard and .NET Framework. This library is not necessary nor recommended when targeting versions of .NET that include the relevant support.

## Key Features

* Enables the use of some cryptographic functionality on older .NET platforms.

## How to Use

This package should only be used by platforms where the desired functionality is not built-in.

```C#
using System.Security.Cryptography;

internal static class Program
{
private static void Main()
{
byte[] key = LoadKey();
SP800108HmacCounterKdf kbkdf = new(key, HashAlgorithmName.SHA256);
byte[] derivedKey = kbkdf.DeriveKey("label"u8, "context"u8, derivedKeyLengthInBytes: 32);
}
}
```

## Main Types

The main types provided by this library are:

* `System.Security.Cryptography.SP800108HmacCounterKdf`

## Additional Documentation

* [API documentation](https://learn.microsoft.com/dotnet/api/System.Security.Cryptography)

## Feedback & Contributing

Microsoft.Bcl.Cryptography 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).
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
## About

<!-- A description of the package and where one can find more documentation -->

Provides the abstractions to create and use in-memory and distributed caching in your applications.

This library defines how in-memory and distributed caches should be implemented; it doesn’t contain any cache implementation.
With the abstractions provided in this library, various types of caches can be built and used interchangeably, whether the data is kept in memory, in files, or even across a network.

## Key Features

<!-- The key features of this package -->

* Interfaces for building and using in-memory and distributed caches.

## 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 -->

This package is typically used with an implementation of the caching abstractions, such as `Microsoft.Extensions.Caching.Memory` or `Microsoft.Extensions.Caching.SqlServer`.

## Main Types

<!-- The main types provided in this library -->

The main types provided by this library are:

* `Microsoft.Extensions.Caching.Abstractions.ICacheEntry`
* `Microsoft.Extensions.Caching.Abstractions.IMemoryCache`
* `Microsoft.Extensions.Caching.Abstractions.IDistributedCache`

## Additional Documentation

<!-- Links to further documentation. Remove conceptual documentation if not available for the library. -->

* [Conceptual documentation](https://learn.microsoft.com/dotnet/core/extensions/caching)
* API documentation
* [Microsoft.Extensions.Caching.Memory](https://learn.microsoft.com/dotnet/api/microsoft.extensions.caching.memory)
* [Microsoft.Extensions.Caching.Distributed](https://learn.microsoft.com/dotnet/api/microsoft.extensions.caching.distributed)

## Related Packages

<!-- The related packages associated with this package -->

* In-memory caching: [Microsoft.Extensions.Caching.Memory](https://www.nuget.org/packages/Microsoft.Extensions.Caching.Memory/)
* SQL Server caching: [Microsoft.Extensions.Caching.SqlServer](https://www.nuget.org/packages/Microsoft.Extensions.Caching.SqlServer/)
* Redis caching: [Microsoft.Extensions.Caching.StackExchangeRedis](https://www.nuget.org/packages/Microsoft.Extensions.Caching.StackExchangeRedis/)

## Feedback & Contributing

<!-- How to provide feedback on this package and contribute to it -->

Microsoft.Extensions.Caching.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).
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
## About

<!-- A description of the package and where one can find more documentation -->



## Key Features

<!-- The key features of this package -->

*
*
*

## 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 -->

## Main Types

<!-- The main types provided in this library -->

The main types provided by this library are:

* ``
* ``
* ``

## Additional Documentation

<!-- Links to further documentation. Remove conceptual documentation if not available for the library. -->

* [Conceptual documentation](https://learn.microsoft.com/dotnet/standard/serialization/**LIBRARYNAME**/overview)
* [API documentation](https://learn.microsoft.com/dotnet/api/**LIBRARYNAME**)

## Related Packages

<!-- The related packages associated with this package -->

## Feedback & Contributing

<!-- How to provide feedback on this package and contribute to it -->

Microsoft.Extensions.DependencyInjection.Specification.Tests 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).
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
## About

<!-- A description of the package and where one can find more documentation -->

Serves as the foundation for creating file providers in .NET, offering core abstractions to develop custom file providers capable of fetching files from various sources.

## Key Features

<!-- The key features of this package -->

* Core abstractions for creating and managing file providers.
* Flexibility to develop custom file providers for fetching files from distinct sources.

## 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 -->

This package is typically used with an implementation of the file provider abstractions, such as `Microsoft.Extensions.FileProviders.Composite` or `Microsoft.Extensions.FileProviders.Physical`.

## Main Types

<!-- The main types provided in this library -->

The main types provided by this library are:

* `Microsoft.Extensions.FileProviders.IFileProvider`
* `Microsoft.Extensions.FileProviders.IDirectoryContents`
* `Microsoft.Extensions.FileProviders.IFileInfo`
* `Microsoft.Extensions.FileProviders.NullFileProvider`

## Additional Documentation

<!-- Links to further documentation. Remove conceptual documentation if not available for the library. -->

* [Conceptual documentation](https://learn.microsoft.com/aspnet/core/fundamentals/file-providers)
* [Detect changes with change tokens](https://learn.microsoft.com/aspnet/core/fundamentals/change-tokens)
* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.fileproviders)

## Related Packages

<!-- The related packages associated with this package -->

* File provider for physical files: [Microsoft.Extensions.FileProviders.Physical](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Physical/)
* File provider for files in embedded resources: [Microsoft.Extensions.FileProviders.Embedded](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Embedded/)
* Composite file and directory providers: [Microsoft.Extensions.FileProviders.Composite](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Composite/)

## Feedback & Contributing

<!-- How to provide feedback on this package and contribute to it -->

Microsoft.Extensions.FileProviders.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).
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
## About

<!-- A description of the package and where one can find more documentation -->



## Key Features

<!-- The key features of this package -->

*
*
*

## 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 -->

## Main Types

<!-- The main types provided in this library -->

The main types provided by this library are:

* ``
* ``
* ``

## Additional Documentation

<!-- Links to further documentation. Remove conceptual documentation if not available for the library. -->

* [Conceptual documentation](https://learn.microsoft.com/dotnet/standard/serialization/**LIBRARYNAME**/overview)
* [API documentation](https://learn.microsoft.com/dotnet/api/**LIBRARYNAME**)

## Related Packages

<!-- The related packages associated with this package -->

## Feedback & Contributing

<!-- How to provide feedback on this package and contribute to it -->

Microsoft.Extensions.FileProviders.Composite 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).
Original file line number Diff line number Diff line change
@@ -0,0 +1,70 @@
## About

<!-- A description of the package and where one can find more documentation -->

Provides an implementation of a physical file provider, facilitating file access and monitoring on the disk. The primary type, [`PhysicalFileProvider`](https://learn.microsoft.com/dotnet/api/microsoft.extensions.fileproviders.physicalfileprovider), enables the lookup of files on disk and can watch for changes either via `FileSystemWatcher` or polling mechanisms.


## Key Features

<!-- The key features of this package -->

* Easy access and monitoring of files on the disk.
* Ability to watch for file changes either by using `FileSystemWatcher` or through polling.

## 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 -->

This library can be used to look up files on disk and monitor file changes effectively.
Below is an example of how to use the `PhysicalFileProvider` to access files on disk and monitor changes:

```c#
using Microsoft.Extensions.FileProviders;
using Microsoft.Extensions.FileProviders.Physical;

using var provider = new PhysicalFileProvider(AppContext.BaseDirectory);

Environment.SetEnvironmentVariable("DOTNET_USE_POLLING_FILE_WATCHER", "1");

var contents = provider.GetDirectoryContents(string.Empty);
foreach (PhysicalFileInfo fileInfo in contents)
{
Console.WriteLine(fileInfo.PhysicalPath);
}

var changeToken = provider.Watch("*.txt");
changeToken.RegisterChangeCallback(_ => Console.WriteLine("Text file changed"), null);

Console.ReadLine();
```

## Main Types

<!-- The main types provided in this library -->

The main types provided by this library are:

* `Microsoft.Extensions.FileProviders.PhysicalFileProvider`
* `Microsoft.Extensions.FileProviders.PhysicalDirectoryInfo`
* `Microsoft.Extensions.FileProviders.PhysicalFileInfo`

## Additional Documentation

<!-- Links to further documentation. Remove conceptual documentation if not available for the library. -->

* [Conceptual documentation](https://learn.microsoft.com/aspnet/core/fundamentals/file-providers#physical-file-provider)
* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.fileproviders.physical)

## Related Packages

<!-- The related packages associated with this package -->

* Abstractions of files and directories: [Microsoft.Extensions.FileProviders.Abstractions](https://www.nuget.org/packages/Microsoft.Extensions.FileProviders.Abstractions/)
* File system globbing to find files matching a specified pattern: [Microsoft.Extensions.FileSystemGlobbing](https://www.nuget.org/packages/Microsoft.Extensions.FileSystemGlobbing/)

## Feedback & Contributing

<!-- How to provide feedback on this package and contribute to it -->

Microsoft.Extensions.FileProviders.Physical 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).
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
## About

<!-- A description of the package and where one can find more documentation -->

Provides support for matching file system names/paths using [glob patterns](https://en.wikipedia.org/wiki/Glob_(programming)).

## Key Features

<!-- The key features of this package -->

* Contains the `Matcher` type, which can be used to match files in the file system based on user-defined patterns.

## 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 -->

Get all matching files:

```c#
using Microsoft.Extensions.FileSystemGlobbing;

Matcher matcher = new();
matcher.AddIncludePatterns(new[] { "*.txt", "*.asciidoc", "*.md" });

string searchDirectory = "../starting-folder/";

IEnumerable<string> matchingFiles = matcher.GetResultsInFullPath(searchDirectory);

// Use matchingFiles if there are any found.
// The files in this collection are fully qualified file system paths.
```

## Main Types

<!-- The main types provided in this library -->

The main types provided by this library are:

* `Microsoft.Extensions.FileSystemGlobbing.Matcher`

## Additional Documentation

<!-- Links to further documentation. Remove conceptual documentation if not available for the library. -->

* [Conceptual documentation](https://learn.microsoft.com/dotnet/core/extensions/file-globbing)
* [API documentation](https://learn.microsoft.com/dotnet/api/microsoft.extensions.filesystemglobbing)

## Feedback & Contributing

<!-- How to provide feedback on this package and contribute to it -->

Microsoft.Extensions.FileSystemGlobbing 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).
Loading

0 comments on commit 5aabefa

Please sign in to comment.