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.

What's new?

Please see .NET Analyzer - 1.0 - Release Notes for more information.

Description

This extension provides support for analyzing applications built with .NET 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 - Technology notes and limitations for additional information.

Visual Studio / .NET Framework support

Visual Studio version.NET Framework versionC# 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.25.012.0(tick)
20152.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.66.014.0(tick)
  • The following are implicitly supported:
    • ADO.NET
    • ASP.NET
    • iFrame
    • Interop
    • WinForms

LINQ support

  • LINQ to Objects
  • LINQ to DataSets
  • LINQ to SQL
See .NET - Technical notes and limitations for more information.

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)

CAST AIP compatibility

This extension is compatible with:

CAST AIP releaseSupported
8.3.x(tick)
8.2.x(error)
8.1.x(error)
8.0.x(error)
7.3.x(error)

Supported DBMS servers

This extension is compatible with the following DBMS servers:

CAST AIP releaseCSSOracleMicrosoft
All supported releases(tick)(tick)(tick)

Prerequisites

(tick)An installation of any compatible release of CAST AIP (see table above)

Required third-party software

Note that if the CAST Delivery Manager Tool (DMT) is being run (whether from the CAST AIC Portal or direct from the CAST Management Studio (CMS)) from the SAME workstation as the one used for CMS to run the analysis/snapshot generation, then any IDEs or APIs will need to be installed on the workstation running CMS so that the DMT can access them.

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)
Remarks

The .NET framework must be installed so that you can extract and package any system assemblies required by your applications' source code. You must install:

  • Either the same version of the framework that is used by your application
  • Or a more recent version of the framework (for example 4.6 when the application uses 3.5)

If your application uses multiple framework versions, you can install the most recent one used by your application or a newer version if it is available on the workstation - this will match all projects. For example, an application uses frameworks 3.5 and 4.0: you can install 4.0 or a newer version.

Not required

CMS

Location of the source code deployment folder

In the case of .NET analyses the Deployment folder should always be located on the same machine as the AIP Node. 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 CAST_PLUGINS_ROOT_PATH - see Configure AIP Node storage folder locations - optional - v. 1.x) 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:

<runtime />

with:

<runtime>
	<loadFromRemoteSources enabled="true"/>
</runtime>

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 the CAST Extension Downloader to download the extension and the Manage Extensions interface in CAST Server Manager 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

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: