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

Summary: This document provides information about changes and new features introduced in this release.

1.1.6-funcrel

Resolved issues

Below table lists the issue resolved in 1.1.6-funcrel release.

Internal IDTicket IDDescriptionImpact?
DOTNET-674-Devirtualization should create a link to all overrides at leastPreviously, when the real type of a virtual call is unknown the devirtualization would not create any link, however, after upgrade to 1.1.6-funcrel, links will be created towards all overrides. Results of post-upgrade analyses on unchanged source code will be impacted.
DOTNET-822-A regression added in 1.1.5-funcrel taints analysis and cause incomplete resultsAfter upgrading to 1.1.6-funcrel, analysis completes without any issue.

1.1.5-funcrel

1.1.5-funcrel is no longer available and must not be used. All resolved issues and new features included in 1.1.5 are available in 1.1.6.

New features

Support of .NET framework 4.7.2

The .NET Analyzer is now capable of analyzing code that uses .NET framework 4.7.2

Support of .NET framework 4.8

The .NET Analyzer is now capable of analyzing code that uses .NET framework 4.8

Resolved issues

Below table lists the issues resolved in 1.1.5-funcrel release.

Internal IDTicket IDDescription Impact?

DOTNET-725




 17666FALSE VIOLATIONS FOR "Avoid improper processing of the execution status of data handling operations"The current rule is not violated in the below cases:
Either empty catch blocks, catch blocks with comments only, or only write to a stream are violating the rule. Appropriate logging or other treatment of exception are said to be valid.
DOTNET-73517807Links missing between C# methods when called through abstractionAfter upgrading to 1.1.5-funcrel, the links from C# method to C# method, which are called through abstraction, are visible.
 DOTNET-742 17909FALSE VIOLATION FOR RULE- "Close the outermost stream ASAP"Methods returning streams will not be considered for violation. After an upgrade to the current version of the extension and the generation of a post-upgrade consistency snapshot, results may changed for this rule - less false violations providing more accuracy. 
DOTNET-74618063Missing links to C# Custom Attribute and that's why transactions coming as modifiedLinks are formed between the C# attributes hence affecting the function points

1.1.4-funcrel

New features

Support for .NET Core 2.2

The .NET Analyzer is now capable of analyzing code that uses .NET Core 2.2.

Resolved issues

Internal IDTicket IDDescriptionImpact?
DOTNET-71817275

FALSE VIOLATION FOR RULE- Close the outermost stream ASAP - 8108.

After an upgrade to the current version of the extension and the generation of a post-upgrade consistency snapshot, results may changed for this rule - less false violations providing more accuracy.
DOTNET-72317616

Analysis failed with an error System.ArgumentException: 'end' must not be less than 'start'

After an upgrade to the current version of the extension and the generation of a post-upgrade consistency snapshot, the error in the analysis log will no longer be displayed.
DOTNET-76318245

"LOC increase post migration"

The line of code count will no longer increase after an upgrade to the current version of the extension and the generation of a post-upgrade consistency snapshot.
DOTNET-77218360

Computed LOC is not correct

1.1.3-funcrel

Resolved issues

Internal IDCall IDDescriptionImpact?
DOTNET-67316489, 17397Perm Fix: False positive for rule 'Avoid using Keywords' for 'C# Property Set' and 'C# Property Get'In previous releases of the extension, false positive violations to the rule "Avoid using Keywords as names - 3570" were returned during the analysis. The false violations were detected in property getter and setters, which are always called "set" and "get" and which appear on the list of keywords causing the violation. This bug has now been fixed (these object types are no excluded from the scope of this rule) and therefore after an upgrade to the current version of the extension and the generation of a post-upgrade consistency snapshot, results may changed for this rule - less false violations providing more accuracy.
DOTNET-68916402Performance issue when analyzing application

Time required to run an analysis should now be improved. No impact to results.

This bug was seen only in the specific case of relatively large projects containing numerous dependencies between their objects. In this specific context, a lot of time was spent in the garbage collector (sometimes many hours) causing analysis duration to be excessive.

DOTNET-714

17197, 17198

