{"id":24763669,"url":"https://github.com/meziantou/meziantou.framework","last_synced_at":"2025-05-13T22:08:08.258Z","repository":{"id":38865499,"uuid":"103050060","full_name":"meziantou/Meziantou.Framework","owner":"meziantou","description":null,"archived":false,"fork":false,"pushed_at":"2025-05-12T22:52:09.000Z","size":11780,"stargazers_count":734,"open_issues_count":3,"forks_count":101,"subscribers_count":25,"default_branch":"main","last_synced_at":"2025-05-12T23:33:50.387Z","etag":null,"topics":["dotnet"],"latest_commit_sha":null,"homepage":"","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/meziantou.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE.txt","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["meziantou"],"patreon":null,"open_collective":null,"ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":["https://www.buymeacoffee.com/meziantou"]}},"created_at":"2017-09-10T17:57:35.000Z","updated_at":"2025-05-12T22:52:11.000Z","dependencies_parsed_at":"2024-05-28T19:58:41.129Z","dependency_job_id":"486a390f-7a1c-4016-9d0e-23f1899b9d9f","html_url":"https://github.com/meziantou/Meziantou.Framework","commit_stats":{"total_commits":1005,"total_committers":13,"mean_commits":77.3076923076923,"dds":0.6666666666666667,"last_synced_commit":"d6f9661015d0ebc9bfc1cf736b0e0bb023e36160"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meziantou%2FMeziantou.Framework","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meziantou%2FMeziantou.Framework/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meziantou%2FMeziantou.Framework/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/meziantou%2FMeziantou.Framework/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/meziantou","download_url":"https://codeload.github.com/meziantou/Meziantou.Framework/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254036829,"owners_count":22003654,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["dotnet"],"created_at":"2025-01-28T20:35:59.811Z","updated_at":"2025-05-13T22:08:03.227Z","avatar_url":"https://github.com/meziantou.png","language":"C#","funding_links":["https://github.com/sponsors/meziantou","https://www.buymeacoffee.com/meziantou"],"categories":[],"sub_categories":[],"readme":"![build](https://github.com/meziantou/Meziantou.Framework/workflows/publish/badge.svg)\n[![GitHub license](https://img.shields.io/github/license/meziantou/Meziantou.Framework.svg)](https://github.com/meziantou/Meziantou.Framework/blob/main/LICENSE.txt)\n\n# NuGet packages\n\n| Name | Version | Readme |\n| :--- | :---: | :---: |\n| Meziantou.AspNetCore.Components | [![NuGet](https://img.shields.io/nuget/v/Meziantou.AspNetCore.Components.svg)](https://www.nuget.org/packages/Meziantou.AspNetCore.Components/) | |\n| Meziantou.AspNetCore.Components.LogViewer | [![NuGet](https://img.shields.io/nuget/v/Meziantou.AspNetCore.Components.LogViewer.svg)](https://www.nuget.org/packages/Meziantou.AspNetCore.Components.LogViewer/) | |\n| Meziantou.AspNetCore.Components.WebAssembly | [![NuGet](https://img.shields.io/nuget/v/Meziantou.AspNetCore.Components.WebAssembly.svg)](https://www.nuget.org/packages/Meziantou.AspNetCore.Components.WebAssembly/) | |\n| Meziantou.AspNetCore.Mvc | [![NuGet](https://img.shields.io/nuget/v/Meziantou.AspNetCore.Mvc.svg)](https://www.nuget.org/packages/Meziantou.AspNetCore.Mvc/) | |\n| Meziantou.Extensions.Logging.InMemory | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Extensions.Logging.InMemory.svg)](https://www.nuget.org/packages/Meziantou.Extensions.Logging.InMemory/) | [readme](src/Meziantou.Extensions.Logging.InMemory/readme.md) |\n| Meziantou.Extensions.Logging.Xunit | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Extensions.Logging.Xunit.svg)](https://www.nuget.org/packages/Meziantou.Extensions.Logging.Xunit/) | [readme](src/Meziantou.Extensions.Logging.Xunit/readme.md) |\n| Meziantou.Extensions.Logging.Xunit.v3 | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Extensions.Logging.Xunit.v3.svg)](https://www.nuget.org/packages/Meziantou.Extensions.Logging.Xunit.v3/) | [readme](src/Meziantou.Extensions.Logging.Xunit.v3/readme.md) |\n| Meziantou.Framework | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.svg)](https://www.nuget.org/packages/Meziantou.Framework/) | |\n| Meziantou.Framework.ByteSize | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.ByteSize.svg)](https://www.nuget.org/packages/Meziantou.Framework.ByteSize/) | [readme](src/Meziantou.Framework.ByteSize/readme.md) |\n| Meziantou.Framework.ChromiumTracing | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.ChromiumTracing.svg)](https://www.nuget.org/packages/Meziantou.Framework.ChromiumTracing/) | |\n| Meziantou.Framework.CodeDom | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.CodeDom.svg)](https://www.nuget.org/packages/Meziantou.Framework.CodeDom/) | |\n| Meziantou.Framework.CodeOwners | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.CodeOwners.svg)](https://www.nuget.org/packages/Meziantou.Framework.CodeOwners/) | [readme](src/Meziantou.Framework.CodeOwners/readme.md) |\n| Meziantou.Framework.CommandLine | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.CommandLine.svg)](https://www.nuget.org/packages/Meziantou.Framework.CommandLine/) | |\n| Meziantou.Framework.Csv | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Csv.svg)](https://www.nuget.org/packages/Meziantou.Framework.Csv/) | |\n| Meziantou.Framework.DependencyScanning | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.DependencyScanning.svg)](https://www.nuget.org/packages/Meziantou.Framework.DependencyScanning/) | |\n| Meziantou.Framework.Diagnostics.ContextSnapshot | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Diagnostics.ContextSnapshot.svg)](https://www.nuget.org/packages/Meziantou.Framework.Diagnostics.ContextSnapshot/) | [readme](src/Meziantou.Framework.Diagnostics.ContextSnapshot/readme.md) |\n| Meziantou.Framework.FastEnumToStringGenerator | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.FastEnumToStringGenerator.svg)](https://www.nuget.org/packages/Meziantou.Framework.FastEnumToStringGenerator/) | [readme](src/Meziantou.Framework.FastEnumToStringGenerator/readme.md) |\n| Meziantou.Framework.FullPath | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.FullPath.svg)](https://www.nuget.org/packages/Meziantou.Framework.FullPath/) | [readme](src/Meziantou.Framework.FullPath/readme.md) |\n| Meziantou.Framework.Globbing | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Globbing.svg)](https://www.nuget.org/packages/Meziantou.Framework.Globbing/) | [readme](src/Meziantou.Framework.Globbing/readme.md) |\n| Meziantou.Framework.Html | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Html.svg)](https://www.nuget.org/packages/Meziantou.Framework.Html/) | |\n| Meziantou.Framework.Html.Tool | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Html.Tool.svg)](https://www.nuget.org/packages/Meziantou.Framework.Html.Tool/) | [readme](src/Meziantou.Framework.Html.Tool/readme.md) |\n| Meziantou.Framework.HtmlSanitizer | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.HtmlSanitizer.svg)](https://www.nuget.org/packages/Meziantou.Framework.HtmlSanitizer/) | |\n| Meziantou.Framework.Http | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Http.svg)](https://www.nuget.org/packages/Meziantou.Framework.Http/) | [readme](src/Meziantou.Framework.Http/readme.md) |\n| Meziantou.Framework.Http.Hsts | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Http.Hsts.svg)](https://www.nuget.org/packages/Meziantou.Framework.Http.Hsts/) | [readme](src/Meziantou.Framework.Http.Hsts/readme.md) |\n| Meziantou.Framework.HttpClientMock | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.HttpClientMock.svg)](https://www.nuget.org/packages/Meziantou.Framework.HttpClientMock/) | [readme](src/Meziantou.Framework.HttpClientMock/readme.md) |\n| Meziantou.Framework.HumanReadableSerializer | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.HumanReadableSerializer.svg)](https://www.nuget.org/packages/Meziantou.Framework.HumanReadableSerializer/) | [readme](src/Meziantou.Framework.HumanReadableSerializer/readme.md) |\n| Meziantou.Framework.InlineSnapshotTesting | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.InlineSnapshotTesting.svg)](https://www.nuget.org/packages/Meziantou.Framework.InlineSnapshotTesting/) | [readme](src/Meziantou.Framework.InlineSnapshotTesting/readme.md) |\n| Meziantou.Framework.InlineSnapshotTesting.Serializers.Argon | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.InlineSnapshotTesting.Serializers.Argon.svg)](https://www.nuget.org/packages/Meziantou.Framework.InlineSnapshotTesting.Serializers.Argon/) | |\n| Meziantou.Framework.NuGetPackageValidation | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.NuGetPackageValidation.svg)](https://www.nuget.org/packages/Meziantou.Framework.NuGetPackageValidation/) | |\n| Meziantou.Framework.NuGetPackageValidation.Tool | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.NuGetPackageValidation.Tool.svg)](https://www.nuget.org/packages/Meziantou.Framework.NuGetPackageValidation.Tool/) | [readme](src/Meziantou.Framework.NuGetPackageValidation.Tool/readme.md) |\n| Meziantou.Framework.ObjectMethodExecutor | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.ObjectMethodExecutor.svg)](https://www.nuget.org/packages/Meziantou.Framework.ObjectMethodExecutor/) | [readme](src/Meziantou.Framework.ObjectMethodExecutor/readme.md) |\n| Meziantou.Framework.RelativeDate | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.RelativeDate.svg)](https://www.nuget.org/packages/Meziantou.Framework.RelativeDate/) | [readme](src/Meziantou.Framework.RelativeDate/readme.md) |\n| Meziantou.Framework.ResxSourceGenerator | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.ResxSourceGenerator.svg)](https://www.nuget.org/packages/Meziantou.Framework.ResxSourceGenerator/) | [readme](src/Meziantou.Framework.ResxSourceGenerator/readme.md) |\n| Meziantou.Framework.Scheduling | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Scheduling.svg)](https://www.nuget.org/packages/Meziantou.Framework.Scheduling/) | [readme](src/Meziantou.Framework.Scheduling/readme.md) |\n| Meziantou.Framework.SensitiveData | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.SensitiveData.svg)](https://www.nuget.org/packages/Meziantou.Framework.SensitiveData/) | [readme](src/Meziantou.Framework.SensitiveData/readme.md) |\n| Meziantou.Framework.SimpleQueryLanguage | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.SimpleQueryLanguage.svg)](https://www.nuget.org/packages/Meziantou.Framework.SimpleQueryLanguage/) | [readme](src/Meziantou.Framework.SimpleQueryLanguage/readme.md) |\n| Meziantou.Framework.SingleInstance | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.SingleInstance.svg)](https://www.nuget.org/packages/Meziantou.Framework.SingleInstance/) | [readme](src/Meziantou.Framework.SingleInstance/readme.md) |\n| Meziantou.Framework.Slug | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Slug.svg)](https://www.nuget.org/packages/Meziantou.Framework.Slug/) | [readme](src/Meziantou.Framework.Slug/readme.md) |\n| Meziantou.Framework.StronglyTypedId | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.StronglyTypedId.svg)](https://www.nuget.org/packages/Meziantou.Framework.StronglyTypedId/) | [readme](src/Meziantou.Framework.StronglyTypedId/readme.md) |\n| Meziantou.Framework.StronglyTypedId.Interfaces | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.StronglyTypedId.Interfaces.svg)](https://www.nuget.org/packages/Meziantou.Framework.StronglyTypedId.Interfaces/) | |\n| Meziantou.Framework.Templating | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Templating.svg)](https://www.nuget.org/packages/Meziantou.Framework.Templating/) | |\n| Meziantou.Framework.Templating.Html | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Templating.Html.svg)](https://www.nuget.org/packages/Meziantou.Framework.Templating.Html/) | |\n| Meziantou.Framework.TemporaryDirectory | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.TemporaryDirectory.svg)](https://www.nuget.org/packages/Meziantou.Framework.TemporaryDirectory/) | [readme](src/Meziantou.Framework.TemporaryDirectory/readme.md) |\n| Meziantou.Framework.Threading | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Threading.svg)](https://www.nuget.org/packages/Meziantou.Framework.Threading/) | [readme](src/Meziantou.Framework.Threading/readme.md) |\n| Meziantou.Framework.TypeConverter | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.TypeConverter.svg)](https://www.nuget.org/packages/Meziantou.Framework.TypeConverter/) | |\n| Meziantou.Framework.Uri | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Uri.svg)](https://www.nuget.org/packages/Meziantou.Framework.Uri/) | [readme](src/Meziantou.Framework.Uri/readme.md) |\n| Meziantou.Framework.ValueStopwatch | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.ValueStopwatch.svg)](https://www.nuget.org/packages/Meziantou.Framework.ValueStopwatch/) | [readme](src/Meziantou.Framework.ValueStopwatch/readme.md) |\n| Meziantou.Framework.Versioning | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Versioning.svg)](https://www.nuget.org/packages/Meziantou.Framework.Versioning/) | [readme](src/Meziantou.Framework.Versioning/readme.md) |\n| Meziantou.Framework.Win32.AccessToken | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Win32.AccessToken.svg)](https://www.nuget.org/packages/Meziantou.Framework.Win32.AccessToken/) | |\n| Meziantou.Framework.Win32.Amsi | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Win32.Amsi.svg)](https://www.nuget.org/packages/Meziantou.Framework.Win32.Amsi/) | [readme](src/Meziantou.Framework.Win32.Amsi/readme.md) |\n| Meziantou.Framework.Win32.ChangeJournal | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Win32.ChangeJournal.svg)](https://www.nuget.org/packages/Meziantou.Framework.Win32.ChangeJournal/) | [readme](src/Meziantou.Framework.Win32.ChangeJournal/readme.md) |\n| Meziantou.Framework.Win32.CredentialManager | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Win32.CredentialManager.svg)](https://www.nuget.org/packages/Meziantou.Framework.Win32.CredentialManager/) | [readme](src/Meziantou.Framework.Win32.CredentialManager/readme.md) |\n| Meziantou.Framework.Win32.Dialogs | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Win32.Dialogs.svg)](https://www.nuget.org/packages/Meziantou.Framework.Win32.Dialogs/) | |\n| Meziantou.Framework.Win32.Jobs | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Win32.Jobs.svg)](https://www.nuget.org/packages/Meziantou.Framework.Win32.Jobs/) | [readme](src/Meziantou.Framework.Win32.Jobs/readme.md) |\n| Meziantou.Framework.Win32.Lsa | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Win32.Lsa.svg)](https://www.nuget.org/packages/Meziantou.Framework.Win32.Lsa/) | |\n| Meziantou.Framework.Win32.PerceivedType | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Win32.PerceivedType.svg)](https://www.nuget.org/packages/Meziantou.Framework.Win32.PerceivedType/) | |\n| Meziantou.Framework.Win32.ProjectedFileSystem | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Win32.ProjectedFileSystem.svg)](https://www.nuget.org/packages/Meziantou.Framework.Win32.ProjectedFileSystem/) | |\n| Meziantou.Framework.Win32.RecentDocuments | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Win32.RecentDocuments.svg)](https://www.nuget.org/packages/Meziantou.Framework.Win32.RecentDocuments/) | [readme](src/Meziantou.Framework.Win32.RecentDocuments/readme.md) |\n| Meziantou.Framework.Win32.RestartManager | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.Win32.RestartManager.svg)](https://www.nuget.org/packages/Meziantou.Framework.Win32.RestartManager/) | |\n| Meziantou.Framework.WPF | [![NuGet](https://img.shields.io/nuget/v/Meziantou.Framework.WPF.svg)](https://www.nuget.org/packages/Meziantou.Framework.WPF/) | |\n\n# How to contribute\n\nIf you want to contribute to this repo, please [read the contributing guide](CONTRIBUTING.md) first.\n\nHow to setup your development environment:\n\n1. Install the latest version of Visual Studio\n2. Use the solution `Meziantou.Framework.sln`\n3. You can run unit tests using the Test explorer in Visual Studio or the command line `dotnet test`\n\nYou can also use Visual Studio Code but I haven't test it.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeziantou%2Fmeziantou.framework","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmeziantou%2Fmeziantou.framework","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmeziantou%2Fmeziantou.framework/lists"}