This documentation is not maintained. Please refer to doc.castsoftware.com/technologies to find the latest updates.

Summary: This document provides information about the extension providing .NET analysis support.

Extension ID

com.castsoftware.dotnet

What's new?

Please see .NET Analyzer - 1.4 - Release Notes.

Description

This extension provides support for analyzing applications built with .NET, .NET Standard and .NET Core technologies: objects and links between these objects are identified and Automated Function Point values are calculated. A set of .NET specific structural rules are also available with the extension.

Technology support

Please also see .NET - Technical notes and limitations for additional information.

Visual Studio / .NET Framework support

Visual Studio version.NET Framework version.NET Core / .NET.NET StandardC# versionVB.NET versionSupported

2003

1.1



1.27.1(tick)

2005

2.0, 3.0



2.08.0(tick)

2008

2.0, 3.0, 3.5



3.09.0(tick)

2010

2.0, 3.0, 3.5, 4.0



4.010.0(tick)
2012/20132.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2

5.012.0(tick)
20152.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6

6.014.0(tick)
20172.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2

1.0, 1.1, 2.0, 2.1, 2.2, 3.0, 3.1

1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.17.215.5(tick)
20192.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.21.0, 1.1, 2.0, 2.1, 2.2, 3.0, 3.1, 5.0 (from 1.4.6-funcrel, limited to C# 8.0), 6.0 (from 1.4.6-funcrel, limited to C# 8.0)1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.18.0 / 9.0 (from 1.4.9-funcrel)15.8(tick)
  • The following are implicitly supported:
    • ADO.NET
    • ASP.NET
    • ASP.NET Core
    • iFrame
    • Interop
    • WinForms
    • WPF 

LINQ support

  • LINQ to Objects
  • LINQ to DataSets
  • LINQ to SQL

Please also see .NET - Technical notes and limitations for additional information.

Xamarin support

First level of support for Xamarin (links to Xamarin API objects will be resolved) for:

  • Android
  • iOS
  • TvOS
  • WatchOS
  • UWP

Function Point, Quality and Sizing support

This extension provides the following support:

  • Function Points (transactions): A green tick indicates that OMG Function Point counting and Transaction Risk Index are supported
  • Quality and Sizing: A green tick indicates that CAST can measure size and that a minimum set of Quality Rules exist
Function Points
(transactions)
Quality and Sizing
(tick)(tick)

AIP Core compatibility

This extension is compatible with:

AIP CoreSupported
8.3.5(tick)

Supported DBMS servers

This extension is compatible with the following DBMS servers:

CSS/PostgreSQL(tick)

Prerequisites

Please see: .NET - Analysis prerequisites.

Dependent frameworks and third-party packages provided in the extension

Some dependent frameworks and third-party packages are provided in the extension itself. There is therefore no need to specifically package these items if your source code relies on them - note however, that the AIP COnsole will generate missing library/assembly alerts for these items - these alerts can safely be ignored.

Frameworks

  • .NET framework
  • .NET Core
  • .NET standard
  • Silverlight
  • Universal Windows Platform
  • Mono Android
  • Xamarin iOS
  • Xamarin TvOS
  • Xamarin WatchOS

Third-party packages

  • Microsoft.AspNetCore.All (ASP.NET)
  • Microsoft.AspNetCore.App (ASP.NET)
  • log4net
  • NHibernate
  • NPersistence
  • NLog
  • Newtonsoft.Json
  • Newtonsoft.Json.Bson
  • MySql.Data
  • Iesi.Collections
  • EntityFramework
  • Microsoft.Practices.EnterpriseLibrary.2008
  • elmah.corelibrary
  • System.Data.SqlClient
  • Serilog
  • Remotion.Linq
  • Xamarin.Android.Support.v7.AppCompat
  • Xamarin.Android.Support.v7.CardView
  • Xamarin.Android.Support.v7.MediaRouter
  • Xamarin.Android.Support.v4
  • Xamarin.Android.Support.Media.Compat
  • Xamarin.Android.Support.Fragment
  • Xamarin.Android.Support.Design
  • Xamarin.Android.Support.Core.Utils
  • Xamarin.Android.Support.Core.UI
  • Xamarin.Android.Support.Wear
  • Xamarin.Android.Wear
  • Xamarin.Forms

Dependencies with other extensions

Some CAST AIP extensions require the presence of other CAST AIP extensions in order to function correctly. The .NET Analyzer extension requires that the following other CAST AIP extensions are also installed:

Note that when using AIP Console to install the extension, any dependent extensions are automatically downloaded and installed for you. You do not need to do anything.

Download and installation instructions

A specific version of the .NET Analyzer extension is shipped with AIP Core. However, this release may not be the release you want to use, therefore you should check before beginning the analysis that the correct extension release is being used. You can see the list of shipped extensions for each release of AIP Core here: Technology coverage changes in CAST AIP 8.3.x.

If you need to change the release use the Included interface in AIP Console:

Application qualification information

Please see: .NET - Qualification.

Prepare and deliver the source code

Please see: .NET - Prepare and deliver the source code.

Analysis configuration and execution

Please see: .NET - Analysis configuration and execution and all child pages:

What analysis results can you expect?

Please see: .NET - Analysis results.

Structural rules

1.4.17 (LTS)https://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.17
1.4.16 (LTS)https://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.16
1.4.15 (LTS)https://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.15
1.4.14 (LTS)https://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.14
1.4.13 (LTS)https://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.13
1.4.12 (LTS)https://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.12
1.4.11-funcrelhttps://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.11-funcrel
1.4.10-funcrelhttps://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.10-funcrel
1.4.9-funcrelhttps://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.9-funcrel
1.4.8-funcrelhttps://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.8-funcrel
1.4.7-funcrelhttps://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.7-funcrel
1.4.6-funcrelhttps://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.6-funcrel
1.4.5-funcrelhttps://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.5-funcrel
1.4.4-funcrelhttps://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.4-funcrel
1.4.3-funcrelhttps://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.3-funcrel
1.4.2-funcrelhttps://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.2-funcrel
1.4.1-funcrelhttps://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.1-funcrel
1.4.0-funcrelhttps://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.0-funcrel
1.4.0-beta1https://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.0-beta1
1.4.0-alpha5https://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.0-alpha5
1.4.0-alpha4https://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.0-alpha4
1.4.0-alpha3https://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.0-alpha3
1.4.0-alpha2https://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.0-alpha2
1.4.0-alpha1https://technologies.castsoftware.com/rules?sec=srs_dotnet&ref=||1.4.0-alpha1

See also .NET - Structural rules for more information.