Known issues for .NET

This section describes troubleshooting and limitations for .NET Vuser scripts.

Tip:  

Replay limitations

The following limitations apply for replay of a .NET Vuser script:

  • Exceptions in .NET scripts generated by vts functions, may cause the replay to end, even when the Continue on error Runtime setting is enabled.
    Workaround: Use try and catch statements for error handling of the vts functions.
  • .NET scripts that contain UI objects can behave unexpectedly during replay in VuGen, Controller, or on a load generator machine.
  • Emulate CLR version 2.0.50727 options do not work when 64-bit replay is active.
  • If the recorded application has native 32-bit DLLs as dependencies, 64-bit replay does not work.
  • To avoid re-compilation of a script on the load generator (for example, if the script was compiled outside of VuGen), you can disable compilation. In the runtime settings .NET Environment view, select the Skip compile flag.

Back to top

Record limitations

The following limitations apply to the VuGen recording of a Microsoft .NET application:

  • .NET Vuser scripts support only single-protocol recording in VuGen.

  • Direct access to public fields is not supported—the AUT must access fields through methods or properties.

  • VuGen does not record static fields in the applications—it only records methods within classes.

  • Multi-threaded support is dependent on the client application. If the recorded application supports multi-threading, then the Vuser script will also support multi-threading.

  • In certain cases, you may be unable to run multiple iterations without modifying the script. Objects that are already initialized from a previous iteration, cannot be reinitialized. Therefore, to run multiple iterations, make sure to close all of the open connections or remoting channels at the end of each iteration.

  • Recording is not supported for Enterprise Services communication based on MSMQ and Enterprise Services hosted in IIS.
  • The .NET version must be the same on the record and replay machines.

  • VuGen partially supports the recording of WCF services hosted by the client application.

  • Recording is not supported for Remoting calls using a custom proxy.

  • Recording is not supported for ExtendedProperties property of ADO.NET objects, when using the default ADO.NET filter.

  • Applications created with .NET Framework 1.1 which are not compatible with Framework 2.0, cannot be recorded. To check if your Framework 1.1 application is compatible, add the following XML tags to your application's .config file:

     <configuration>
         <startup>
              <supportedRuntime version="v2.0.50727"/>
         </startup>
    </configuration>
    

    Invoke the application (without VuGen) and test its functionality. If the application works properly, VuGen can record it. Remove the above tags before recording the AUT with VuGen. For more information regarding this solution, see the MSDN Knowledge Base.

  • Applications that use the .NET Remoting Framework and are executed in CLR 2 (.NET frameworks 2/3/3.5), might crash during recording. During a crash you will receive a message containing the strings Version=4.x.x.x, and "is not registered for activation".
    Potential Workaround: In the Microsoft .NET: Recording user interface under Support for previous.NET version, select Emulate previous .NET versions in transport level, and then record again.
  • When the application under test retrieves a server-activated object by calling new RemoteObject(), VuGen generates a RemotingServices.Connect function.
  • Applications using multiple processes or multiple application domains are only partially supported.
  • Shared DLLs are configured through the runtime settings and using the filters mechanism.

  • When McAfee antivirus is active, it may issue the following message when recording a .NET script: "The solution has been changed externally".
    Workaround: Add the VuGen.exe process to the Low-Risk processes in the McAfee antivirus On-Access Scan Properties.
  • VuGen does not record a method that gets a private class as an argument. For example:

    public class A
    {
         private class P
         {
    
              …
         }
         private void MethodUsingPrivateClass(P p)
         {
              …
         }
    }
    
  • References added to a .NET script during recording, by means of the .NET Recording Filter, are not removed from the script by removing them in the References List dialog box.
  • AnyCPU AUTs that have one or more 64-bit-only .dll files as a dependency are not supported for recording.

Back to top

Script editing limitations

Disable FIPS if you want to open or debug a .NET Vuser script in Visual Studio 2015.

Back to top

See also: