private SystemRecycledListener bootstrap(EngineMode mode)
        {
            var listener = new SystemRecycledListener(_messaging);

            copyStorytellerAssemblyIfNecessary();

            _domain = AppDomain.CreateDomain("Storyteller-SpecRunning-Domain", null, _remoteSetup.Setup);


            try
            {
                Type proxyType = typeof(RemoteProxy);
                _proxy = (RemoteProxy)_domain.CreateInstanceAndUnwrap(proxyType.Assembly.FullName, proxyType.FullName);

                _messaging.AddListener(listener);
                _proxy.Start(mode, _project, new RemoteListener(_messaging));
            }
            catch (Exception)
            {
                ConsoleWriter.Write(ConsoleColor.Yellow, "Storyteller was unable to start an AppDomain for the specification project. Check that the project has already been compiled.");

                throw;
            }



            return(listener);
        }
Example #2
0
        private SystemRecycledListener bootstrap()
        {
            var listener = new SystemRecycledListener(Messaging);

            Messaging.AddListener(listener);

            _launcher.Start(this);

            return(listener);
        }