Atesh.Metalama 1.3.0

dotnet add package Atesh.Metalama --version 1.3.0                
NuGet\Install-Package Atesh.Metalama -Version 1.3.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.Metalama" Version="1.3.0" />                
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add Atesh.Metalama --version 1.3.0                
#r "nuget: Atesh.Metalama, 1.3.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.Metalama as a Cake Addin
#addin nuget:?package=Atesh.Metalama&version=1.3.0

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

Atesh.Metalama

Atesh.Metalama library is a collection of custom made Metalama Aspects (a.k.a Attributes).

Breaking Changes (starting from version 1.3)

Prior to 1.3 version, this library used to provide Range related parameter validation aspects like LessThan, LessThanOrEqual, GreaterThan, GreaterThanOrEqual, etc. However, the official Metalama library Metalama.Patterns.Contracts now provides these aspects as built-in aspects. Therefore, this library no longer provides these aspects. You should use the built-in aspects provided by Metalama library instead.

Prerequisites

  • Metalama: The purpose of Atesh.Metalama library is to add additional features to Metalama by providing new aspects. Metalama is a commercial product which is a modern replacement for PostSharp: https://www.postsharp.net/metalama.

    Metalama offers a free license so you can use community aspects such as the ones in Atesh.Metalama free of charge.

    From their website: Metalama is a modern Roslyn-based meta-programming framework for C# to reduce boilerplate and architecture erosion by offloading repeating work from humans to machines. Metalama Documentation.

    Please see Distribution section below for more info.

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.Metalama library references Metalama.Framework library therefore, referencing Atesh.Metalama 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.Metalama" Version="CHANGE ME" />
  </ItemGroup>

If you just want to use the existing aspects from Atesh.Metalama 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.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.metalama.git

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

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 netcoreapp2.0 was computed.  netcoreapp2.1 was computed.  netcoreapp2.2 was computed.  netcoreapp3.0 was computed.  netcoreapp3.1 was computed. 
.NET Standard netstandard2.0 is compatible.  netstandard2.1 was computed. 
.NET Framework net461 was computed.  net462 was computed.  net463 was computed.  net47 was computed.  net471 was computed.  net472 was computed.  net48 was computed.  net481 was computed. 
MonoAndroid monoandroid was computed. 
MonoMac monomac was computed. 
MonoTouch monotouch was computed. 
Tizen tizen40 was computed.  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 (1)

Showing the top 1 NuGet packages that depend on Atesh.Metalama:

Package Downloads
Atesh

Atesh library is a collection of utilities.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last updated
1.3.0 132 7/29/2024
1.2.1 202 2/19/2024
1.2.0 290 11/4/2023
1.1.6 208 8/31/2023
1.1.5 215 8/27/2023
1.1.4 303 4/5/2023
1.1.3 330 3/30/2023
1.1.2 322 3/23/2023
1.1.1 320 3/16/2023
1.1.0 320 3/5/2023