Table of Contents

Python and IronPython Script Execution and Debugging

Scripter contains components that implement python script compilation, execution, and debugging. These components are ScriptRun and ScriptDebugger for Python and ScriptRun and ScriptDebugger

These components are installed on the AlterNet Scripter.Python and AlterNet Scripter.IronPython tabs in Visual Studio.

Script execution is based on the Python.NET and IronPython open-source scripting engines, allowing Python programmers seamlessly integrate python code with the .NET framework. These engines support executing Python code and accessing .NET types and objects of the host application from the script.

ScriptRun and ScriptRun provides a very similar interface to .NET ScriptRun; the former uses Python to execute Python scripts, while the latter creates in-memory .NET assembly out of Python code.

ScriptRun and ScriptRun can execute single files, Python projects (which can be loaded/saved to a .pyproj file), or evaluate Python expressions.

The main difference between Python.NET and IronPython scripting engines is that Python.NET supports up to Python 3.7 language specification and can use most third-party libraries like NumPy or Pandas that rely on Python/Cython code. In comparison, IronPython supports up to Python 2.7 language specification. It also provides multi-threading script execution capabilities, unlike Python.NET, which can not execute scripts in multiple threads simultaneously.

ScriptDebugger and ScriptDebugger are based on Microsoft.Scripting debugging engine; they allow incorporating debugging logic in the same application and do not have a limitation of .NET debugger, which requires a debugger and script to be debugged running in the separate application processes. It has most of the functionality that the .NET Script debugger provides, except for multi-threaded debugging.

IronPythonDebugger