DOTNET.0003: Unknown exception System.ComponentModel.Win32Exception (0x80004005): The filename or extension is too longAfter updating to 1.1.3-funcrel, no exception found in the analysis log saying, "The filename or extension is too long".
DOTNET-72217509PERMANENT FIX- AIP recommends to declare as static methods that cannot be declared as staticIn previous releases of the extension, false positive violations to the rule "Declare as Static all methods not using instance members (.NET) - 7270" were returned during the analysis. The false violations were detected in property getter and setters, which cannot be declared static when they are overridden by a class from a base class, or when a class implements them from an interface. This bug has now been fixed and therefore after an upgrade to the current version of the extension and the generation of a post-upgrade consistency snapshot, results may changed for this rule - less false violations providing more accuracy.

1.1.2-funcrel

Resolved issues

Internal IDCall IDDescriptionImpact?
DOTNET-63015486".NET SOAP  operation" object type not visible on TCCAfter upgrading to 1.1.2-funcrel , ".NET Soap Operation" objects will be set as entry points in the CAST Transaction Configuration Center. This may impact the analysis results.

1.1.1-funcrel

Updates

DOTNET-651

Metrics are no longer calculated for generated objects, as such, analysis results may be impacted.

Resolved issues

Internal IDCall IDDescriptionImpact?
DOTNET-56814692 Asmx files are not saved in some casesAfter upgrading to 1.1.1, .asmx files will be correctly analyzed. As such, analysis results may be impacted.
DOTNET-62915751FALSE VIOLATION FOR RULE- Declare as static all methods not using instance members.In previous releases of the extension, violations of this rule were being incorrectly returned for interfaces. After upgrading to 1.1.1, no violations will be reported in interfaces. As such, analysis results may be impacted.
DOTNET-635-Wrong line of code countAfter upgrading to 1.1.1, the line of code count will be correct.
DOTNET-645-NullReferenceException related to managment of 'dynamic' typeAfter upgrading to 1.1.1, the NullReferenceException crash will not occur.
DOTNET-64713903

Permanent Fix: "GUID duplicate found : CAST_DotNet_SOAP_Proxy"

After upgrading to 1.1.1, the warning will not occur.

1.1.0-funcrel

Resolved issues

Internal IDCall IDDescription
DOTNET-61015119Analysis Log warning "DOTNET.0038:Missing project dependency"
DOTNET-60915150DOTNET.0003:Unknown exception System.NullReferenceException
DOTNET-59815005, 15074The type or namespace name 'Linq' does not exist in the namespace 'System'
DOTNET-589-Mismanagement of implicit reference to all framework assemblies
DOTNET-583-Leverage the nupkg files present in the deployment folder of a .NET application
DOTNET-582-Xamarin projects are not well recognized (because unmanaged)
DOTNET-53313933"The Type or Namespace name "XX" could not be found" warning
DOTNET-49813496CastGenerated objects created from aspx files are marked as internal
DOTNET-4949725Reference finder not creating link between aspx and CS Method

1.1.0-beta2

Resolved issues

Internal IDCall IDDescription
DOTNET-591-Unknown exception System.IO.FileLoadException: The given assembly name or codebase was invalid.
DOTNET-588-System.UnauthorizedAccessException: Access to the path 'XXX' is denied
DOTNET-584-Assembly folders not taken into account in "Referenced Assemblies" in CMS
DOTNET-581-Package references should be resolved as project references too
DOTNET-572-Warnings "Type 'X' is not defined" because of missing implicit reference to Microsoft.VisualBasic.dll
DOTNET-569-Exception System.ArgumentException is raised when a reference is duplicated in a .NET project

In addition, the following fixes have been ported from CAST AIP 8.2.11 and 8.2.12:

Internal IDCall IDDescriptionImpact?
SCRAIP-3014511019So many static links are getting created from a .net method to several other .net methods with same name creating a large SCC groupA change has been made in the way the .NET analyzer behaves with regard to links between .NET methods which cannot absolutely be determined. Previously the .NET analyzer would create multiple objects of the same name for one single .NET method "B" and create links from the calling .NET method "A" to those objects. This resulted in multiple links between .NET method "A" and multiple instances of .NET method "B". This behaviour has now been changed: multiple instances of objects will still be created, however, only one link between the methods will be created. Therefore, after an upgrade to this release of the extension and the generation of a post upgrade snapshot, results may differ: there may be less links between objects affecting transaction values.
SCRAIP-32270-False Violation for QR - Close SQL connection ASAPA bug has been discovered which has meant that the rule "Close SQL connection ASAP - 3612" returns false positives. This bug is now fixed, therefore, after an upgrade to this release and the generation of a post-upgrade consistency snapshot on the same source code, results may differ: reduced number of violations and improved accuracy.
SCRAIP-3123812889False positive for rule - 'Avoid instantiations inside loops'A bug has been discovered which has meant that the rule "'Avoid instantiations inside loops - 7212" returns false positives when an initializer (for / foreach) is present in a loop. This bug is now fixed, therefore, after an upgrade to this release and the generation of a post-upgrade consistency snapshot on the same source code, results may differ: reduced number of violations and improved accuracy.
SCRAIP-3063012883.Net code analysis running slow-
SCRAIP-3022210337False positive for "avoid unreferenced method"A bug has been discovered which is causing the Quality Rule "Avoid unreferenced Methods - 7908" to be falsely violated by objects that are called by NET framework objects. These objects should not be part of the scope of this rule. This bug has now been fixed and after an upgrade to this release of the extension, results may differ for this rule - there will be a reduction in false positives.

