Atesh 1.7.0

There is a newer version of this package available.
See the version list below for details.
dotnet add package Atesh --version 1.7.0                
NuGet\Install-Package Atesh -Version 1.7.0                
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="Atesh" Version="1.7.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Atesh --version 1.7.0                
#r "nuget: Atesh, 1.7.0"                
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install Atesh as a Cake Addin
#addin nuget:?package=Atesh&version=1.7.0

// Install Atesh as a Cake Tool
#tool nuget:?package=Atesh&version=1.7.0                

Atesh

Atesh library is a collection of utilities.

Highlights

  • OrderedHashSet: A better HashSet alternative.
  • ArgumentNullOrWhiteSpaceException: Used for String parameter validation.
  • NotNullOrWhiteSpace PostSharp aspect: Used together with its exception type.
  • IInternalsProvider interface and BaseClassExplicitInterfaceInvoker class: Used for implementing "Internals" pattern.
  • Extension methods for some built-in types: Float, String, TimeSpan, etc...

Team Members

  • Project Lead: Onur "Xtro" Er, Atesh Entertainment Inc. onurer@gmail.com

Download and Install

You can directly install the library via NuGet.

OR

Download it via "manual download" link in NuGet web page and extract the assembly into your project manually if you don't want to use a NuGet client.

"nupkg" file you downloaded from NuGet web page is a regular zip file. You can change its extension to "zip" and extract it easily.

Distribution

Atesh library references Atesh.Metalama library which references Metalama.Framework library therefore, referencing Atesh in your own project will automatically make your project to use the Metalama system.

By using Metalama system in your project, you will be able to implement your own Metalama aspects. If that's what you want, you can keep the package reference in your .csproj file unmodified:

  <ItemGroup>
    <PackageReference Include="Atesh" Version="CHANGE ME" />
  </ItemGroup>

If you just want to use the existing symbols (classes, types, methods, aspects) from Atesh and Atesh.Metalama libraries and don't want to implement your own aspects, then you should modify the package reference by adding a PrivateAssets value:

  <ItemGroup>
    <PackageReference Include="Atesh" Version="CHANGE ME" PrivateAssets="all" />
    <PackageReference Include="Atesh.Metalama" Version="CHANGE ME" PrivateAssets="all" />
  </ItemGroup>

You can see the distribution section of Metalama Documentation for more info.

Contribution

You can easily contribute to the project by just reporting issues to here

If you want to get involved and actively contribute to the project, you can simply do so by sending pull requests to the project lead via bitbucket.com.

Project page on Bitbucket

Git Repo URL: git@bitbucket.org:XtroTheArctic/atesh.git

Please feel free to contact the team members via email at any time.

How To Build

If you want to build the library from source code to contribute to the project or for another reason, you must install the PostSharp Visual Studio extension first.

After installing the extension, you need to get a PostSharp community license for free. You can request the license in PostSharp license section of Visual Studio options window or on thier website directly.

PostSharp is the #1 pattern-aware extension to C# and VB. It allows developers to eradicate boilerplate by offloading repeating work from humans to machines. Please see PostSharp Documentation for more info.

The Unlicense

This is free and unencumbered software released into the public domain.

Anyone is free to copy, modify, publish, use, compile, sell, or distribute this software, either in source code form or as a compiled binary, for any purpose, commercial or non-commercial, and by any means.

In jurisdictions that recognize copyright laws, the author or authors of this software dedicate any and all copyright interest in the software to the public domain. We make this dedication for the benefit of the public at large and to the detriment of our heirs and successors. We intend this dedication to be an overt act of relinquishment in perpetuity of all present and future rights to this software under copyright law.

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

For more information, please refer to http://unlicense.org

Product Compatible and additional computed target framework versions.
.NET net5.0 was computed.  net5.0-windows was computed.  net6.0 was computed.  net6.0-android was computed.  net6.0-ios was computed.  net6.0-maccatalyst was computed.  net6.0-macos was computed.  net6.0-tvos was computed.  net6.0-windows was computed.  net7.0 was computed.  net7.0-android was computed.  net7.0-ios was computed.  net7.0-maccatalyst was computed.  net7.0-macos was computed.  net7.0-tvos was computed.  net7.0-windows was computed.  net8.0 was computed.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed. 
.NET Core netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.1 is compatible. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen60 was computed. 
Xamarin.iOS xamarinios was computed. 
Xamarin.Mac xamarinmac was computed. 
Xamarin.TVOS xamarintvos was computed. 
Xamarin.WatchOS xamarinwatchos was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
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
1.9.0 120 7/29/2024
1.8.1 118 2/19/2024
1.8.0 261 11/4/2023
1.7.0 152 9/29/2023
1.6.5 164 8/27/2023
1.6.4 170 4/5/2023
1.6.3 236 3/30/2023
1.6.2 203 3/23/2023
1.6.1 199 3/16/2023
1.6.0 208 3/5/2023
1.5.0-beta11 135 11/15/2022
1.4.2 425 8/23/2022
1.4.1 408 8/21/2022
1.4.0 407 8/21/2022
1.3.0 454 4/13/2022
1.2.1 451 3/2/2022
1.1.3 427 2/28/2022
1.1.0 429 2/14/2022
1.0.2 538 7/26/2020
1.0.0 487 4/19/2020