Absence.Fody
1.0.5
See the version list below for details.
dotnet add package Absence.Fody --version 1.0.5
NuGet\Install-Package Absence.Fody -Version 1.0.5
<PackageReference Include="Absence.Fody" Version="1.0.5" />
paket add Absence.Fody --version 1.0.5
#r "nuget: Absence.Fody, 1.0.5"
// Install Absence.Fody as a Cake Addin #addin nuget:?package=Absence.Fody&version=1.0.5 // Install Absence.Fody as a Cake Tool #tool nuget:?package=Absence.Fody&version=1.0.5
Absence.Fody
This is an add-in for Fody which lets you trim unused private/internal types during compile-time.
This project has a dependency to Emik.Morsels, if you are building this project, refer to its README first.
Installation
Install the NuGet packages
Fody
andAbsence.Fody
. InstallingFody
explicitly is needed to enable weaving.PM> Install-Package Fody PM> Install-Package Absence.Fody
Add the
PrivateAssets="all"
metadata attribute to the<PackageReference />
items ofFody
andAbsence.Fody
in your project file, so they won't be listed as dependencies.If you already have a
FodyWeavers.xml
file in the root directory of your project, add the<Absence />
tag there. This file will be created on the first build if it doesn't exist:
<Weavers>
<Absence />
</Weavers>
See Fody usage for general guidelines, and Fody Configuration for additional options.
Configuration
You can add an Except
attribute to exclude namespaces or types separated by any amount of whitespace:
<Weavers>
<Absence Exclude="Foo DoNotExcludeMe
Do.Not.Exclude.Me" />
</Weavers>
Types may either be fully qualified, or not at all. Partially qualified names are not supported due to potential ambiguity.
Example
What you write:
public class Public
{
public class NestedPublic { }
[ImplicitlyUsed]
class NestedPrivateWithAttribute { }
class NestedPrivate { }
}
[ImplicitlyUsed]
class InternalWithAttribute
{
public class NestedPublic { }
[ImplicitlyUsed]
class NestedPrivateWithAttribute { }
class NestedPrivate { }
}
class Internal
{
public class NestedPublic { }
[ImplicitlyUsed]
class NestedPrivateWithAttribute { }
class NestedPrivate { }
}
What gets compiled:
public class Public
{
public class NestedPublic { }
[ImplicitlyUsed]
class NestedPrivateWithAttribute { }
}
[ImplicitlyUsed]
class InternalWithAttribute
{
public class NestedPublic { }
[ImplicitlyUsed]
class NestedPrivateWithAttribute { }
}
Contribute
Issues and pull requests are welcome to help this repository be the best it can be.
License
This repository falls under the MPL-2 license.
Learn more about Target Frameworks and .NET Standard.
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
2.0.7 | 89 | 10/9/2024 |
2.0.6 | 91 | 10/9/2024 |
2.0.5 | 94 | 10/8/2024 |
2.0.4 | 88 | 10/7/2024 |
2.0.3 | 86 | 10/7/2024 |
2.0.2 | 93 | 10/7/2024 |
2.0.1 | 89 | 10/6/2024 |
2.0.0 | 103 | 10/5/2024 |
1.0.5 | 402 | 1/15/2023 |
1.0.4 | 270 | 1/14/2023 |
1.0.3.3 | 284 | 1/14/2023 |
1.0.3.2 | 281 | 1/14/2023 |
1.0.3.1 | 274 | 1/14/2023 |
1.0.3 | 279 | 1/14/2023 |
1.0.2 | 271 | 1/13/2023 |
1.0.1 | 279 | 1/11/2023 |
1.0.0 | 283 | 1/9/2023 |