1.1.0-beta1

New features

Support for Universal Windows Platform (UWP)

The .NET Analyzer 1.1.x is now capable of analyzing Universal Windows Platform (UWP) projects, in addition to all existing project support. Discoverers embedded in the CAST Delivery Manager Tool (with CAST AIP ≥ 8.3.5) will detect Universal Windows Platform projects.

Resolved issues

R&D ID

Ticket ID

Summary

Impact?
DOTNET-54414332Analysis Log warning "GUID duplicate found : CAST_DotNet_SOAP_Server "

A bug has been discovered which is causing a warning message to be displayed in the analysis log with reference to duplicate objects. This bug has now been fixed, therefore, after an upgrade to this release and the generation of a post-upgrade consistency snapshot on the same source code, results may differ:

  • warning removed.
  • all service objects created by the analyzer and used by the web linker will be deleted and recreated.
  • function point values may change with regard to transactions.
DOTNET-54714533False violation - Avoid Unreferenced MethodsA bug has been discovered which has meant that the rule "Avoid Unreferenced Methods - 7908" returns false positives. This bug is now fixed, therefore, after an upgrade to this release and the generation of a post-upgrade consistency snapshot on the same source code, results may differ: reduced number of violations and improved accuracy.

1.1.0-alpha2

New features

Support for ASP.NET Core

The .NET Analyzer 1.1.x is now capable of analyzing code that uses ASP.NET Core v 2.x.

Support for .NET Core 1.x

The .NET Analyzer 1.1.x is now capable of analyzing code that uses ASP.NET Core v 1.x (in addition to 2.x that was already supported).

Resolved issues

R&D ID

Ticket ID

Summary

DOTNET-528-Analysis log must show warning of the 4.71 framework as as the prerequisite

In addition, the following fixes were also included:

  • Client/Server links for the ADO.NET technology are now resolved correctly.
  • Silverlight projects are now taken into account properly.

1.1.0-alpha1

New requirements

.NET Framework

.NET Framework ≥ 4.7.1 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 AIP Core), however this may not be the required version. Please check.

New features

Delivery of .NET Framework no longer required

In previous releases of the extension, a specific package was required in the CAST Delivery Manager Tool to deliver the .NET Framework, used to analyze the application. This requirement is no longer valid in version ≥ 1.1 and there is no need to create this package and deliver it. If this package is created from scratch or remains from a delivery analyzed with version 1.0, and is then delivered, it will be ignored during the analysis. See .NET - Prepare and deliver the source code for more information.

Support for .NET Core and .NET Standard projects

The .NET Analyzer 1.1.x is now capable of analyzing .NET Core and .NET Standard projects, in addition to all existing project support. Discoverers embedded in the CAST Delivery Manager Tool (with CAST AIP ≥ 8.3.5) will detect .NET Core/.NET Standard projects when the .csproj or .vbproj files contain the following:

<Project sdk="">
...
</Project>

Support for .NET Frameworks

The .NET Analyzer 1.1.x is now capable of analyzing .NET Framework 4.6.x and 4.7.x.

Support for C# and VB.NET

The .NET Analyzer 1.1.x is now capable of analyzing code that uses C# 7.2 and VB.NET 15.5.

Changes in results post upgrade

This section lists changes in results post upgrade from 1.0.x:

  • Code that was not previously supported in earlier releases of the .NET Analyzer may now be supported. This means that analyzing existing source code with the new release of the .NET Analyzer will produce different results. You may find that Quality results differ as do Function Points related data.

Bug fixes

None.