Script References (Reference) enables adding external DLLs (Dynamic Link Libraries)
for compiling scripts orto extend the capabilities of scripts and display codes in
theyour solution.
These references allow users to extend the capabilities of their scripts by leveraging additional functionalities provided by external libraries.
The DLL's intended to be used by Windows or WPF scripts must be created targetingFramework Compatibility:
Table of Contents maxLevel
2 minLevel 2 indent 10px exclude Steps style none
Script References allow you to:
FrameworX includes many .NET namespaces by default. Script References are needed only when you require additional external assemblies not included in the platform.
To add a Script Reference
, follow the steps below:
Once added, a new row will appear in the References table corresponding to the DLL file you selected.
The new reference appears in the References table.
Property | Description |
---|---|
Target Domain |
Where the DLL |
executes ( |
Server or |
Client) |
NetAssemblyName |
Reference name |
in the |
solution |
DefaultNamespace |
Primary namespace |
of the DLL |
Resolved
Indicates whether the reference has been successfully resolved. A checkmark symbol (?) signifies that the DLL import compiled without errors, whereas an 'X' indicates that there were compilation errors. If you encounter an 'X', hover over the line of your Script Reference to view the error code and a description of the problem.
Portable
Shows if the DLL is portable across different platforms.
AssemblyPathRuntime
The runtime path of the assembly file used during execution.
When defining the AssemblyPath, the following macros are available:
Resolved | ? = Successfully loaded, ? = Compilation error (hover for details) |
Portable | Indicates cross-platform compatibility |
AssemblyPathRuntime | Runtime path where assembly loads from |
Use these macros instead of absolute paths for portability:
Macro | Description | Typical Use |
---|---|---|
_ThirdParty_ | MyDocuments/[ProductName]/ThirdParty | Server-side DLLs |
_WpfControls_ | [InstallPath]/WpfControls | Client-side controls |
_ProductPath_ | Product installation directory | System components |
_SolutionPath_ | Solution file directory | Solution-specific DLLs |
_ExecutionPath_ | Working directory (usually solution folder) | Runtime files |
ConnectionString Macro
Macro
Description
_ExecutionPath_
Working directory for the solution. Unless otherwise configured, or modified, it is the folder where the solution file is located.
_ExecutionPathAndName_
_GAC_ | Global Assembly Cache |
Shared .NET assemblies |
Macro | Description |
---|---|
_ExecutionPathAndName_ | Working directory + solution name |
_ProductPath_
_ProgramFiles_ | Environment.SpecialFolder.ProgramFiles |
_ProgramFilesX86_ | Environment.SpecialFolder.ProgramFilesX86 |
_SolutionName_ |
Solution name without path |
/extension | |
_SolutionPathAndName_ | Solution path + name (no |
_SolutionPath_
Path of the solution file.
_SolutionPathAndName_
extension) |
_Transfers_ |
Path of the default folder to transfers, usually the folder Transfers under the product folders in Public Documents.
_ThirdParty_
Path for the ThirdParty folder, usually located under MyDocuments/<productName>/ThirdParty
_WpfControls_
Path for the WpfControls folder, located in the product Installation folder, sub-directly WpfControls
It's necessary to understand the best location to put the external DLLs, and when they are loaded by the platform.
You should avoid using absolute paths, as when you need to move your Solution to other computers, that path may be invalid.
For server-side DLLs, the best location to put the external DLL is the ThirdParty folder created by the platform in your Documents folder after the installation. For Client side DLLs, the best location is WpfControls folder in the product installation folders.
This folder is to store external server side ThirdParty DLLs. Use the macro _ThirdParty_ at ScriptsReferences to add a reference to those DLLs in your solution.
To add custom C# using statements (or VB Import), use the Namespaces Declarations toolbar icon at the Script CodeEditor. Those DLL can be used on ScriptsTasks and ScriptsClasses of domain Server.
The subfolder SNMP is to add additional MIB files for SNMP communication driver.
This folder is to store external client side WPF Controls DLLs. Use the macro _WpfControls_ at ScriptsReferences to add a reference to those DLLs in your solution
If necessary to add custom C# using statements (or VB Import), use the NamespacesDeclaration toolbar icon at the Script CodeEditor. Those DLLs can be used on Displays and CodeBehind in WPF Displays. Those controls won't be available automatically for SmartClients, for that type Client, it is necessary to create a new manifesto.
if the DLL was created using T.Portable specification, it can also run on Web Pages.
When in Runtime
The DLL is loaded when the Script Module is started. If you need to update the DLL file, you must stop the Script Module and close the Designer (Solution Engineering) so you can replace the DLL file in the folder. After that, you can run the Script Module again, and the DLL will be updated.
Just Using the Designer
The DLL file is loaded when the Edit > Scripts page is opened for the first time. If you open the project, access the Scripts, and add a new DLL in the references for the first time, you can return to Scripts and will be able to use the DLL. However, if you add a DLL in the references, open the Scripts, and only afterward replace or update the DLL file, when you open Scripts again, the script will not be able to find the new modifications of the DLL. You need to close the Designer and open it again, and when you return to Edit > Scripts, the DLL will be updated.
Default transfers folder |
Location: MyDocuments/[ProductName]/ThirdParty
_ThirdParty_
Special Subfolder:
/SNMP
- Additional MIB files for SNMP driverLocation: [InstallPath]/WpfControls
_WpfControls_
<ac:structured-macro ac:name="info"> ac:rich-text-body SmartClient Note: WPF controls require additional manifest configuration for SmartClient deployment. Controls created with T.Portable specification can run on Web Pages. </ac:rich-text-body> </ac:structured-macro>
Go to Scripts → References and add the DLL location.
Open Code Editor and click the Namespace Declarations button to add namespaces.
<ac:structured-macro ac:name="warning"> ac:rich-text-body Important: Never put using
(C#) or Import
(VB.NET) statements directly in code. Always use the Namespace Declarations dialog. Direct statements will cause compilation errors. </ac:rich-text-body> </ac:structured-macro>
csharp
// After adding reference and namespace declaration
// You can use types from the external assembly
var processor = new ExternalLibrary.DataProcessor();
var result = processor.Process(data);
<ac:structured-macro ac:name="note"> ac:rich-text-body The platform caches loaded assemblies for performance. Complete Designer restart is required to reload updated DLLs. </ac:rich-text-body> </ac:structured-macro>
Access via Code Editor toolbar button:
This dialog allows you to:
using
and VB.NET Import
statementsThe declarations apply to:
Page Tree | ||||
---|---|---|---|---|
|
When using external DLLs it is common to add the namespaces of the DLL on your code.
In C#, we refer to that as using, which is equivalent to the VB.NET Import.
Due some optimizations in our Code Editor, you can't add those namespaces directly in the code; you need to use the Add Namespaces button on the top toolbar.
Use this Toolbar command to open the "Namespace Declarations" where you can your namespaces references, whatever you using C# or VB.NET language.
Warning |
---|
Keeping the Using or Import statement in the code will generate a compilation error. |
In this section:
Page Tree | ||||
---|---|---|---|---|
|