Esempio n. 1
0
        static void Main(string[] args)
        {
            if (ConfigurationManager.ConnectionStrings["umbracoDbDSN"] == null)
            {
                var path = new FileInfo(Assembly.GetExecutingAssembly().Location).Directory.FullName;

                var webConfigPath = Path.Combine(path, "..", "Web.config");

                var domain = AppDomain.CreateDomain(
                    "umbraco-domain",
                    AppDomain.CurrentDomain.Evidence,
                    new AppDomainSetup
                {
                    ConfigurationFile = webConfigPath
                });

                domain.AssemblyResolve += AssemblyResolveHacks;

                var assemblies = AppDomain.CurrentDomain.GetAssemblies();
                foreach (var assembly in assemblies)
                {
                    try
                    {
                        domain.Load(assembly.FullName);
                    }
                    catch (FileNotFoundException)
                    {
                        //Console.WriteLine("Failed to load {0}", assembly.FullName);
                    }
                }

                domain.SetData("DataDirectory", Path.Combine(path, "..", "App_Data"));
                domain.SetData(".appDomain", "From Domain");
                domain.SetData(".appId", "From Domain");
                Thread.GetDomain().SetData(".appDomain", "From Thread");
                Thread.GetDomain().SetData(".appId", "From Thread");

                var thisAssembly = new FileInfo(Assembly.GetExecutingAssembly().Location);
                domain.ExecuteAssembly(thisAssembly.FullName, args);
            }
            else
            {
                using (var host = new UmbracoHost(Console.In, Console.Out))
                {
                    UmbracoHost.Current = host;
                    if (args.Any())
                    {
                        host.Run(args).Wait();
                    }
                    else
                    {
                        host.Run().Wait();
                    }
                }
            }
        }
        public void CanParseCommands(string input, string[] expected)
        {
            var actual = UmbracoHost.ParseCommandline(input);

            Assert.Equal(expected, actual);
        }