{"id":15011557,"url":"https://github.com/0xced/chisel","last_synced_at":"2025-05-15T13:02:38.807Z","repository":{"id":227741002,"uuid":"766966057","full_name":"0xced/Chisel","owner":"0xced","description":"Remove unwanted dependencies from your dotnet projects","archived":false,"fork":false,"pushed_at":"2025-04-08T22:03:56.000Z","size":300,"stargazers_count":316,"open_issues_count":1,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-15T03:43:50.484Z","etag":null,"topics":["dotnet","nuget"],"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/0xced.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-03-04T13:15:09.000Z","updated_at":"2025-04-08T21:58:32.000Z","dependencies_parsed_at":"2024-05-04T23:19:37.265Z","dependency_job_id":"8c6b4ecc-93da-4046-aced-c86c5fcba3d9","html_url":"https://github.com/0xced/Chisel","commit_stats":{"total_commits":156,"total_committers":3,"mean_commits":52.0,"dds":0.04487179487179482,"last_synced_commit":"ad1ed84e5188c31cae0c54088c106c9e2dfb6467"},"previous_names":["0xced/chisel"],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xced%2FChisel","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xced%2FChisel/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xced%2FChisel/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/0xced%2FChisel/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/0xced","download_url":"https://codeload.github.com/0xced/Chisel/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249003938,"owners_count":21196794,"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","nuget"],"created_at":"2024-09-24T19:41:14.996Z","updated_at":"2025-04-15T03:43:55.495Z","avatar_url":"https://github.com/0xced.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003cp align=\"center\"\u003e\n  \u003cimg src=\"resources/icon.svg\" alt=\"Chisel icon\" width=\"64\"/\u003e\n\u003c/p\u003e\n\n**Chisel** provides a way to remove unwanted dependencies from your dotnet projects.\n\n[![NuGet](https://img.shields.io/nuget/v/Chisel.svg?label=NuGet\u0026logo=NuGet)](https://www.nuget.org/packages/Chisel/) [![Continuous Integration](https://img.shields.io/github/actions/workflow/status/0xced/Chisel/continuous-integration.yml?branch=main\u0026label=Continuous%20Integration\u0026logo=GitHub)](https://github.com/0xced/Chisel/actions/workflows/continuous-integration.yml)\n\nChisel was born because some database drivers can't resist taking dependencies on cloud libraries. The [MongoDB driver](https://www.nuget.org/packages/MongoDB.Driver) (version 2.*) depends on the ASW SDK for authentication with Identity and Access Management (IAM) and [Microsoft's SQL Server driver](https://www.nuget.org/packages/Microsoft.Data.SqlClient) depends on the Azure SDK for authentication with the Microsoft identity platform (formerly Azure AD).\n\nUsers have asked for separate NuGet packages for both MongoDB ([issue #4635](https://jira.mongodb.org/browse/CSHARP-4635)) and SqlClient ([issue #1108](https://github.com/dotnet/SqlClient/issues/1108)) but as of `MongoDB.Driver` 2.* and `Microsoft.Data.SqlClient` 6.* the cloud dependencies are unavoidable, even if MongoDB or SQL Server is used on premises (where cloud authentication is obviously not needed).\n\n\u003e [!NOTE]  \n\u003e Chisel is no longer needed starting with version 3.0.0 of the `MongoDB.Driver` package since AWS authentication has been moved into a new optional [MongoDB.Driver.Authentication.AWS](https://www.nuget.org/packages/MongoDB.Driver.Authentication.AWS) package. See [Version 3.0 Breaking Changes](https://www.mongodb.com/docs/drivers/csharp/current/upgrade/v3/#version-3.0-breaking-changes) for more information.\n\nEnter Chisel to remove those dependencies and save some precious megabytes.\n\n## Getting started\n\nAdd the [Chisel](https://www.nuget.org/packages/Chisel/) NuGet package to your project using the NuGet Package Manager or run the following command:\n\n```sh\ndotnet add package Chisel\n```\n\nWhile Chisel's main purpose is removing unwanted dependencies from existing NuGet packages, it provides another great feature: a graph of your project's dependencies. After adding Chisel, a [Mermaid](https://mermaid.js.org) (or [Graphviz](https://graphviz.org)) graph is written in the intermediate output path (aka the `obj` directory).\n\nFor a project referencing `Hangfire.PostgreSql` and `Npgsql.EntityFrameworkCore.PostgreSQL` the graph would look like this.\n\n```mermaid\ngraph LR\n\nclassDef root stroke-width:4px\nclassDef default fill:aquamarine,stroke:#009061,color:#333333\n\nHangfire.Core --\u003e Newtonsoft.Json\nHangfire.PostgreSql{{Hangfire.PostgreSql}} --\u003e Dapper\nHangfire.PostgreSql{{Hangfire.PostgreSql}} --\u003e Hangfire.Core\nHangfire.PostgreSql{{Hangfire.PostgreSql}} --\u003e Npgsql\nMicrosoft.EntityFrameworkCore --\u003e Microsoft.EntityFrameworkCore.Abstractions\nMicrosoft.EntityFrameworkCore --\u003e Microsoft.Extensions.Caching.Memory\nMicrosoft.EntityFrameworkCore --\u003e Microsoft.Extensions.Logging\nMicrosoft.EntityFrameworkCore.Relational --\u003e Microsoft.EntityFrameworkCore\nMicrosoft.EntityFrameworkCore.Relational --\u003e Microsoft.Extensions.Configuration.Abstractions\nMicrosoft.Extensions.Caching.Abstractions --\u003e Microsoft.Extensions.Primitives\nMicrosoft.Extensions.Caching.Memory --\u003e Microsoft.Extensions.Caching.Abstractions\nMicrosoft.Extensions.Caching.Memory --\u003e Microsoft.Extensions.DependencyInjection.Abstractions\nMicrosoft.Extensions.Caching.Memory --\u003e Microsoft.Extensions.Logging.Abstractions\nMicrosoft.Extensions.Caching.Memory --\u003e Microsoft.Extensions.Options\nMicrosoft.Extensions.Caching.Memory --\u003e Microsoft.Extensions.Primitives\nMicrosoft.Extensions.Configuration.Abstractions --\u003e Microsoft.Extensions.Primitives\nMicrosoft.Extensions.DependencyInjection --\u003e Microsoft.Extensions.DependencyInjection.Abstractions\nMicrosoft.Extensions.Logging --\u003e Microsoft.Extensions.DependencyInjection\nMicrosoft.Extensions.Logging --\u003e Microsoft.Extensions.Logging.Abstractions\nMicrosoft.Extensions.Logging --\u003e Microsoft.Extensions.Options\nMicrosoft.Extensions.Logging.Abstractions --\u003e Microsoft.Extensions.DependencyInjection.Abstractions\nMicrosoft.Extensions.Options --\u003e Microsoft.Extensions.DependencyInjection.Abstractions\nMicrosoft.Extensions.Options --\u003e Microsoft.Extensions.Primitives\nNpgsql --\u003e Microsoft.Extensions.Logging.Abstractions\nNpgsql.EntityFrameworkCore.PostgreSQL{{Npgsql.EntityFrameworkCore.PostgreSQL}} --\u003e Microsoft.EntityFrameworkCore\nNpgsql.EntityFrameworkCore.PostgreSQL{{Npgsql.EntityFrameworkCore.PostgreSQL}} --\u003e Microsoft.EntityFrameworkCore.Abstractions\nNpgsql.EntityFrameworkCore.PostgreSQL{{Npgsql.EntityFrameworkCore.PostgreSQL}} --\u003e Microsoft.EntityFrameworkCore.Relational\nNpgsql.EntityFrameworkCore.PostgreSQL{{Npgsql.EntityFrameworkCore.PostgreSQL}} --\u003e Npgsql\n\nclass Hangfire.PostgreSql root\nclass Npgsql.EntityFrameworkCore.PostgreSQL root\n```\n\nMermaid graphs can be used directly in [markdown files on GitHub](https://github.blog/2022-02-14-include-diagrams-markdown-files-mermaid/) and are rendered as graphs, just like the one just above. Or they can also be edited, previewed and shared with the [Mermaid live editor](https://mermaid.live/).\n\nGraphviz (DOT) files can be written instead by setting the `ChiselGraphName` property to a name that ends with `.gv`:\n\n```xml\n\u003cPropertyGroup\u003e\n  \u003cChiselGraphName\u003e$(MSBuildProjectName).Chisel.gv\u003c/ChiselGraphName\u003e\n\u003c/PropertyGroup\u003e\n```\n\nGraphviz files can be visualized and shared online with [Edotor](https://edotor.net) or locally with the excellent [Graphviz Interactive Preview](https://marketplace.visualstudio.com/items?itemName=tintinweb.graphviz-interactive-preview) extension for Visual Studio Code.\n\n\u003e [!WARNING]  \n\u003e While this technique has been sucessfully tested with the MongDB driver and the SQL Server driver, removing dependencies from a package might lead to exceptions at runtime. Make sure to properly test your application.\n\n## Removing the AWS SDK from `MongoDB.Driver` version 2.*\n\nAfter adding the `Chisel` package to your project, tell it to remove the `AWSSDK.SecurityToken` dependency with the `ChiselPackage` property.\n\n```xml\n\u003cPropertyGroup\u003e\n  \u003cChiselPackage\u003eAWSSDK.SecurityToken\u003c/ChiselPackage\u003e\n\u003c/PropertyGroup\u003e\n```\n\nSpecifying the _direct_ dependencies is enough. Looking at the produced graph confirms that Chisel figured out the transitive dependencies by itself (there's only `AWSSDK.Core` in this scenario).\n\n```mermaid\ngraph LR\n\nclassDef root stroke-width:4px\nclassDef default fill:aquamarine,stroke:#009061,color:#333333\nclassDef removed fill:lightcoral,stroke:#A42A2A\n\nAWSSDK.SecurityToken/3.7.100.14 --\u003e AWSSDK.Core/3.7.100.14\nDnsClient/1.6.1 --\u003e Microsoft.Win32.Registry/5.0.0\nMicrosoft.Win32.Registry/5.0.0 --\u003e System.Security.AccessControl/5.0.0\nMicrosoft.Win32.Registry/5.0.0 --\u003e System.Security.Principal.Windows/5.0.0\nMongoDB.Bson/2.30.0 --\u003e System.Runtime.CompilerServices.Unsafe/5.0.0\nMongoDB.Driver/2.30.0{{MongoDB.Driver/2.30.0}} --\u003e Microsoft.Extensions.Logging.Abstractions/6.0.4\nMongoDB.Driver/2.30.0{{MongoDB.Driver/2.30.0}} --\u003e MongoDB.Bson/2.30.0\nMongoDB.Driver/2.30.0{{MongoDB.Driver/2.30.0}} --\u003e MongoDB.Driver.Core/2.30.0\nMongoDB.Driver/2.30.0{{MongoDB.Driver/2.30.0}} --\u003e MongoDB.Libmongocrypt/1.12.0\nMongoDB.Driver.Core/2.30.0 --\u003e AWSSDK.SecurityToken/3.7.100.14\nMongoDB.Driver.Core/2.30.0 --\u003e DnsClient/1.6.1\nMongoDB.Driver.Core/2.30.0 --\u003e Microsoft.Extensions.Logging.Abstractions/6.0.4\nMongoDB.Driver.Core/2.30.0 --\u003e MongoDB.Bson/2.30.0\nMongoDB.Driver.Core/2.30.0 --\u003e MongoDB.Libmongocrypt/1.12.0\nMongoDB.Driver.Core/2.30.0 --\u003e SharpCompress/0.30.1\nMongoDB.Driver.Core/2.30.0 --\u003e Snappier/1.0.0\nMongoDB.Driver.Core/2.30.0 --\u003e ZstdSharp.Port/0.7.3\nSystem.Security.AccessControl/5.0.0 --\u003e System.Security.Principal.Windows/5.0.0\n\nclass AWSSDK.Core/3.7.100.14 removed\nclass AWSSDK.SecurityToken/3.7.100.14 removed\nclass DnsClient/1.6.1 default\nclass Microsoft.Extensions.Logging.Abstractions/6.0.4 default\nclass Microsoft.Win32.Registry/5.0.0 default\nclass MongoDB.Bson/2.30.0 default\nclass MongoDB.Driver/2.30.0 root\nclass MongoDB.Driver/2.30.0 default\nclass MongoDB.Driver.Core/2.30.0 default\nclass MongoDB.Libmongocrypt/1.12.0 default\nclass SharpCompress/0.30.1 default\nclass Snappier/1.0.0 default\nclass System.Runtime.CompilerServices.Unsafe/5.0.0 default\nclass System.Security.AccessControl/5.0.0 default\nclass System.Security.Principal.Windows/5.0.0 default\nclass ZstdSharp.Port/0.7.3 default\n```\n\nNow, both `AWSSDK.Core.dll` and `AWSSDK.SecurityToken.dll` have disappeared from the build output.\n\nAs long as the [MONGODB-AWS authentication mechanism](https://www.mongodb.com/docs/drivers/csharp/current/fundamentals/authentication/#std-label-csharp-mongodb-aws) is not used everything will work fine. See the `MongoDbSample` project in the `samples` directory.\n\n## Removing the Azure SDK from `Microsoft.Data.SqlClient` version 6.*\n\nGetting rid of the Azure/Microsoft Identity bits requires defining three packages to remove. In the previous example, `\u003cChiselPackage\u003e` was used as an MSBuild property. Here, it's used as an MSBuild item (i.e. with the `Include` attribute) to specify multiple packages.\n\n```xml\n\u003cItemGroup\u003e\n  \u003cChiselPackage Include=\"Azure.Identity\" /\u003e\n  \u003cChiselPackage Include=\"Microsoft.IdentityModel.JsonWebTokens\" /\u003e\n  \u003cChiselPackage Include=\"Microsoft.IdentityModel.Protocols.OpenIdConnect\" /\u003e\n\u003c/ItemGroup\u003e\n```\n\nAs with the MongoDB driver, specifying the three _direct_ dependencies is enough. We can see in the produced graph that the `Microsoft.Identity*` libraries have many transitive dependencies which are also removed (in red).\n\n```mermaid\ngraph LR\n\nclassDef root stroke-width:4px\nclassDef default fill:aquamarine,stroke:#009061,color:#333333\nclassDef removed fill:lightcoral,stroke:#A42A2A\n\nAzure.Core --\u003e Microsoft.Bcl.AsyncInterfaces\nAzure.Core --\u003e System.ClientModel\nAzure.Core --\u003e System.Diagnostics.DiagnosticSource\nAzure.Core --\u003e System.Memory.Data\nAzure.Core --\u003e System.Text.Encodings.Web\nAzure.Core --\u003e System.Text.Json\nAzure.Identity --\u003e Azure.Core\nAzure.Identity --\u003e Microsoft.Identity.Client\nAzure.Identity --\u003e Microsoft.Identity.Client.Extensions.Msal\nAzure.Identity --\u003e System.Security.Cryptography.ProtectedData\nAzure.Identity --\u003e System.Text.Json\nMicrosoft.Data.SqlClient{{Microsoft.Data.SqlClient}} --\u003e Azure.Identity\nMicrosoft.Data.SqlClient{{Microsoft.Data.SqlClient}} --\u003e Microsoft.Bcl.Cryptography\nMicrosoft.Data.SqlClient{{Microsoft.Data.SqlClient}} --\u003e Microsoft.Extensions.Caching.Memory\nMicrosoft.Data.SqlClient{{Microsoft.Data.SqlClient}} --\u003e Microsoft.IdentityModel.JsonWebTokens\nMicrosoft.Data.SqlClient{{Microsoft.Data.SqlClient}} --\u003e Microsoft.IdentityModel.Protocols.OpenIdConnect\nMicrosoft.Data.SqlClient{{Microsoft.Data.SqlClient}} --\u003e Microsoft.SqlServer.Server\nMicrosoft.Data.SqlClient{{Microsoft.Data.SqlClient}} --\u003e System.Configuration.ConfigurationManager\nMicrosoft.Data.SqlClient{{Microsoft.Data.SqlClient}} --\u003e System.Security.Cryptography.Pkcs\nMicrosoft.Extensions.Caching.Abstractions --\u003e Microsoft.Extensions.Primitives\nMicrosoft.Extensions.Caching.Memory --\u003e Microsoft.Extensions.Caching.Abstractions\nMicrosoft.Extensions.Caching.Memory --\u003e Microsoft.Extensions.DependencyInjection.Abstractions\nMicrosoft.Extensions.Caching.Memory --\u003e Microsoft.Extensions.Logging.Abstractions\nMicrosoft.Extensions.Caching.Memory --\u003e Microsoft.Extensions.Options\nMicrosoft.Extensions.Caching.Memory --\u003e Microsoft.Extensions.Primitives\nMicrosoft.Extensions.Logging.Abstractions --\u003e Microsoft.Extensions.DependencyInjection.Abstractions\nMicrosoft.Extensions.Options --\u003e Microsoft.Extensions.DependencyInjection.Abstractions\nMicrosoft.Extensions.Options --\u003e Microsoft.Extensions.Primitives\nMicrosoft.Identity.Client --\u003e Microsoft.IdentityModel.Abstractions\nMicrosoft.Identity.Client --\u003e System.Diagnostics.DiagnosticSource\nMicrosoft.Identity.Client.Extensions.Msal --\u003e Microsoft.Identity.Client\nMicrosoft.Identity.Client.Extensions.Msal --\u003e System.Security.Cryptography.ProtectedData\nMicrosoft.IdentityModel.JsonWebTokens --\u003e Microsoft.IdentityModel.Tokens\nMicrosoft.IdentityModel.Logging --\u003e Microsoft.IdentityModel.Abstractions\nMicrosoft.IdentityModel.Protocols --\u003e Microsoft.IdentityModel.Tokens\nMicrosoft.IdentityModel.Protocols.OpenIdConnect --\u003e Microsoft.IdentityModel.Protocols\nMicrosoft.IdentityModel.Protocols.OpenIdConnect --\u003e System.IdentityModel.Tokens.Jwt\nMicrosoft.IdentityModel.Tokens --\u003e Microsoft.IdentityModel.Logging\nSystem.ClientModel --\u003e System.Memory.Data\nSystem.ClientModel --\u003e System.Text.Json\nSystem.Configuration.ConfigurationManager --\u003e System.Diagnostics.EventLog\nSystem.Configuration.ConfigurationManager --\u003e System.Security.Cryptography.ProtectedData\nSystem.Diagnostics.DiagnosticSource --\u003e System.Runtime.CompilerServices.Unsafe\nSystem.IdentityModel.Tokens.Jwt --\u003e Microsoft.IdentityModel.JsonWebTokens\nSystem.IdentityModel.Tokens.Jwt --\u003e Microsoft.IdentityModel.Tokens\nSystem.Memory.Data --\u003e System.Text.Encodings.Web\nSystem.Memory.Data --\u003e System.Text.Json\n\nclass Azure.Core removed\nclass Azure.Identity removed\nclass Microsoft.Bcl.AsyncInterfaces removed\nclass Microsoft.Bcl.Cryptography default\nclass Microsoft.Data.SqlClient root\nclass Microsoft.Data.SqlClient default\nclass Microsoft.Extensions.Caching.Abstractions default\nclass Microsoft.Extensions.Caching.Memory default\nclass Microsoft.Extensions.DependencyInjection.Abstractions default\nclass Microsoft.Extensions.Logging.Abstractions default\nclass Microsoft.Extensions.Options default\nclass Microsoft.Extensions.Primitives default\nclass Microsoft.Identity.Client removed\nclass Microsoft.Identity.Client.Extensions.Msal removed\nclass Microsoft.IdentityModel.Abstractions removed\nclass Microsoft.IdentityModel.JsonWebTokens removed\nclass Microsoft.IdentityModel.Logging removed\nclass Microsoft.IdentityModel.Protocols removed\nclass Microsoft.IdentityModel.Protocols.OpenIdConnect removed\nclass Microsoft.IdentityModel.Tokens removed\nclass Microsoft.SqlServer.Server default\nclass System.ClientModel removed\nclass System.Configuration.ConfigurationManager default\nclass System.Diagnostics.DiagnosticSource removed\nclass System.Diagnostics.EventLog default\nclass System.IdentityModel.Tokens.Jwt removed\nclass System.Memory.Data removed\nclass System.Runtime.CompilerServices.Unsafe removed\nclass System.Security.Cryptography.Pkcs default\nclass System.Security.Cryptography.ProtectedData default\nclass System.Text.Encodings.Web removed\nclass System.Text.Json removed\n```\n\nFor `Microsoft.Data.SqlClient` prior to version 6, an additional trick is required to get rid of the `Microsoft.Identity.Client` dependency. See a [previous version](https://github.com/0xced/Chisel/blob/1.1.1/README.md#removing-the-azure-sdk-from-microsoftdatasqlclient) of the README for more information.\n\nOn macOS, removing the Azure authentication libraries and its dependencies reduces the size of the dlls from 5.6 MiB down to 3.1 MiB. In other words, the Azure librarires are responsible fore almost 50% of the size of the `Microsoft.Data.SqlClient` (6.0.1) package.\n\n```mermaid\n%%{ init: { 'theme': 'base', 'themeVariables': { 'pie1': 'lightcoral', 'pie2': 'aquamarine' } } }%%\npie title Microsoft.Data.SqlClient composition\n  \"Azure/authentication libraries\" : 2544\n  \"SqlClient core libraries\" : 3170\n```\n\nHave a look at the `SqlClientSample` project in the `samples` directory for a concrete example.\n\n## Advanced configuration\n\nHere are all the MSBuild properties and items supported by Chisel.\n\n### `ChiselEnabled`\n\ndefaults to `true` for standard builds and `false` for [design-time builds](https://github.com/dotnet/project-system/blob/main/docs/design-time-builds.md)\n\nIn order to completely disable Chisel, set the `ChiselEnabled` property to `false`. This can be useful for building on the command line with `dotnet build -p:ChiselEnabled=false` for example.\n\n### `ChiselGraphName`\n\ndefaults to `$(MSBuildProjectName).Chisel.mermaid`\n\nThis is the name of the dependency graph file. A Mermaid file will be written if it ends with either `.mmd` or `.mermaid`, otherwise a Graphviz (DOT) file will be written. To completely disable the graph feature, use `none`.\n\n```xml\n\u003cPropertyGroup\u003e\n  \u003cChiselGraphName\u003enone\u003c/ChiselGraphName\u003e\n\u003c/PropertyGroup\u003e\n```\n\nNote that the file name must not include a path separator.\n\n### `ChiselGraphAlias`\n\nno default value\n\nSetting the `ChiselGraphAlias` property adds an alias (link) under the project. This is useful to see the graph directly into the IDE. A very good combination with the Rider [Mermaid plugin](https://plugins.jetbrains.com/plugin/20146-mermaid). \n\n![Screenshot of the SqlClientSample project with the Mermaid graph](resources/ChiselGraphAlias.png)\n\n```xml\n\u003cPropertyGroup\u003e\n  \u003cChiselGraphAlias\u003eChisel\\SqlClientSample.mermaid\u003c/ChiselGraphAlias\u003e\n\u003c/PropertyGroup\u003e\n```\n\n### `ChiselGraphDirection`\n\ndefaults to `LeftToRight`\n\nThis defines how the dependency graph is laid out. Possible values are `LeftToRight` and `TopToBottom`. Except for shallow graphs, left to right usually produces a more readable graph.\n\n### `ChiselGraphIncludeVersions`\n\ndefaults to `false`\n\nControls whether the dependency graph nodes are named `{package}` or `{package}/{version}`.\n\nExample with `ChiselGraphIncludeVersions` set to `false`\n\n```mermaid\ngraph LR\nSerilog.Sinks.File --\u003e Serilog\n```\n\nExample with `ChiselGraphIncludeVersions` set to `true`\n\n```mermaid\ngraph LR\nSerilog.Sinks.File/5.0.0 --\u003e Serilog/2.10.0\n```\n\n### `ChiselGraphIgnore`\n\nOn real projects, the dependency graph may become huge. Adding packages to `ChiselGraphIgnore` will remove them from the dependency graph, thus reducing the overall size and increasing readability in other areas.\n\n```xml\n\u003cItemGroup\u003e\n  \u003cChiselGraphIgnore Include=\"Microsoft.Extensions.Configuration\" /\u003e\n  \u003cChiselGraphIgnore Include=\"Microsoft.Extensions.DependencyInjection\" /\u003e\n  \u003cChiselGraphIgnore Include=\"Microsoft.Extensions.Hosting\" /\u003e\n\u003c/ItemGroup\u003e\n```\n\nGlobbing is supported since version 1.1.0. For example to ignore all packages starting with `System.` in the graph, use the following syntax:\n\n```xml\n\u003cItemGroup\u003e\n  \u003cChiselGraphIgnore Include=\"System.*\" /\u003e\n\u003c/ItemGroup\u003e\n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xced%2Fchisel","html_url":"https://awesome.ecosyste.ms/projects/github.com%2F0xced%2Fchisel","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2F0xced%2Fchisel/lists"}