Difference between revisions of "IS:.NET"

From Lavish Software Wiki
Jump to navigation Jump to search
Line 16: Line 16:
 
=== About Source Documentation ===
 
=== About Source Documentation ===
 
'''XML source documentation is provided wherever possible for all of our .NET assemblies. This means that documentation for any class or method is available directly through Visual Studio. This wiki may be outdated or may not provide complete documentation, so refer to the source documentation when possible.'''
 
'''XML source documentation is provided wherever possible for all of our .NET assemblies. This means that documentation for any class or method is available directly through Visual Studio. This wiki may be outdated or may not provide complete documentation, so refer to the source documentation when possible.'''
 +
 +
You may need to import Lavish.InnerSpace.XML and Lavish.LavishNav.XML (both in the main Inner Space folder) for Intellisense to include source documentation.
  
 
=== Concepts ===
 
=== Concepts ===

Revision as of 14:03, 6 April 2008

Overview

As of version 1.08 (released Nov 28, 2006), Inner Space supports loading .NET 2.0 assemblies in-process. .NET 3 and 3.5 assemblies are rumored to work, but this has not been officially tested, nor will it be officially described as such until the updated .NET leaves the beta stage.

Inner Space builds 4463 and later additionally support Just-in-Time compilation of source code, which adds transparency to the existing RunScript functionality. See DotNetScript for information on that functionality.

Executing an assembly

The DotNet command is used to launch assemblies, as well as list active application domains, and close them.

Application Domains

An application domain represents the logical separation of .NET "processes". Any number of assemblies can be loaded into a single application domain, and likewise into any number of additional application domains. Application domains are referenced by name, and there is no restriction on naming schemes. When loading an assembly, use an application domain name of your choice. If you want to load the application into the same domain as another, simply reuse the name. When the domain is unloaded, all assemblies in that domain are subsequently unloaded.

Assembly requirements

.NET assemblies must be signed and placed in the Global Assembly Cache to have permission to load. .NET assemblies do not have to be specially compiled for usage in Inner Space, unless the assembly needs to use Inner Space API.

Developing for Inner Space in .NET

About Source Documentation

XML source documentation is provided wherever possible for all of our .NET assemblies. This means that documentation for any class or method is available directly through Visual Studio. This wiki may be outdated or may not provide complete documentation, so refer to the source documentation when possible.

You may need to import Lavish.InnerSpace.XML and Lavish.LavishNav.XML (both in the main Inner Space folder) for Intellisense to include source documentation.

Concepts

API Tree

Only namespaces and static classes are listed below

Tutorials

  1. Creating a simple Hello World app
  2. Adding a LavishScript Command
  3. Attaching to LavishScript events
  4. Wrapping LavishScript objects in .NET

Samples

C#

Under construction...

C++

Under construction...

Visual Basic

Under construction...

Exposing API to .NET

Known Issues

  • System.Console.Write and friends do not yet filter through InnerSpace.Echo

See Also