Summary: This document provides information about the extension providing .NET analysis support.
Please see .NET Analyzer - 1.2 - Release Notes.
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.
Visual Studio / .NET Framework support
|Visual Studio version||.NET Framework version||.NET Core||.NET Standard||C# version||VB.NET version||Supported|
2.0, 3.0, 3.5
2.0, 3.0, 3.5, 4.0
|2012/2013||2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2||5.0||12.0|
|2015||2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6||6.0||14.0|
|2017||2.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.1||7.2||15.5|
|2019||2.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.1||8.0||15.8|
- The following are implicitly supported:
- ASP.NET Core (up to v 3.1)
- LINQ to Objects
- LINQ to DataSets
- LINQ to SQL
First level of support for Xamarin (links to Xamarin API objects will be resolved) for:
Function Point, Quality and Sizing 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
|Quality and Sizing|
|CAST AIP release||Supported|
Supported DBMS servers
This extension is compatible with the following DBMS servers:
|CAST AIP release||CSS||Oracle||Microsoft|
|All supported releases|
Required third-party software
To successfully deliver and analyze .NET code, the following third-party software is required:
Install on workstation running the DMT (for extraction)
Install on workstation running CMS (for analysis)
Nothing required for the packing to function.
If your source code references specific frameworks or third-party packages, then these will be required on the workstation running the DMT for packaging purposes.
Some frameworks/third-party packages are shipped with the extension - see below.
.NET Framework ≥ 4.7.2 must be installed in order for the analysis to function. A check will be done when the analysis starts and a message will produced if the minimum .NET Framework cannot be found.
Note that a .NET Framework is installed with the CAST AIP setup (see Install CAST AIP from setup), however this may not be the required version. Please check.
Location of the source code deployment folder
As discussed in Initialize the platform preferences in CAST Management Studio, the source code Deployment folder can be located remote from the CAST Management Studio, the CAST AIC Portal or both (i.e. on a network share). However, in the case of .NET analyses the Deployment folder should always be located on the same machine as the CAST Management Studio is installed on. If the Deployment folder is located on a remote network file share, there is a risk that assemblies may not be loaded correctly during the analysis, causing external objects to not be saved.
Location of extensions folder
If you have altered the location where extensions are stored to a network location remote to the analysis machine (for example changing the CAST_PLUGINS_ROOT_PATH in the CastGlobalSettings.ini file) then you will need to add the following lines to the .NET Framework machine.config file (located on the machine where the analysis is being run). This is to ensure that the .NET Analyzer DLLs located in the remote network folder can be successfully run from a network location. The analysis will fail without this configuration.
Replace the following tag:
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 DMT will generate missing library/assembly alerts for these items - these alerts can safely be ignored.
- .NET framework
- .NET Core
- .NET standard
- Universal Windows Platform
- Mono Android
- Xamarin iOS
- Xamarin TvOS
- Xamarin WatchOS
- Microsoft.AspNetCore.All (ASP.NET)
- Microsoft.AspNetCore.App (ASP.NET)
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:
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 (i.e. by performing an Advanced onboarding) 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:
There is nothing further to do. Follow the instructions below to run a new analysis/snapshot to generate new results:
- Advanced onboarding - run and validate the initial analysis
- Advanced onboarding - snapshot generation and validation
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:
- .NET - Analysis configuration
- .NET - Run and validate analysis
What analysis results can you expect?
Please see: .NET - Analysis results
The vast majority of rules provided for the .NET Analyzer are embedded in CAST AIP - see .NET - Structural rules for more information. In addition, some rules are also provided with the extension: