CSharpTest.Net
AssemblyRunner Constructor
See Also  Example Send Feedback Download Help File
CSharpTest.Net.Library Assembly > CSharpTest.Net.Processes Namespace > AssemblyRunner Class : AssemblyRunner Constructor

executable

Glossary Item Box

Constructs the AppDomain for the given executable by using it's path for the base directory and configuraiton file.

Syntax

Visual Basic (Declaration) 
Public Function New( _
   ByVal executable As String _
)
C# 
public AssemblyRunner( 
   string executable
)

Parameters

executable

Example

Library/Library.Test/TestAssemblyRunner.cs

C#Copy Code
Environment.CurrentDirectory = Path.GetDirectoryName(FileUtils.FindFullPath("cmd.exe"));

using (AssemblyRunner runner = new AssemblyRunner(Exe))
{
    ManualResetEvent gotExit = new ManualResetEvent(false);
    runner.ProcessExited += delegate(Object o, ProcessExitedEventArgs e) { gotExit.Set(); };
    Assert.IsFalse(runner.IsRunning);
    runner.Kill(); // always safe to call

    runner.Start("-wait");
    Assert.IsTrue(runner.IsRunning);

    try //make sure we can't start twice.
    {
        runner.Start();
        Assert.Fail();
    }
    catch (InvalidOperationException)
    { }

    Assert.IsFalse(runner.WaitForExit(TimeSpan.FromSeconds(1), false));
    runner.Kill();
    Assert.IsFalse(runner.IsRunning);
    Assert.IsTrue(gotExit.WaitOne(30000, false));
}
VB.NETCopy Code
Environment.CurrentDirectory = Path.GetDirectoryName(FileUtils.FindFullPath("cmd.exe"))

Using runner As New AssemblyRunner(Exe)
    Dim gotExit As New ManualResetEvent(False)
    runner.ProcessExited += Function(o As [Object], e As ProcessExitedEventArgs) Do
        gotExit.[Set]()
    End Function
    Assert.IsFalse(runner.IsRunning)
    runner.Kill()
    ' always safe to call
    runner.Start("-wait")
    Assert.IsTrue(runner.IsRunning)

    Try
        'make sure we can't start twice.
        runner.Start()
        Assert.Fail()
    Catch generatedExceptionName As InvalidOperationException
    End Try

    Assert.IsFalse(runner.WaitForExit(TimeSpan.FromSeconds(1), False))
    runner.Kill()
    Assert.IsFalse(runner.IsRunning)
    Assert.IsTrue(gotExit.WaitOne(30000, False))
End Using

Requirements

Target Platforms: Windows XP, Windows Server 2003, Windows Vista, Windows Server 2008, Windows 7

See Also

Generated with Document! X 2011 by Innovasys