Skip to content

legendary-code/process-domain

Repository files navigation

ProcessDomain

ProcessDomain implements a remoting solution for creating out-of-process AppDomains. It's written in C# and the assemblies will work with .NET Framework 2.0. Some possible usages include:

  • Further code isolation
  • Allow for native code to run with different environment variables
  • Allow for multiple versions of a native library to be loaded without writing separate applications. E.g. A managed application that uses native database drivers, but needs to support loading multiple versions so that connectivity can occur for multiple versions of the database.

See the example project for some usages

Features

  • AppDomain-like semantics, so its usage is familiar and easy
  • Implements the IDisposable pattern
  • Event handlers for when the remote process exits or is restarted
  • Automatic restart of remote process supported
  • Remote process assembly is generated on-the-fly at runtime
  • Remote process' AppDomain is fully configurable and by default takes on the settings of the AppDomain creating the ProcessDomain

Installation

As of version 1.8, ProcessDomain will be available via NuGet as well: https://nuget.org/packages/ProcessDomain/1.8

Requirements

To Build Source

Visual Studio 2013 MSBuild Community Tasks 1.3

To Use Assemblies

.NET Framework 2.0

T Publish a Release to NuGet

Simply publish a GitHub Release with the next correct semantic version, and the GitHub Actions workflow will take of building the package and publishing it to NuGet.