Managed Assembly




The Managed Assembly job step type is used to build dynamic job steps that compile code written in C# or Visual Basic into external assemblies which can make use of additional .NET framework and 3rd party libraries.


The code you write for use in this job step can make use of any assembly compatible with the framework and processor architecture used by the instance of pasUnity.  Because the assembly that is built and executed by this job step is executed in an isolated application domain the code will not have direct access to the Work object as the Managed Code job step does.


If you only need access to types in assemblies already loaded in the current application domain (which includes several System name spaces and all pasUnity libraries) and do not need to manipulate the work object directly use the Managed Code job step instead.


This job step is currently included in pasUnity in an experimental capacity.  The code you develop for use with this job step is not supported.


This job step type extends basic job step functionality.  For details common to all job step types click here.


In addition to the common attributes shared by all job steps this job step type has the following attributes:


Managed Code tab:

Language: The language (either Visual C# or Visual Basic) used to write code blocks.

Compile: This button compiles the source code and checks the code for errors.

Reset: This button resets the code to the default code that comes with the job step.

Apply Macros Before Compiling Code: Allows for macro substitution in the managed code script block before the block is compiled and executed.

Managed Code <Body>: The code developed in the previously specified language to be dynamically compiled and executed at run time.  Do not allow for any code that interacts with the UI - this code will not execute correctly when executed by the service as there is neither a Windows Station to display it in nor an Interactive User to respond to the UI.  The code must contain a class named MyClass in the MyNamespace namespace and it must derive from MarshalByRef and implement IRemoteInterface.

Arguments tab:


Assembly References tab:

Assembly References: The file name(s) of the libraries you wish to include as references in the dynamically compiled assembly.  One file name per line.  File names that are not GAC registered or included in the application installation folder should be fully qualified and placed in a folder that the application has access to.

Advanced tab:Echo Code: Check if you wish to save the compiled code snippet and a copy of the arguments passed in during execution to the execution log.

Processing Timeout: The process timeout.  If this timeout period is exceeded the managed execution is automatically terminated and the job step will report failure.

After making changes be sure to press the Update button to save your changes.


Copyright © 2023 pasUNITY, Inc.


Send comments on this topic.