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 _
) |
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.NET | Copy 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